欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2702|回復: 2
打印 上一主題 下一主題
收起左側

基于51單片機的數碼管時鐘匯編語言代碼與Proteus仿真圖

[復制鏈接]
跳轉到指定樓層
樓主



單片機匯編語言源程序如下:
  1.         //R1 秒 R2 分 R3 時
  2.         SETUP BIT P3.0
  3.         UP    BIT P3.3
  4.         OK    BIT P3.5
  5.         FLAG  EQU 30H   //0不設置 1設置時 2設置分 3設置秒
  6. ORG 0000H
  7. AJMP AA
  8. ORG 001BH
  9. LJMP DINGSHI
  10. ORG 0045H
  11. AA:
  12.         MOV SP,#60H
  13.         MOV TMOD,#10H
  14.         MOV TH1,#3CH
  15.         MOV TL1,#0B0H   ;定時器1定時50毫秒
  16.         MOV IE,#88H
  17.         SETB TR1
  18.         SETB F0
  19. LOOP:
  20.         LCALL XIANSHI
  21.         ACALL SHEZHI;設置時間
  22.         SJMP LOOP
  23. DINGSHI:
  24.         PUSH ACC
  25.         PUSH PSW
  26.         MOV TH1,#3CH
  27.         MOV TL1,#0B0H
  28.         INC R7
  29.         CJNE R7,#14H,FH   ;20次為1秒
  30.         MOV R7,#00H
  31.         
  32.         INC R1
  33.         CJNE R1,#3CH,FH    ;60
  34.         MOV R1,#00H
  35.         INC R2
  36.         CJNE R2,#3CH,FH    ;60
  37.         MOV R2,#00H
  38.         INC R3
  39.         CJNE R3,#18H,FH  ;24
  40.         MOV R3,#00H
  41. FH:
  42. POP PSW
  43. POP ACC
  44. RETI
  45. XIANSHI:
  46.         MOV DPTR,#TABLE;共陽段碼表
  47.         INC R4
  48.         MOV A,FLAG
  49.         CJNE A,#1,XS    //設置時的時候閃爍
  50.         CLR C
  51.         CJNE R4,#128,XS1 //相比較 看標志位
  52.         XS1:
  53.         JC XS2   //R4小于128的時候不顯示時 大于等于128的時候顯示
  54.         XS:
  55.         MOV A,R3                //將時拆分為個位和十位 分別用一位數碼管顯示
  56.         MOV B,#0AH
  57.         DIV AB
  58.         MOVC A,@A+DPTR  //按數值取相應的段碼
  59.         MOV P0,A        
  60.         MOV P2,#0FEH
  61.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  62.         MOV P2,#0FFH
  63.         
  64.         MOV A,B
  65.         MOVC A,@A+DPTR        
  66.         MOV P0,A        
  67.         MOV P2,#0FDH
  68.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  69.         MOV P2,#0FFH
  70.         
  71.         XS2:
  72.         MOV P0,#40H              //顯示橫杠‘-’
  73.         MOV P2,#0FBH
  74.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  75.         MOV P2,#0FFH
  76.         
  77.         
  78.         MOV A,FLAG
  79.         CJNE A,#2,XF    //設置分的時候閃爍
  80.         CLR C
  81.         CJNE R4,#128,XF1 //相比較 看標志位
  82.         XF1:
  83.         JC XF2   //R4小于128的時候不顯示分 大于等于128的時候顯示
  84.         XF:
  85.         MOV A,R2                //將分拆分為個位和十位 分別用一位數碼管顯示
  86.         MOV B,#0AH
  87.         DIV AB
  88.         MOVC A,@A+DPTR  //按數值取相應的段碼
  89.         MOV P0,A        
  90.         MOV P2,#0F7H
  91.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  92.         MOV P2,#0FFH
  93.         
  94.         MOV A,B
  95.         MOVC A,@A+DPTR        
  96.         MOV P0,A        
  97.         MOV P2,#0EFH
  98.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  99.         MOV P2,#0FFH
  100.         
  101.         XF2:
  102.         MOV P0,#40H              //顯示橫杠‘-’
  103.         MOV P2,#0DFH
  104.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  105.         MOV P2,#0FFH
  106.         
  107.         
  108.         MOV A,FLAG
  109.         CJNE A,#3,XM    //設置秒的時候閃爍
  110.         CLR C
  111.         CJNE R4,#128,XM1 //相比較 看標志位
  112.         XM1:
  113.         JC XM2   //R4小于128的時候不顯示秒 大于等于128的時候顯示
  114.         XM:
  115.         MOV A,R1               //將秒拆分為個位和十位 分別用一位數碼管顯示
  116.         MOV B,#0AH
  117.         DIV AB
  118.         MOVC A,@A+DPTR  //按數值取相應的段碼
  119.         MOV P0,A        
  120.         MOV P2,#0BFH
  121.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  122.         MOV P2,#0FFH
  123.         
  124.         MOV A,B
  125.         MOVC A,@A+DPTR        
  126.         MOV P0,A        
  127.         MOV P2,#7FH
  128.         DJNZ R5,[        DISCUZ_CODE_1        ]nbsp;      
  129.         MOV P2,#0FFH
  130.         XM2:
  131.         RET

  132. SHEZHI:
  133.         JB SETUP,K0
  134.         JNB SETUP,$
  135.         CLR TR1      //設置的時候停止定時器
  136.         INC FLAG
  137.         MOV A,FLAG
  138.         CJNE A,#4,SR
  139.         MOV FLAG,#1
  140.         SJMP SR
  141. K0:
  142.         JB OK,K1
  143.         JNB OK,$
  144.         MOV FLAG,#0  //退出設置模式
  145.         SETB TR1      //設置完之后啟動定時器
  146.         SJMP SR
  147. K1:        
  148.         MOV A,FLAG
  149.         JZ SR              //A為0則跳轉到SR
  150.         JB UP,SR
  151.         JNB UP,$
  152.         CJNE A,#1,K2
  153.         INC R3
  154.         CJNE R3,#24,SR
  155.         MOV R3,#0
  156.         SJMP SR
  157. K2:
  158.         CJNE A,#2,K3
  159.         INC R2
  160.         CJNE R2,#60,SR
  161.         MOV R2,#0
  162.         SJMP SR
  163. K3:
  164.         CJNE A,#3,SR
  165.         INC R1
  166.         CJNE R1,#60,SR
  167.         MOV R1,#0
  168.         SJMP SR        
  169. SR:
  170. RET
  171.         
  172. TABLE:
  173.         DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH    ;0-9
  174.         END
復制代碼

匯編Keil代碼與Proteus8.8仿真下載: 仿真代碼.7z (49.45 KB, 下載次數: 69)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1053345 發表于 2022-11-23 21:49 | 只看該作者
有沒有c語言文件
回復

使用道具 舉報

板凳
ID:1077534 發表于 2023-6-16 22:54 | 只看該作者
你好,你這里的keil使用的是什么版本
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表