秒表单片机课程设计

发布时间 : 星期二 文章秒表单片机课程设计更新完毕开始阅读

开始 定时中断服务器程序入口 1MS位加一 判断1MS位是否满10 1MS位清零,10MS位加一 判断10MS位是否满10 10MS位清零,100MS位加一 判断100MS位是否满10 100MS位清零,1S位加一 判断10S位是否满10

- 13 -

10S位清零 中断返回 结束

图 3.2

按键扫描部分流程图:

按键K0的扫描流程图如下,单片机在工作的过程中部端的对按键K1经行扫描,一旦发现K1按下,就开始作出一系列的连续反应。按键K2的扫描方法与按键K1的方法相似,单片机中一个储存单元记录K1的按下的此时,K2对秒表状态进行调整。

3.4 课程设计各部分程序介绍

//采用LED软件译码动态显示程序。 //使用AT 89C51RC单片机,12MHz晶振。

//按一下秒表开始计时,按第二下秒表停止计时保持动态数码管显示的值,按第三下秒表归零。 汇编源程序

ORG 00H AJMP MAIN ORG 0BH AJMP T0_SRV ORG 30H

MAIN:

MOV SP,#80H

- 14 -

MOV TMOD,#1 MOV TH0,#0D8H

MOV TL0,#0F0H ;10MS 中断一次 MOV DPTR,#TAB SETB EA LOOP:

LOOP2:

SETB ET0 MOV P0,#0 MOV P2,#0 MOV 30H,#0 MOV 31H,#0 MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 MOV 43H,#0

CALL DISP JB P3.3,LOOP LCALL JB P3.3,MAIN JNB P3.3,$ ; SETB TR0

CALL DISP JB P3.3,LOOP2 LCALL JB P3.3,LOOP2

JNB P3.3,$ ; CLR TR0

DELAY 等待开始 DELAY 等待开始 - 15 -

LOOP3:

LCALL DISP JB P3.3,LOOP3 LCALL DELAY JB P3.3,LOOP3

T0_SRV:

NEXT1:

JNB P3.3,$ ; SJMP MAIN

MOV TH0,#0D8H

MOV TL0,#0F0H ;10MS INC 30H MOV A,30H CJNE MOV 30H,#0 INC 31H MOV A,31H CJNE A,#100,NEXT1 MOV 31H,#0

MOV A,30H MOV B,#10 DIV AB MOV 40H,B MOV 41H,A MOV A,31H MOV B,#10 DIV AB MOV 42H,B

等待开始 中断一次 A,#100,NEXT1 - 16 -

联系合同范文客服:xxxxx#qq.com(#替换为@)