;电路介绍:由于实验板只有4位数码显示器,因此规定个位、十位显示秒信号;百位、千位显示分信号;p0口;的前四位和后四位LED显示时信号。
; doudou1013 2003/7/30编写
xsdat bit p1.4
xsclk bit p1.5 ;74164的时钟
gw bit p1.0 ;个位显示控制脚
sw bit p1.1 ;十位
bw bit p1.2 ;百位
qw bit p1.3 ;千位
sjgw equ 79h ;显示数据存储器
sjsw equ 7Ah
sjbw equ 7Bh
sjqw equ 7Ch
sjww equ 7dh
ssww equ 7eh
ORG 0000H
START: AJMP MAIN
org 0bh
ajmp PIT0 ;转向中断服务程序
ORG 30H
MAIN: MOV SP,#60H ;初始化
mov p1,#0fh
mov p0,#0ffh
MOV R0,#79H
MOV R7,#06H
ML1: MOV @R0, #00H ;显示数据存储器清零
INC R0
DJNZ R7,ML1
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
SETB TR0
SETB EA
SETB ET0
MOV 30H,#14H
ML0: LCALL DISPLAY ;驱动4位共阴数码管
SJMP ML0
PIT0: PUSH PSW ;中断服务程序
PUSH ACC
SETB PSW.3
MOV TL0,#0B0H
MOV TH0,#3CH
MOV A,30H
DEC A
MOV 30H,A
JNZ RET0
MOV 30H,#14H
MOV R0,#7AH
ACALL DAAD1
MOV A,R2
XRL A,#60H
JNZ RET0
ACALL CLR0
MOV R0,#7CH
ACALL DAAD1
MOV A,R2
XRL A,#60H
JNZ RET0
ACALL CLR0
MOV R0,#7EH
ACALL DAAD1
MOV A,R2
XRL A,#24H
JNZ RET0
ACALL CLR0
LJMP MAIN
RET0: POP ACC ;中断返回
POP PSW
RETI
DAAD1: MOV A,@R0 ;加一程序
DEC R0
SWAP A
ORL A,@R0
ADD A,#01H
DA A
MOV R2,A
ANL A,#0FH
MOV @R0,A
MOV A,R2
INC R0
ANL A,#0F0H
SWAP A
MOV @R0,A
RET
CLR0: CLR A ;清零程序
MOV @R0,A
DEC R0
MOV @R0,A
RET
;****************************************
;显示部分
display: PUSH ACC ;保存ACC
push psw
clr rs1
setb rs0 ;使用第一区工作寄存器
mov dptr,#xstab
mov a,sjgw ;取得数据
movc a,@a+dptr ;提取字模
acall dsout ;调用送出子程序
clr gw
acall ds1ms ;调用显示1ms延时程序
setb gw
mov a,sjsw
movc a,@a+dptr ;提取字模
acall dsout ;送出
clr sw
acall ds1ms ;显示1ms
setb sw
mov a,sjbw
movc a,@a+dptr ;提取字模
acall dsout ;送出
clr bw
acall ds1ms ;显示1ms
setb bw
mov a,sjqw
movc a,@a+dptr ;提取字模
acall dsout ;送出
clr qw
acall ds1ms ;显示1ms
setb qw
mov r0,sjww
mov a,ssww
swap a
orl a,r0
cpl a
mov p0,a
pop psw
POP ACC ;出栈
ret ;返回调用
;---送出循环----------
dsout:
MOV R0,#8 ;传送一个字节8位
dSLOOP: RLC A ;右移
MOV xsdat,C ;送数据到数据口
SETB xsclk ;送一时钟
CLR xsclk
DJNZ R0,dSLOOP
RET
;---显示延时----------
ds1ms: mov r1,#10
ds1lo: mov r2,#100
djnz r2,$
djnz r1,ds1lo
ret ;延时返回
;************************************************************************
;显示字表(共阴)
xstab: DB 3FH,06H,5BH,4FH ;"0","1","2","3"
DB 66H,6DH,7DH,07H ;"4","5","6","7"
DB 7FH,6FH,77H,7cH ;"8","9","A","B"
DB 39H,5eh,79h,71h ;"C","D","E","F"
end
- 作者:ziqintian | 发布:2013年10月25日
- 分类:IT类别
- 标签:在MCS51,多功能实验板制作,电子钟,汇编代码
- 转载文章请注明:在MCS51多功能实验板制作电子钟(汇编代码) | 太极博弈原理官方站|紫欽天|融通百科为我所用|生活全智慧|生活智慧之书
文章是怎么写出来的?
好吧,我承认我想多了
大师受教了,缘来如此。。。
...也许网络安全产业以后会是
此法确实可靠吗?
hello!,I like y
I was suggested
Thanks , I've j