资源描述
单片机原理及应用实验,南京林业大学电工电子实验中心,时维铎,实验五:,电子钟,题目:,用,定时器产生时钟;串口,驱动,74LS164,,,74LS164,驱动静态共阴数码管显示,;,I/O,口管理键盘设置调整时间;定时器控制,喇叭报警。,要求:画出实验电路,编写实验程序,。,实验五:,电子钟参考电路,实验五:,电子钟,题目:,用,DS,1320,产生时钟;串口,驱动,74LS164,,,74LS164,驱动静态共阴数码管显示,;,I/O,口管理键盘设置调整时间;定时器控制,喇叭报警。,要求:画出实验电路,编写实验程序,。,实验五:,电子钟参考程序,主程序,ORG 0000H,LJMP MAIN,ORG 000BH,LJMP DSQ0,;,50ms,定时器,MAIN:MOV SP,#50H,MOV TMOD,#01H ;,设置,T0,为工作方式,1,MOV TH0,#3CH ;,设置,50ms,初值,MOV TL0,#0B0H,MOV 30H,#0 ;50ms,计数器清零,MOV 31H,#0 ;,秒计数器清零,MOV 32H,#0 ;,分计数器清零,MOV 33H,#0 ;,时计数器清零,MOV 20H,#0 ;,标志位,清零,实验五:,电子钟参考程序,主程序,SETB EA,SETB ET0 ;,开,T0,中断,SETB TR0,LOP1:JNB 00H,LOP2 ;,在运行状态转,CLR TR0 ;,在设置状态设置时间,LCALL KEY,NOP,LJMP LOP3,LOP2:SETB TR0,LOP3:SETB P2.0 ;,判运行,/,设置键,JB P2.0,LOP5,CPL 00H ;,运行,/,设置状态互换,LOP4:SETB P2.0 ;,等待键抬起。,JNB P2.0,LOP4,实验五:,电子钟参考程序,主程序,LOP5:NOP,LCALL ESZH ;,二十转换,NOP,LCALL DISP ;,显示,NOP,LCALL DELAY ;,延时,NOP,LJMP LOP1,实验五:,电子钟参考程序,DSQ1:PUSH ACC,MOV TH0,#3CH ;,重装,50ms,初值,MOV TL0,#0B0H,INC 30H ;50ms,计数器,+1,MOV A,30H,CJNZ A,#20,DSQ9;,到,1,秒吗?,MOV 30H,#0,INC 31H ;,秒计数器,+1,MOV A,31H,CJNZ A,#60,DSQ9 ;,到,1,分吗?,MOV 31H,#0,实验五:,电子钟参考程序,INC 32H ;,分计数器,+1,MOV A,32H,CJNZ A,#60,DSQ9 ;,到,60,分吗?,MOV 32H,#0,INC 33H ;,时计数器,+1,MOV A,33H,CJNZ A,#24,DSQ9 ;,到,1,天吗?,MOV 33H,#0,DSQ9:POP ACC,RETI,实验五:,电子钟参考程序,;,=,二,进制转换十进制子程序,=,ESZH,:,MOV A,31H,;取秒二进制数,MOV,B,#10,DIV AB,MOV 40H,B,;余数为秒个位数,MOV 41H,A,;商为秒十位数,MOV A,32H,;取分二进制数,MOV,B,#10,DIV AB,MOV 42H,B,;余数为分个位数,MOV 43H,A,;商为分十位数,MOV A,33H,;取时二进制数,MOV,B,#10,DIV AB,MOV 44H,B,;余数为时个位数,MOV 45H,A,;商为时十位数,RET,实验五:,电子钟参考程序,;,=,显示子程序,=,DISP:MOV DPTR,#TAB ;,取字形表地址,MOV R0,#45H,MOV R7,#6,DIS1:MOV A,R0 ;,取显示数据,MOVC A,A+DPTR ;,取显示数据的字形,MOV SBUF,A ;,串行输出,JNB TI,$;,状态查询,CLR TI ;,清发送中断标志,实验五:,电子钟参考程序,DEC R0,DJNZ R7,DIS1,RET,TAB:DB 0FCH,60H,0DAH ;0-2(,共阴,),DB 0F2H,66H,0B6H ;3-5(a b c d e f g,dp,),DB 0BEH,0E0H,0FEH ;6-8,DB 0F6H ;9-,实验五:,电子钟参考程序,;,=,键盘子程序,=,KEY:NOP,SETB P2.1 ;,按调整时键,JB P2.1,KEY1,INC 33H ;,时计数器,+1,MOV A,33H,CJNE A,#24,KEY9,MOV 33H,#0,LJMP KEY9,KEY1:SETB P2.2,;,按调整分键,JB P2.2,KEY2,INC 32H,实验五:,电子钟参考程序,MOV A,32H,;,分计数器,+1,CJNE A,#60,KEY9,MOV 32H,#0,LJMP KEY9,KEY2:SETB P2.3 ;,按调整秒键,JB P2.3,KEY9,INC 31H ;,秒计数器,+1,MOV A,31H,CJNE A,#60,KEY9,MOV 31H,#0,KEY9:NOP,RET,实验,五:,电子钟,参考程序,;,=,延时子程序,=,DELAY,:,MOV R6,,,#50,DELA1:MOV R7,#250,DELA2,:,NOP,DJNZ R7,,,DELA2,DJNZ R6,,,DELA1,RET,NOP,;,=,END,
展开阅读全文