时钟,秒表,流水灯的单片机汇编程序 - 深圳led背光源生产厂家,lcd显示屏,lcm液晶显示模块|模组厂-z6尊龙官网
  1. z6尊龙官网

    1. 
        •  深圳市z6尊龙官网产品分类列表

          联系我们

          公司名称:深圳市z6尊龙官网光电有限公司
          厂址:中国.广东省.深圳市宝安西乡臣田工业区

          营销专线
          吴先生 手机:13538278608
          胡先生 手机:13823360976
          固定电话 :86-0755-28246146/
          28246906/28246536/28247229
          电话传真:86-0755-89715671
          投诉与售后咨询 黄小姐:13823217679
          胡先生:13928021976

          Email:bly@tuanm9.com

          公司网址:https://www.tuanm9.com/

          时钟,秒表,流水灯的单片机汇编程序

          时钟,秒表,流水灯的单片机汇编程序

          //HJSMSY-V1.0单片机开发板测试程序

          //———————————————

          // <<电脑钟>>

          //———————————————

          //=======主函数==================================

          ORG 0000H

          LJMP MAIN

          ORG 000BH

          LJMP T00

          // ORG 001BH

          // LJMP T11

          ORG 0030H

          //=======程序初始化=============================

          MAIN:

          MOV TMOD,#11H

          MOV TH0,#3CH

          MOV TL0,#0B0H

          MOV TH1,#0F0H

          MOV TL1,#0B0H

          SETB EA

          SETB ET0

          // SETB ET1

          SETB TR0

          // SETB TR1

          CLR P3.4

          MOV R7,#00H ;秒值

          MOV 30H,#00H ;秒个位值

          MOV 31H,#00H ;秒十位值

          MOV 32H,#00H ;分个位

          MOV 33H,#00H ;分十位

          MOV 34H,#00H ;时个位

          MOV 35H,#00H ;时十位

          MOV 44H,#00H ;秒表毫秒十位

          MOV 45H,#00H ;秒表秒毫秒百位

          MOV 46H,#00H ;秒表秒个位

          MOV 47H,#00H ;秒表秒十位

          MOV 48H,#00H ;秒表分个位

          MOV 49H,#00H ;秒表分十位

          MOV P2,#0F0H ;P2口按键初始化

          MOV 40H,#01H ;数码管休眠值 /流水灯/秒表开关数

          MOV 41H,#08H ;流水灯循环值

          MOV 42H,#00H ;秒表暂停

          // ACALL T11

          //———————————————–

          MAIN1:

          MOV P0,#0FFH

          MOV P1,#0FFH

          MOV R0,40H

          CJNE R0,#01H,ACL1

          ACALL MAIN2 ;时钟显示

          ACL1:CJNE R0,#02H,ACL2

          ACALL MAIN3 ;秒表

          ACL2:CJNE R0,#03H,ACL3

          ACALL LED ;流水灯

          ACL3:ACALL KEY ;按键扫描

          // ACALL BAO ;定时报警

          LJMP MAIN1

          //=======报警子程序============================

          BAO:MOV R4,33H

          CJNE R4,#03H,YY1

          CLR P3.2

          ACALL KEY

          LJMP YY2

          YY1:CJNE R4,#05H,YY2

          SETB P3.2

          ACALL KEY

          YY2:RET

          //======时钟扫描子程序=======================

          MAIN2:

          MOV A,30H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.0

          ACALL DELAY

          MOV A,31H

          MOV DPTR,#TAB

          MOVC A,@A+ DPTR

          MOV P0,A

          CLR P1.1

          SETB P1.0

          ACALL DELAY

          MOV A,32H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.2

          SETB P1.1

          ACALL DELAY

          MOV A,33H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.3

          SETB P1.2

          ACALL DELAY

          MOV A,34H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.4

          SETB P1.3

          ACALL DELAY

          MOV A,35H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.5

          SETB P1.4

          ACALL DELAY

          MOV P0,#7FH

          MOV P1,#0EBH

          ACALL DELAY

          MOV P1,#0FFH

          RET

          //========秒表扫描子程序=========================

          MAIN3:

          MOV A,44H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.0

          ACALL DELAY

          MOV A,45H

          MOV DPTR,#TAB

          MOVC A,@A+ DPTR

          MOV P0,A

          CLR P1.1

          SETB P1.0

          ACALL DELAY

          MOV A,46H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.2

          SETB P1.1

          ACALL DELAY

          MOV A,47H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.3

          SETB P1.2

          ACALL DELAY

          MOV A,48H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.4

          SETB P1.3

          ACALL DELAY

          MOV A,49H

          MOV DPTR,#TAB

          MOVC A,@A+DPTR

          MOV P0,A

          CLR P1.5

          SETB P1.4

          ACALL DELAY

          MOV P0,#7FH

          MOV P1,#0EBH

          ACALL DELAY

          MOV P1,#0FFH

          RET

          //=======定时器T0中断服务========================

          T00:MOV TH0,#0D8H

          MOV TL0,#0F0H

          INC R7

          CJNE R7,#64H,AA

          MOV R7,#00H

          //——-时钟跑值——————————–

          TK1:INC 30H ;每秒钟秒个位增一

          MOV R6,30H

          CJNE R6,#0AH,AA

          MOV 30H,#00H

          TK2:INC 31H

          MOV R6,31H

          CJNE R6,#06H,AA

          MOV 31H,#00H

          TK3:INC 32H

          MOV R6,32H

          CJNE R6,#0AH,AA

          MOV 32H,#00H

          TK4:INC 33H

          MOV R6,33H

          CJNE R6,#06H,AA

          MOV 33H,#00H

          TK5:INC 34H

          MOV R5,34H

          MOV R6,35H

          CJNE R5,#04H,TK6

          CJNE R6,#02H,TK6

          MOV 34H,#00H

          MOV 35H,#00H

          TK6:CJNE R5,#0AH,AA

          MOV 34H,#00H

          INC 35H

          //——-秒表跑值———————-

          AA:

          MOV R5,42H

          CJNE R5,#01H,TK7

          INC 44H

          TK7:MOV R5,44H

          CJNE R5,#0AH,AA1

          MOV 44H,#00H

          INC 45H

          MOV R5,45H

          CJNE R5,#0AH,AA1

          MOV 45H,#00H

          INC 46H

          MOV R5,46H

          CJNE R5,#0AH,AA1

          MOV 46H,#00H

          INC 47H

          MOV R5,47H

          CJNE R5,#06H,AA1

          MOV 47H,#00H

          INC 48H

          MOV R5,48H

          CJNE R5,#0AH,AA1

          MOV 48H,#00H

          INC 49H

          MOV R5,49H

          CJNE R5,#06H,AA1

          MOV 49H,#00H

          AA1:RETI

          //====定时器T1中断服务子程序====================

          //T11:MOV TH1,#0F0H

          // MOV TL1,#0B0H

          // RETI

          //******定时时间调整子程序*************************//

          TBAO:

          MOV 50H,#00H

          MOV 51H,#00H

          MOV 52H,#00H

          MOV 53H,#00H

          MOV 54H,#00H

          MOV 55H,#00H

          MOV R3,50H

          DJNZ 30H,RET1

          RET1: RET

          //======键盘扫描子程序==========================

          KEY:MOV P2,#0F0H

          MOV R3,P2

          CJNE R3,#0F0H,KE0

          LJMP KK13

          KE0:CJNE R3,#0E0H,KE1 ;P2.4行

          MOV P2,#0EFH

          JB P2.3,KK1 //用作调定时时间 ;K13 秒个位增一

          ACALL DELAY1

          ACALL TK1

          KK1:JB P2.2,KK2 ;K14 秒十增一

          ACALL DELAY1

          ACALL TK2

          KK2:JB P2.1,KK3 ;K15 分个位增一

          ACALL DELAY1

          ACALL TK3

          KK3:JB P2.0,KE1 ;K16 分十位增一

          ACALL DELAY1

          ACALL TK4

          KE1:MOV P2,#0DFH ;P2.5行

          JB P2.3,KK4 ;K9 时个位增一

          ACALL DELAY1

          ACALL TK5

          KK4:JB P2.2,KK5 ;K10 时十位增一

          ACALL DELAY1

          INC 35H

          MOV R3,35H

          CJNE R3,#03H,HH0

          MOV 35H,#00H

          LJMP KK5

          HH0:CJNE R3,#02H,HH1

          LJMP KK5

          HH1:CJNE R3,#01H,HH2

          LJMP KK5

          HH2:MOV 35H,#00H

          KK5:JB P2.1,KK6

          ACALL DELAY1 ;K11 开/关蜂鸣器

          CPL P3.2

          KK6:JB P2.0,KE2 ;K12 秒表暂停

          MOV 42H,#00H

          KE2:MOV P2,#0BFH ;P.6行

          JB P2.3,KK7 ;K5 时钟暂停/取消暂停

          ACALL DELAY1

          CPL ET0

          KK7:JB P2.2,KK8 ;K6 显示/休眠/流水灯

          ACALL DELAY2

          INC 40H

          MOV R3,40H

          CJNE R3,#04H,KK8

          MOV 40H,#01H

          KK8:JB P2.1,KK9

          // ACALL DELAY3 ;K7 秒表清0

          MOV 44H,#00H

          MOV 45H,#00H

          MOV 46H,#00H

          MOV 47H,#00H

          MOV 48H,#00H

          MOV 49H,#00H

          KK9:JB P2.0,KE3 ;K8 秒表开始跑

          MOV 42H,#01H

          KE3:MOV P2,#7FH ;P2.7行

          JB P2.3,KK10 ;K1 秒十位减一

          ACALL DELAY1

          MOV R3,31H

          CJNE R3,#00H,JA1

          LJMP KK10

          JA1:DEC 31H

          KK10:JB P2.2,KK11 ;K2 分个位减一

          ACALL DELAY1

          MOV R3,32H

          CJNE R3,#00H,JA2

          LJMP KK11

          JA2: DEC 32H

          KK11:JB P2.1,KK12 ;K3 分十位减一

          ACALL DELAY1

          MOV R3,33H

          CJNE R3,#00H,JA3

          LJMP KK12

          JA3:DEC 33H

          KK12:JB P2.0,KK13 ;K4 时个位减一

          ACALL DELAY1

          MOV R3,34H

          CJNE R3,#00H,JA4

          LJMP KK13

          JA4:DEC 34H

          KK13:RET

          //=====流水灯子程序===========================

          LED: MOV A,#0feH

          MOV 41H,#08H

          MOV P0,#0FFH

          LED1:

          MOV P1,A

          MOV R3,#100

          D0: ACALL DELAY

          DJNZ R3,D0

          MOV R3,41H

          DJNZ R3,AAA

          LJMP BB

          AAA:RL A

          MOV 41H,R3

          ACALL KEY

          LJMP LED1

          BB:

          MOV 41H,#07H

          CC: MOV P1,A

          MOV R3,#30

          D1: ACALL DELAY

          DJNZ R3,D1

          MOV R3,41H

          DJNZ R3,DD

          LJMP LED0

          DD:RR A

          MOV 41H,R3

          ACALL KEY

          LJMP CC

          LED0:RET

          //=====延时子程序==============================

          DELAY:MOV R1,#250

          DEL1:NOP

          NOP

          NOP

          NOP

          DJNZ R1,DEL1

          RET

          //====调用时钟显示作延时========================

          DELAY1:MOV R2,#20

          DELA3: ACALL MAIN2

          DJNZ R2,DELA3

          RET

          //====调用秒表显示作延时========================

          DELAY3:MOV R2,#20

          DELA5:ACALL MAIN3

          DJNZ R2,DELA5

          RET

          //====调用延时子程序作延时======================

          DELAY2:MOV R2,#100

          DELA4:ACALL DELAY

          DJNZ R2,DELA4

          RET

          //======共阳数码管段码表=================================

          TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,87H

          END

          
          首 页 | 公司简介 | 企业荣誉 | 产品中心 | 新闻中心 | 联系我们 | 集团首页

          版权所有 深圳市z6尊龙官网光电有限公司     粤ICP备08129267号-1
          1. XML地图