网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
时钟+秒表+流水灯的单片机汇编程序
作者:管理员    发布于:2015-08-02 16:41:50    文字:【】【】【

 //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

浏览 (49) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们