单片机课程设计——00-59秒计时器(利用软件延时).doc下载

weixin_39821260 2021-09-25 09:59:26
单片机课程设计,包含电路图,汇编和C语言 , 相关下载链接:https://download.csdn.net/download/dwf1354046363/23785019?utm_source=bbsseo
...全文
8 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
秒表设计 学院 土木工程 班级 交运021 设计人 张志东 __ 成绩 __ 1. 设计目的 (1)培养学生综合利用MCS- 51单片机的软硬件知识进行程序设计的能力,解决一些实际问题。 (2)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。 (2)提高学生建立程序文档、归纳总结的能力。 2. 总体设计 1. 所能实现的功能: 1. 计,计数值最大为99分59秒99; 2. 停止或继续; 3. 清零。 2. 总体设计方案:用LED数码管显示计间,显示的间应有百分之一秒位、十分 之一秒位、秒个位、秒十位、分个位、分十位;利用单片机的外中断,某键为低 产生中断开始计,再一次为低产生中断停止计;另一键为低产生中断 使间清0。 3. 硬件系统设计 1. 所需设备:DICE- 5013S实验系统一个,并行接口8155一个,PC微机(P4)一台。 2. 接线设计: 1. 将P1.2(X3)接到按钮开关1上,作为STOP中断; 2. 外部中断0的引脚INT0(X15)接按钮开关2,作为CLEAR中断。 4. 软件系统设计 1. 软件功能模块设计及流程图 先利用中断产生百分之一秒基,将百分之一秒位、十分之一秒位、秒个位 、秒十位、分个位、分十位分别存于片内RAM地址79H,7AH,7BH,7CH,7DH,7EH中, 再由主程序显示程序将其显示在LED显示器上;开始/继续通过STOP中断对P1.2进 行取反,然后在计中断中对输入口P1.2的位进行判断来实现;清零通过在清零 中断中设置各位初值来实现。 主流程图: Y N Y N Y N 计中断程序流程图: N Y N Y N Y 2.程序清单和注释 ORG 0000H AJMP MAIN ORG 0003H AJMP CLEAR ;清零中断 ORG 000BH AJMP START ;计中断 ORG 0013H AJMP STOP ;停止中断 MAIN: MOV TMOD,#01H ;T/C0工作方式为方式0 MOV IE, #87H ;开启INT0 中断 MOV TL0, #78H ;置T/C0初值(216- 10000/2=EC78H) MOV TH0, #0ECH 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.2 SHOW: MOV SP,#5FH ;显示程序 MOV A,#03H MOV DPTR,#0FF20H ;设置8155初始化 MOVX @DPTR,A DISP4: MOV R5,#01H MOV R0,#79H MOV A,R5 LD0: MOV DPTR,#0FF21H ;字位码送8155A口 MOVX @DPTR,A MOV DPTR,#0FF22H MOV A,@R0 ADD A,#0EH MOVC A,@A+PC ;查字形表 MOVX @DPTR,A ;字型码送8155B口 ACALL DLAY ;1MS INC R0 MOV A,R5 JB ACC.5,LD1 RL A MOV R5,A AJMP LD0 LD1: 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 0C8H,0C1H,7FH,0BFH DLAY: MOV R7,#02H ;1MS DL1: MOV R6,#0FFH DL2: 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 79H, B ;存1/100秒位 MOV 7AH, A ;存1/10秒位 CJNE R2, #100, NEXT ;1/100秒到100则秒加一 MOV R2, #00H MOV 79H, #00H MOV 7AH, #00H INC R3 MOV A, R3 MOV B, #10 DIV AB MOV 7BH, B ;存秒位 MOV 7CH, A ;存
电子秒表 理学院 物理021班 客建红 学号:020032 一、总体设计 1 实现功能: 本试验设计的是一个秒表,计数值最大为99分59秒99。按下按钮启动,开 始计;再次按下按钮后停止计。按下另一个按钮,秒表清零。 2 解决方案: 用LED数码管显示计间,显示的间应有百分之一秒位、十分之一秒 位、秒个位、秒十位、分个位、分十位;利用单片机的外中断,某键为低产生中段开 始计,再一次为低产生中断停止计;另一键为低产生中断使间清零。 二、硬件系统设计 1 所需设备: DICE-5013S实验系统一个,并行接口8155一个,PC微机(P4)一台。 2 接线方式: 将P1.2接到按钮开关1上,作为一个停止或开始计的中断; 外部中断0的引脚INT0接按钮开关2,作为清零中断。 3 资源分配: 用定器0产生一个百分之一秒的计中断。 3. 硬件系统设计 1 功能模块: 显示模块用来显示秒表计间,循环模块用来判断是否百分秒位已到100,秒位已 到60,分位已到100,来控制进位。设置初值模块来设置初值。清零模块将 清零。 2 (1)主程序流程图: N Y (2)计中断程序流程图: N Y N Y N Y N Y 四、程序清单 ORG 0000H AJMP MAIN ORG 0003H AJMP CLEAR ;清零中断 ORG 000BH AJMP JISHI ;计中断 ORG 0013H AJMP STOP ;停止中断 MAIN: MOV TMOD,#01H ;T/C0工作方式为方式1 MOV IE, #87H MOV TL0, #78H ;置T/C0初值(216- 10000/2=0EC78H) MOV TH0, #0ECH 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.2 DISP: MOV SP,#5FH ;显示 MOV A,#03H ;对8155初始化,A口、B口输出,C口输入 MOV DPTR,#0FF20H MOVX @DPTR,A DISP4: MOV R5,#01H ;置字位码初值 MOV R0,#79H ;显示缓冲区指针初值 MOV A,R5 LD0: MOV DPTR,#0FF21H ;字位码送8155A口 MOVX @DPTR,A MOV DPTR,#0FF22H MOV A,@R0 ADD A,#0EH MOVC A,@A+PC ;查字型码 MOVX @DPTR,A ;字型码送8155B口 ACALL DLAY ;1MS INC R0 MOV A,R5 JB ACC.5,LD1 RL A MOV R5,A AJMP LD0 LD1: 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 0C8H,0C1H,7FH,0BFH DLAY: MOV R7,#02H ;子程序 DL1: MOV R6,#0FFH DL2: DJNZ R6,DL2 DJNZ R7,DL1 RET JISHI: 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 79H, B ;存1/100秒位 MOV 7AH, A ;存1/10秒位 CJNE R2, #100, NEXT ;1/100秒到100则秒加一 MOV R2, #00H MOV 79H, #00H MOV 7AH, #00H INC R3 MOV A, R3 MOV B, #10 DIV AB MOV 7BH, B ;存秒位 MOV 7CH, A ;存十秒位 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 7DH, B ;存分位 MOV 7EH, A ;存十分位 CJNE R4, #100,

13,021

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧