好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机电子秒表程序.doc

6页
  • 卖家[上传人]:20****03
  • 文档编号:170898647
  • 上传时间:2021-03-04
  • 文档格式:DOC
  • 文档大小:32KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单片机电子秒表程序MB EQU 40H ;跑表数值PB EQU 50H ;秒表数值单元;-------------------------;定义中断和主程序存储单元;-------------------------ORG 0000HAJMP MAINORG 000BH ;T0中断地址AJMP TIME0ORG 001BH ;T1中断地址AJMP TIME1ORG 0030H;-------------------------;主程序;-------------------------MAIN: MOV TMOD,#11H ;置定时器T0为工作方式1 QJ: LCALL JP ;采键 JZ QJ JB ACC.0,STA1 ;K1键按下,则跳到STA1执行跑表功能 JB ACC.3,STA2 ;K4键按下,则跳到STA2执行分钟显示功能 SJMP QJ;-------------------------;跑表程序;-------------------------STA1: MOV R0,#MB ;计时器清零 MOV A, #00HCLR1: MOV @R0, A INC R0 CJNE R0,#49H,CLR1 SETB EA ;CPU开中断GO: SETB ET0 ;定时器T0开中断 SETB TR0 ;启动定时器T0DISP1: MOV R0,#MB ;R0指向40H单元 CALL JP ;采集键盘的状态 JB ACC.1,STOP ;K2键按下,则暂停跑表功能 JB ACC.0,STA1 ;K1键按下,则跳到STA1执行跑表功能 JB ACC.3,GO ;K3键按下,则继续执行跑表功能 JB ACC.2,DISP2 ;K4键按下,则跳到STA2执行分钟显示功能 CALL SEL5 CALL AA CALL SEL4 INC R0 ;R0指向41H单元 CALL AA CALL SEL3 INC R0 ;R0指向42H单元 CALL BB CALL SEL2 INC R0 ;R0指向43H单元 CALL AA SJMP DISP1STOP: CLR ET0 ;关闭定时器TO的中断 SJMP DISP1;-------------------------;秒表程序;-------------------------STA2: MOV R1,#PB ;计时器清零 MOV A, #00HCLR2: MOV @R1, A INC R1 CJNE R1,#59H,CLR2 SETB EA ;CPU开中断 SETB TR1 ;启动定时器T1 SETB ET1 ;定时器T1开中断DISP2: MOV R1,#PB+2 ;R1指向52H单元 CALL JP ;采集键盘的状态 JB ACC.0,STA1 ;K1键按下,则跳到STA1执行跑表功能 AJMP XIANSHI ;否则显示秒表A0: CALL JP JZ A0 JB ACC.0,A00 JB ACC.1,A01 AJMP LED0 A00: INC 52H AJMP LED0 A01: DEC 52H LED0:LCALL SEL5 MOV @R1,52H LCALL AA1 AJMP A0XIANSHI: CALL SEL5 CALL AA1 CALL SEL4 INC R1 ;R1指向53H单元 CALL AA1 CALL SEL3 INC R1 ;R1指向54H单元 CALL BB1 CALL SEL2 INC R1 ;R1指向55H单元 CALL AA1 AJMP DISP2AA: MOV P0,#00H ;关显示 CALL DELAY1 ;延时5MS MOV A,@R0 ;把RO指向的地址单元的内容送给A MOV DPTR,#TAB1 ;DPTR指向表TAB1的首地址 MOVC A,@A+DPTR ;取出表中对应的字型送给A寄存器 MOV P0,A ;将字型送P0口显示 CALL DELAY ;延时1MS RET;-------------------------;显示子程序;-------------------------AA1: MOV P0,#00H ;关显示 CALL DELAY1 ;延时5MS MOV A,@R1 ;把R1指向的地址单元的内容送给A寄存器 MOV DPTR,#TAB1 ;DPTR指向表TAB1的首地址 MOVC A,@A+DPTR ;取出表中对应的字型送给A寄存器 MOV P0,A ;将字型送P0口显示 CALL DELAY ;延时1MS RETBB: MOV P0,#00H ;关显示 CALL DELAY1 ;延时5MS MOV A,@R0 ;把RO指向的地址单元的内容送给A MOV DPTR,#TAB2 ;DPTR指向表TAB2的首地址 MOVC A,@A+DPTR ;取出表中对应的字型送给A寄存器 MOV P0,A ;将字型送P0口显示 CALL DELAY ;延时1MS RETBB1: MOV P0,#00H ;关显示 CALL DELAY1 ;延时5MS MOV A,@R1 ;把R1指向的地址单元的内容送给A寄存器 MOV DPTR,#TAB2 ;DPTR指向表TAB2的首地址 MOVC A,@A+DPTR ;取出表中对应的字型送给A寄存器 MOV P0,A ;将字型送P0口显示 CALL DELAY ;延时1MS RET;-------------------------;键采集程序;-------------------------JP: MOV P0,#00H ;关显示 CALL SEL8 ;打开三态门 MOV P1,#0FFH ;置P1口为输入口 MOV A,P1 ;采集键盘的状态 CALL SEL7 ;关闭三态门 CPL A ANL A,#0FH RET;-------------------------;定时中断0控制跑表程序;------------------------- TIME0:PUSH ACC ;保护A寄存器 MOV TH0,#3CH ;重置定时器TO的初值10MS MOV TL0,#0AFH INC MB ;10MS计数器加1,存放到40H单元中 MOV A,MB CJNE A,#6,TEND ;10MS计数器的值不等于10, ; 即不到100MS,则跳到TEND中断返回 MOV MB,#00H ;10MS计数器清零 INC MB+1 ;100MS计数器加1,存放到41H单元中 MOV A,MB+1 CJNE A,#6,TEND ;100MS计数器的值不等于10, ; 即不到1S,则跳到TEND中断。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.