《实验5:串行口、定时器、外中断综合应(电子钟)ppt课件.ppt》由会员分享,可在线阅读,更多相关《实验5:串行口、定时器、外中断综合应(电子钟)ppt课件.ppt(16页珍藏版)》请在三一办公上搜索。
1、单片机原理及应用实验,南京林业大学电工电子实验中心,时维铎,实验五:电子钟,题目:用定时器产生时钟;串口驱动74LS164, 74LS164驱动静态共阴数码管显示;I/O 口管理键盘设置调整时间;定时器控制 喇叭报警。,要求:画出实验电路,编写实验程序。,实验五:电子钟参考电路,实验五:电子钟,题目:用DS1320产生时钟;串口驱动74LS164, 74LS164驱动静态共阴数码管显示;I/O 口管理键盘设置调整时间;定时器控制 喇叭报警。,要求:画出实验电路,编写实验程序。,实验五:电子钟参考程序,主程序,ORG 0000H LJMP MAINORG 000BHLJMP DSQ0 ; 50m
2、s定时器MAIN: MOV SP,#50HMOV 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 LOP3LOP
3、2: SETB TR0LOP3: SETB P2.0 ;判运行/设置键 JB P2.0,LOP5 CPL 00H ;运行/设置状态互换LOP4: SETB P2.0 ;等待键抬起。 JNB P2.0,LOP4,实验五:电子钟参考程序,主程序,LOP5: NOP LCALL ESZH ;二十转换NOPLCALL DISP ;显示 NOPLCALL DELAY ;延时 NOP LJMP LOP1,实验五:电子钟参考程序,DSQ1: PUSH ACC MOV TH0,#3CH ;重装50ms初值 MOV TL0,#0B0H INC 30H ; 50ms计数器+1 MOV A,30H CJNZ A,#
4、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,#0DSQ9: POP ACC RETI,实验五:电子钟参考程序,; = 二进制转换十进制子程序 =ESZH: MOV A,31H ;取秒二进制数 MOV B,#10
5、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,#6DIS1: MOV A,R0 ;取显示数据 MOVC A,A+DPTR
6、;取显示数据的字形 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,K
7、EY9 MOV 33H,#0 LJMP KEY9KEY1: SETB P2.2 ;按调整分键 JB P2.2,KEY2 INC 32H,实验五:电子钟参考程序,MOV A,32H ;分计数器+1 CJNE A,#60,KEY9 MOV 32H,#0 LJMP KEY9KEY2: SETB P2.3 ;按调整秒键 JB P2.3,KEY9 INC 31H ;秒计数器+1 MOV A,31H CJNE A,#60,KEY9 MOV 31H,#0KEY9: NOP RET,实验五:电子钟参考程序,;= 延时子程序 =DELAY:MOV R6,#50DELA1: MOV R7, #250DELA2:NOP DJNZ R7,DELA2 DJNZ R6,DELA1 RET NOP ;= END,