资源描述
单片机课程设计
一、题目:模拟时钟一、实验内容:从键盘上输入时间初值用定时器产生0.1s定时中断
对时钟计数器计数,并将数值定时送数显管显示。
三、流程定时中断
退栈返回
四:程序清单:
ORG0030G
CHKOO:MOV SP,#60HLCALL LEDP
MOV DPTR,#CLOCKMOV R0,DPL
MOVR1,DPHMOV DPTR,#00BH
MOV A,02HMOVX@DPTR,A
INC DOTRMOV A,RO
MOVX @DPTR,R0CHKO: LCALL LCKO
LCALLPTDSOMOV TMOD,#()1H
ORL IE,#82HMOV TL0,#0B7H
MOV THO,#3CHMOV 23H,#00H
SETB TROLOO5: LACLL DIS
LCALLPTRSOSJMP LOO5
PTDSO:MOV R0,#79HMOV A,22H
ACALLPTRDSMOVA,21H
ACALLPTDSMOV A,20H
ACALL PTDSRELPTDS: MOVRkA
ACALL PTDS1MOV A,R1
SWAP APTDS1:ANLA,@OFH
MOV @R(),A
INC RO
RELCLOCK:MOVTLO,#OB
7H
MOV TH0,#3CHPUSH PSW
PUSH ACCSETB OD3HINC 23H
MOV A,23HCJNE ,@OAH,DONE
MOV 23H,#00HMOV A,22H
INCADA
MOV 22H,ACJNE A,#60H,DONE
MOV 22H ,00HMOV A,21H
INCADA A
MOV21H,ACJNE A,#60H,DONE
MOV21H,#OOHMOV A,20H
INCADA A
MOV 20HINCA
DA AMOV 20H,A
CJNE A,#24H.DONEMOV 20H,#00H
DONE:POPACCPOP PSW
RET1ORG OD59H
SSEE:SETB RSIMOV R5,#05H
SSE2:MOV 30H,#20HMOV31H,#7EH
MOV R7,#06HSSE1:MOVR1,#()DDH
MOV A,30HMOVX@R1,A
MOV R0,31HMOV A,@R0
MOV DPTR,#DDFF MOVCA,@A+DPTRMOVR1,#ODCH
MOVX@RI,AMOV A,30H
RRAMOV 30H,A
DEC31HMOV A ,#()FFH
MOVX#R1,ADJNZ R7,SSE1
DJNZ R5,SSE2CLR RSI
RETDDFF:DB
()C0H,0F9H,0A4H,()B0H ,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0AIH,86
H,8EH,0FFH,0CH,89H,0DEH
ORG 038EHX3: MOV R4,A
MOV R0,#5HMOV A,@R0
MOV R LAMOV A,R4
MOV @R1,ACLR A
POP DPHPOP DPL
MOVCA,@A+DPTRINC DPTR
CJNEA,01H,X30dec rl
clr aMOVC A,@A+DPTR
X31: MOV @R0,AINC DRTR
PUSH DPLPUSH DPH
RE1X30: DECR1
MOV A,R1SJMP X31
X2: MOV R6,#50H XO: ACALL XLE JNB ACC.5,XX0 DJNZ R6 ,X0 MOV R6,#20H MOV R(),#5()H MOV A,@R0 MOV R7,A MOV A,@R0 MOV R7,A MOV A,# 1 OH MOV @R0,A XI: ACALL XLE JNB ACC.5XXL DJNZ R6,X1MOV A,R7
MOV A, R7MOV @R(),A
SJMBXX1:MOV R6,A
MOV A,R7MOV @RO,A
MOV A,R6XX0:RET
XLE:ACALL DISACALLKEY
MOV R4,AMOVR1,#48H
MOVA,@R1MOV R2,A
INCR1MOVA,@R1
MOV R2,AINCR1
MOV A,@R1MOV R3,04H
MOV R4,02HJZX1O
MOV R2,#88HMOV R4,#88H X10:DEC R4
MOV A,#82HJZX11
MOV A,R4XRLA,#0EH
JZX11MOV A,R4
五、附录: 自写程序ORG 0030G
CHKOO:MOV SP,#60HLCALLLEDP
MOV DPTR,#CLOCKMOV R0,DPL
MOVR1,DPHMOV DPTR,#00BH
MOV A,02H MOVX@DPTR,AINC DOTR
MOV A,RO MOVX@DPTR,A CHKO: LCALL LCKO LCALLPTDSOMOV TMOD,#()1H
ORL IE,#82HMOV TL0,#0B7H
MOV THO,#3CHMOV 23H,#00H
SETB TROLOO5: LACLL DIS
LCALL PTRSOSJMP LOO5
PTDSO:MOV R0,#79HMOV A,22H
ACALLPTRDSMOV A,21H
ACALLPTDSMOV A,20H
ACALLPTDSREL
PTDS: MOVR1,AACALLPTDS1
MOVA,R1SWAP A
PTDS1:ANLA,@OFHMOV @R0,A
INC ROREL
CLOCK:MOVTLO,#OB7H
MOV TH0,#3CHPUSH PSW
PUSH ACC
附录:根据以上程序,1秒定时时钟程序;本程序tl为8位自动重载方式,其 计数值为201I;t0时间为10ms, tO为10位内定时;其初值设定方式为:
MOV TL1, #236 ;M=256, N=20, TC5-N=236
MOV TH1, #236;定时器初值:TO65536-10000=45536;
MOV DPTR, #45536;MOV TLO, DPL;
MOV THO, DPH;
六.白编程序.
'学生们自己设计条件编写一段小子程序。
七:实验总结
通过为期一周的单片机实验,使学生理清时钟设计的思路,更坚定对单片机 设计的信心;就本次程序作一个粗略的概述:
本次单片机时钟模拟实验包括:起始汇编与定义语句,主程序,定时中断程序, 显示程序:
a:起始汇编与定义语句包括主程序,中断入口地址.
b:主程序包括显示初值,定时/计数器初始化,中断初始化.
展开阅读全文