闹钟单片机课程设计.docx
- 文档编号:2788626
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:16.70KB
闹钟单片机课程设计.docx
《闹钟单片机课程设计.docx》由会员分享,可在线阅读,更多相关《闹钟单片机课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
闹钟单片机课程设计
ORG0000H
AJMPMAIN
ORG000BH
AJMPITOP
ORG001BH
AJMPIT1P
ORG0100H
KEY:
OUTBITequ08002h;位控制口
OUTSEGequ08004h;段控制口
INequ08001h;键盘读入口
LEDBufequ60h;显示缓冲
ljmpStart
LEDMAP:
;八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
Delay:
;延时子程序
movr7,#0
DelayLoop:
djnzr7,DelayLoop
djnzr6,DelayLoop
ret
DisplayLED:
movr0,#LEDBuf
movr1,#6;共6个八段管
movr2,#00100000b;从左边开始显示
Loop:
movdptr,#OUTBIT
mova,#0
movx@dptr,a;关所有八段管
mova,@r0
movdptr,#OUTSEG
movx@dptr,a
movdptr,#OUTBIT
mova,r2
movx@dptr,a;显示一位八段管
movr6,#1
callDelay
mova,r2;显示下一位
rra
movr2,a
incr0
djnzr1,Loop
ret
TestKey:
movdptr,#OUTBIT
mova,#0
movx@dptr,a;输出线置为0
movdptr,#IN
movxa,@dptr;读入键状态
cpla
anla,#0fh;高四位不用
ret
KeyTable:
;键码定义
db16h,15h,14h,0ffh
db13h,12h,11h,10h
db0dh,0ch,0bh,0ah
db0eh,03h,06h,09h
db0fh,02h,05h,08h
db00h,01h,04h,07h
GetKey:
movdptr,#OUTBIT
movP2,dph
movr0,#Low(IN)
movr1,#00100000b
movr2,#6
KLoop:
mova,r1;找出键所在列
cpla
movx@dptr,a
cpla
rra
movr1,a;下一列
movxa,@r0
cpla
anla,#0fh
jnzGoon1;该列有键入
djnzr2,KLoop
movr2,#0ffh;没有键按下,返回0ffh
sjmpExit
Goon1:
movr1,a;键值=列X4+行
mova,r2
deca
rla
rla
movr2,a;r2=(r2-1)*4
mova,r1;r1中为读入的行值
movr1,#4
LoopC:
rrca;移位找出所在行
jcExit
incr2;r2=r2+行值
djnzr1,LoopC
Exit:
mova,r2;取出键码
movdptr,#KeyTable
movca,@a+dptr
movr2,a
mova,20h
cjnea,#06h,n5
mov21h,r2
incr5
deca
mov20h,a
ajmpWaitRelease
n5:
cjnea,#05h,n4
mov22h,r2
deca
mov20h,a
ajmpWaitRelease
n4:
cjnea,#04h,n3
mov23h,r2
deca
mov20h,a
ajmpWaitRelease
n3:
cjnea,#03h,n2
mov24h,r2
deca
mov20h,a
ajmpWaitRelease
n2:
cjnea,#02h,n1
mov25h,r2
deca
mov20h,a
ajmpWaitRelease
n1:
cjnea,#01h,n0
mov26h,r2
deca
mov20h,a
ajmpWaitRelease
n0:
cjnea,#00h,WaitRelease
cjner4,#00h,nn
ajmpAL
nn:
ajmpTIM
WaitRelease:
movdptr,#OUTBIT;等键释放
clra
movx@dptr,a
movr6,#10
callDelay
callTestKey
jnzWaitRelease
mova,r2
ret
Start:
movsp,#50h
mov20h,#06h
movLEDBuf+0,#0ffh;显示8.8.8.8.
movLEDBuf+1,#0ffh
movLEDBuf+2,#0ffh
movLEDBuf+3,#0ffh
movLEDBuf+4,#0ffh
movLEDBuf+5,#0ffh
MLoop:
callDisplayLED;显示
callTestKey;有键入?
jzMLoop;无键入,继续显示
callGetKey;读入键码
anla,#0fh;显示键码
movdptr,#LEDMap
movca,@a+dptr
movr5,20h
cjner5,#05h,k4
movLEDBuf+0,a
ljmpMLoop
k4:
cjner5,#04h,k3
movLEDBuf+1,a
ljmpMLoop
k3:
cjner5,#03h,k2
movLEDBuf+2,a
ljmpMLoop
k2:
cjner5,#02h,k1
movLEDBuf+3,a
ljmpMLoop
k1:
cjner5,#01h,k0
movLEDBuf+4,a
ljmpMLoop
k0:
movLEDBuf+5,a
ljmpMLoop
TIME_S:
MOVA,21H;49H=21H*10+22H
MOVB,#10H
MULAB
ADDA,22H
MOV49H,A
MOVA,23H;48H=23H*10+24H
MOVB,#10H
MULAB
ADDA,24H
MOV48H,A
MOVA,25H;47H=25H*10+26H
MOVB,#10H
MULAB
ADDA,26H
MOV47H,A
MOVTMOD,#01H;设置定时中断
MOV70H,#0AH
SETBET0
SETBEA
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
HERE:
MOVR0,#47H
MOVR1,#46H
TIME:
MOVA,@R0;将时分秒以拆成个位数分别放于46H,45H,44H,43H,42H,41H
MOVB,#10H
DIVAB
MOV@R1,B
DECR1
MOV@R1,A
INCR0
DECR1
CJNER1,#40H,TIME
MOVR2,#15H;r2偏移量
MOVR0,#46H;r0存放段码
MOVR1,#01H;r1存放位选码
HEL1:
MOVDPH,#80H
MOVDPL,#04H
MOVA,@R0
ADDA,R2
MOVCA,@A+PC
MOVX@DPTR,A
MOVDPH,#80H
MOVDPL,#02H
MOVA,R1
MOVX@DPTR,A
ACALLDL0
MOVA,R1
RLA
MOVR1,A
DECR0
CJNER0,#40H,HEL1
AJMPCP
RET
SEGTAN:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
DL0:
MOVR5,#01H;延时
DL10:
MOVR7,#01AH
DL:
MOVR6,#0FH
DL6:
DJNZR6,DL6
DJNZR7,DL
DJNZR5,DL10
RET
ITOP:
PUSHPSW;定时中断
PUSHACC
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZ70H,RETURN
MOV70H,#0AH
MOVA,#01H
ADDA,47H
DAA
MOV47H,A
CJNEA,#60H,RETURN;SECOND
MOV47H,#00H
MOVA,#01H
ADDA,48H
DAA
MOV48H,A
CJNEA,#60H,RETURN;MIN
MOV48H,#00H
MOVA,#01H
ADDA,49H
DAA
MOV49H,A
CJNEA,#24H,RETURN;HOUR
MOV49H,#00H
RETURN:
POPACC
POPPSW
RETI
ALARM:
MOVA,21H;49H=21H*10+22H
MOVB,#10H
MULAB
ADDA,22H
MOV4CH,A
MOVA,23H;48H=23H*10+24H
MOVB,#10H
MULAB
ADDA,24H
MOV4BH,A
MOVA,25H;47H=25H*10+26H
MOVB,#10H
MULAB
ADDA,26H
MOV4AH,A
RET
COP:
MOVA,49H
CJNEA,4CH,NO
MOVA,48H
CJNEA,4BH,NO
MOVA,47H
CJNEA,4AH,NO
MOVA,#00H
RET
NO:
MOVA,#01H
RET
MUSIC:
PUSHPSW
PUSHACC
MOVTMOD,#11H
SETBET1
SETBEA
SETBTR1
;CLRTR0
MOV32H,#0FDH;1
MOV33H,#0C7H
MOVTH1,#0FDH
MOVTL1,#0C7H
LCALLDELAY100MS
CLRTR1
LCALLDELAY100MS
SETBTR1
CPLP3
MOV32H,#0FEH;4
MOV33H,#056H
MOVTH1,#0FEH
MOVTL1,#056H
LCALL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 闹钟 单片机 课程设计