《单片机 秒表计时器 课程设计8(5页).doc》由会员分享,可在线阅读,更多相关《单片机 秒表计时器 课程设计8(5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-一 设计题目:秒表计时器二 设计目的1 进一步加深对MCS-51单片机内部结构和程序设计方法的理解。2 提高综合运用MCS-51单片机的软硬件进行程序设计的能力。三 总体设计1 所能实现的功能:1) 计时,计时数值最大为99分59秒99;2) 停止或继续;3) 清零。2 总体设计方案:用LED数码管显示计时的时间,显示的时间应有百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位;利用单片机的外中断,某键为低时产生中断开始计时,再一次为低时产生中断停止计时;另一键为低时产生中断使时间清0。四 硬件系统设计1 所需设备:DICE-5013S实验系统一个,并行接口8155一个,PC微机(P
2、4)一台。2 接线设计:1) 将P1.2接到按钮开关1上,作为STOP中断;2) 外部中断0的引脚INT0接按钮开关2,作为CLEAR中断。五 软件系统设计1 软件功能模块设计及流程图先利用计时中断产生百分之一秒基时,将百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位分别存于片内RAM地址79H,7AH,7BH,7CH,7DH,7EH中,再由主程序显示程序将其显示在LED显示器上;开始/继续通过STOP中断对P1.2进行取反,然后在计时中断中对输入口P1.2的位进行判断来实现;清零通过在清零中断中设置各位初值来实现。开始设置系统初值显示有计时中断?有清零中断?有停止中断?处理计时中断
3、 中毒中断中断处理停止中断处理清零中断主流程图:YNYNYN计时中断程序流程图:设置计时初值P1.2为1百分之一秒加一存位1/100秒为100?秒加一分加一存位存位秒为60?分为100?各位重新清零中断返回NY NY NY电路图 :2.程序清单和注释 ;秒表计时源程序 ORG 0000H AJMP MAIN ORG 0003H AJMP CLEAR ;停止或开始计时 ORG 000BH AJMP START ;计时中断 ORG 0013H AJMP STOP ;清零中断 MAIN: MOV TMOD,#01H MOV IE, #87H MOV TL0, #78H MOV TH0, #0ECH
4、SETB TR0 SETB IT0 SETB IT1 MOV R4, #00H ;1/100秒置初值 MOV R3, #00H ;秒置初值 MOV R2, #00H ;分置初值 MOV 79H, #00H ;1/100秒位置初值 MOV 7AH, #00H ;1/10秒位置初值 MOV 7BH, #00H ;秒位置初值 MOV 7CH, #00H ;十秒位置初值 MOV 7DH, #00H ;分位置初值 MOV 7EH, #00H ;十分位置初值 SETB P1.2DISP: MOV SP,#5FH MOV A,#03H MOV DPTR,#0FF20H MOVX DPTR,ADISP4: M
5、OV R5,#01H MOV R0,#79H MOV A,R5LD0: MOV DPTR,#0FF21H MOVX DPTR,A MOV DPTR,#0FF22H MOV A,R0 ADD A,#0EH MOVC A,A+PC MOVX DPTR,A ACALL DLAY INC R0 MOV A,R5 JB ACC.5,LD1 RL A MOV R5,A AJMP LD0LD1: SJMP DISP4 DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6H DB 0A1H,86H,8EH,0FFH,0CH,89H DB
6、0C8H,0C1H,7FH,0BFHDLAY: MOV R7,#02HDL1: MOV R6,#0FFHDL2: DJNZ R6,DL2 DJNZ R7,DL1 RET START: MOV TL0, #78H MOV TH0, #0ECH PUSH ACC JNB P1.2,NEXT ;P1.2为0则返回不计时 INC R2 MOV A, R2 MOV B, #10 DIV AB MOV 7AH, A MOV 79H, B CJNE R2, #100, NEXT ;1/100秒到100则秒加一 MOV R2, #00H MOV 79H, #00H MOV 7AH, #00H INC R3 M
7、OV A, R3 MOV B, #10 DIV AB MOV 7CH, A MOV 7BH, B CJNE R3, #60, NEXT ;秒到60则分加一 MOV R3, #00H MOV 7BH, #00H MOV 7CH, #00H INC R4 MOV A, R4 MOV B, #10 DIV AB MOV 7EH, A MOV 7DH, B CJNE R4, #100, NEXT ;分到100则还原 MOV R4, #00H MOV 7DH, #00H MOV 7EH, #00H NEXT: POP ACC RETI CLEAR: MOV R2, #00H ;计时器清零 MOV R3, #00H MOV R4, #00H MOV 79H,#00H MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MOV 7DH,#00H MOV 7EH,#00H RETI STOP: CPL P1.2 ;停止或开始 RETI END六 调试:电路连接正确,运行成功后,获得老师通过。七 感受及评价:通过一周来的设计实习,我进一步加深对MCS-51单片机内部结构和程序设计方法的理解。虽然还存在很大不足,但我会继续努力,进一步提高实际能力。-第 5 页-
限制150内