久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于AT89S52單片機數(shù)字鐘的仿真設計(匯編語言程序)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:273403 發(fā)表于 2018-1-11 15:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
基于AT89S52單片機數(shù)字鐘的設計
新人不好的話原諒啊
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機匯編語言源程序如下:
  1. ORG 0000H
  2. LJMP MAIN
  3. ORG 000BH
  4. LJMP DINGSHI
  5. ORG 001BH
  6. LJMP TIAOSHI
  7. STYLE BIT  P3.0                       ;模式健
  8. PLUS  BIT  P3.1          ;加鍵
  9. MINUS BIT  P3.2                       ;減鍵
  10. SHI   EQU  30H                       ;時針
  11. FEN   EQU  31H          ;分針
  12. MIAO  EQU  32H                       ;鈔針
  13. MAIN:
  14.   MOV   SHI  , #00H
  15.   MOV   FEN        , #00H
  16.   MOV   MIAO , #00H
  17.   MOV   33H,#00H                    ;時鐘掃描
  18.   MOV   34H,#00H                    ;分鐘掃描
  19.   MOV   35H,#00H                    ;秒鐘掃描
  20.   MOV   36H,#00H                    ;時鐘掃描計數(shù)
  21.   MOV   37H,#00H                    ;時鐘掃描閃爍
  22.   MOV   38H,#00H                    ;分鐘掃描計數(shù)
  23.   MOV   39H,#00H                    ;分鐘掃描閃爍
  24.   MOV   3AH,#00H                    ;秒鐘掃描計數(shù)
  25.   MOV   3BH,#00H                    ;秒鐘掃描閃爍
  26.   MOV   3CH,#00H                    ;定時
  27.   MOV   3DH,  #00H                  ;模式
  28.   MOV   40H,  #00H        ;消抖
  29.   MOV   SP,   #50H        ;堆棧指針
  30.   MOV   DPTR, #TABLE                ;查找表首地址
  31.   MOV   TH0,  #(65535-20000)/256         ;定時器初值
  32.   MOV   TL0,  #(65535-20000) MOD 256
  33.   MOV   TH1,  #(65535-20000)/256
  34.   MOV   TL1,  #(65535-20000) MOD 256
  35.   MOV   TMOD, #11H                  ;定時器工作方式設置,T0,T0設置為方式一
  36.   SETB  PT0                                  ;設置T0為高優(yōu)先級
  37.   SETB  ET0                                  ;開定時器中斷
  38.   SETB  ET1
  39.   SETB  TR0                                  ;啟動定時器
  40.   SETB  TR1
  41.   SETB  EA                                  ;開總中斷
  42. DISPLAY:
  43.   MOV   A,  33H                          
  44.   CJNE  A,#00,X1                         ;判斷時針是否掃描
  45.   MOV   P2, #7FH                         ;選通數(shù)碼管時鐘的十位
  46.   MOV   A,  SHI
  47.   MOV   B,  #10
  48.   DIV   AB                                  ;把時針的十位個位分離
  49.   MOVC   A, @A+DPTR                  ;把時針的十位放在累加器A中
  50.   MOV   P1,A                                  ;顯示時針的十位
  51.   LCALL         DELAY                          ;延時
  52.   MOV  P2,#0BFH                          ;選通時針的個位
  53.   MOV   A,  B
  54.   MOVC  A,@A+DPTR
  55.   MOV  P1,A
  56.   LCALL  DELAY
  57.   MOV  A,  37H
  58.   CJNE A,#01,X3                                    ;判斷是否閃爍
  59. X1:
  60.   INC 36H
  61.   MOV  A,   36H
  62.   CJNE A,#10,X2
  63.   MOV  33H, #00
  64. X2:
  65.   CJNE A,#20,X3
  66.   MOV  36H, #00
  67.   MOV  33H, #01
  68. X3:                                    
  69.   MOV  P2, #0DFH                               ;顯示分隔符
  70.   MOV  A,  #40H
  71.   MOV  P1, A
  72.   LCALL DELAY
  73.   MOV  A,  34H                                ;分針的顯示
  74.   CJNE A,#00,F1
  75.   MOV  P2, #0EFH
  76.   MOV A,  FEN
  77.   MOV B,  #10
  78.   DIV AB
  79.   MOVC  A,  @A+DPTR
  80.   MOV  P1, A
  81.   LCALL DELAY
  82.   MOV  P2,  #0F7H
  83.   MOV  A,  B
  84.   MOVC A,  @A+DPTR
  85.   MOV  P1, A
  86.   LCALL DELAY
  87.   MOV  A,  39H
  88.   CJNE A,#01H ,F3
  89. F1:
  90.   INC 36H
  91.   MOV  A, 36H
  92.   CJNE A,#10, F2
  93.   MOV  34H,  #00H
  94. F2:
  95.   CJNE A,#20H,F3
  96.   MOV  36H, #00H
  97.   MOV  34H, #01H
  98. F3:
  99.   MOV  P2,  #0FBH                               ;顯示分隔符
  100.   MOV  A,   #40H
  101.   MOV  P1,  A
  102.   LCALL  DELAY
  103.   MOV  A,35H
  104.   CJNE A,#00H ,M1
  105.   MOV  P2, #0FDH                                ;秒針的顯示
  106.   MOV  A,  MIAO
  107.   MOV  B,  #10
  108.   DIV  AB
  109.   MOVC A,  @A+DPTR
  110.   MOV  P1, A
  111.   LCALL DELAY
  112.   MOV  P2, #0FEH
  113.   MOV  A,  B
  114.   MOVC A,  @A+DPTR
  115.   MOV  P1, A
  116.   LCALL DELAY
  117.   MOV  A,  3BH
  118.   CJNE A,#01,M3
  119. M1:
  120.   INC  3AH
  121.   MOV  A,  3AH
  122.   CJNE A,#10,M2
  123.   MOV  35H, #00H
  124. M2:
  125.   CJNE A,#20H,M3
  126.   MOV  3AH,  #00H
  127.   MOV  35H,  #01H
  128. M3:
  129.    LJMP  DISPLAY

  130. DINGSHI:
  131.    PUSH  ACC
  132.    PUSH  PSW
  133.    MOV   TH0, #(65535-20000)/256                   ;定時器賦初值
  134.    MOV   TL0, #(65535-20000) MOD 256
  135.    INC   3CH
  136.    MOV   A, 3CH
  137.    CJNE  A,#50,J1                        ;判斷是否為一秒,若為一秒順序執(zhí)行,否發(fā)生跳轉
  138.    MOV   3CH, #00H                                   ;定時次數(shù)清零
  139.    INC   MIAO                                 ;秒針加一
  140.    MOV   A,  MIAO
  141.    CJNE  A,#60, J1                                    ;判斷是否為一分
  142.    MOV   MIAO, #00                                     ;秒針清零
  143.    INC   FEN                                            ;分針加一
  144.    MOV   A,   FEN
  145.    CJNE  A,#60,J1                                     ;判斷是否為一時
  146.    MOV   FEN, #00H                                     ;分針清零
  147.    INC   SHI                                             ;時針加一
  148.    MOV   A,   SHI
  149.    CJNE  A,#24,J1                                     ;判斷是否溢出
  150.    MOV   SHI, #00H                                     ;時針清零
  151. J1:
  152.    CLR  ET0
  153.    POP  ACC
  154.    POP  PSW
  155.    SETB ET0
  156.    RETI
  157. TIAOSHI:
  158.    PUSH ACC
  159.    PUSH PSW
  160.    MOV  TH1,  #(65535-20000)/256                       ;定時器賦初值
  161.    MOV  TL1,  #(65535-20000) MOD 256
  162.    JB  STYLE,  G1                                       ;判斷模式鍵是否按下
  163.    INC 40H                                         ;清抖
  164.    MOV A, 40H                                 
  165.    CJNE A,#10,G1
  166.    JB STYLE ,G1                                       ;模式鍵真的被按下
  167.    MOV 40H,#00
  168.    INC 3DH                                                ;模式鍵加一
  169.    MOV A,  3DH
  170.    CJNE A,#01,A1                                        ;判斷是否為模式一
  171.    MOV  33H,#01                                         ;時針掃描判斷
  172.    MOV  37H,#01                                         ;時針掃描閃爍判斷
  173. A1:CJNE A,#02,A2                                         ;模式是否為二
  174.    MOV  33H,#00
  175.    MOV  37H,#00
  176.    MOV  34H,#01
  177.    MOV  39H,#01
  178. A2:CJNE A,#03,A3                                    ;模式是否為三
  179.    MOV  34H,#00
  180.    MOV  39H,#00
  181.    MOV  35H,#01
  182.    MOV  3BH,#01
  183. A3:CJNE A,#04,G1                               ;模式是否為四,為四正常走時
  184.    MOV  3DH,#00
  185.    MOV  35H,#00
  186.    MOV  3BH,#00
  187. G1:JB   PLUS,B1                                ;判斷加鍵是否按下
  188.    INC 40H                                        ;消抖
  189.    MOV A, 40H
  190.    CJNE A,#11,B1
  191.    JB PLUS ,B1
  192.    MOV 40H,#00
  193.    MOV  A,3DH
  194.    CJNE A,#01,C1                        ;若為模式一,時針加一
  195.    INC SHI
  196.    MOV A, SHI
  197.    CJNE A,#24,B1
  198.    MOV  SHI,#00
  199. C1: CJNE  A,#02,C2                        ;若為模式二,分針加一
  200.   INC  FEN
  201.   MOV  A,FEN
  202.   CJNE A,#60, B1
  203.   MOV  FEN,  #00
  204. C2:CJNE  A,#03,B1                        ;若為模式三,秒針加一
  205.   INC  MIAO
  206.   MOV  A, MIAO
  207.   CJNE A,#60,B1
  208.   MOV  MIAO,#00
  209. B1:JB  MINUS,E1                           ;判斷減鍵是否按下
  210.   INC 40H                                   ;清抖
  211.   MOV A, 40H
  212.   CJNE A,#12,E1
  213.   JB MINUS ,E1
  214.   MOV 40H,#00
  215.   MOV A,  3DH
  216.   CJNE A,#01,Q1                                ;若為模式一,時針減一
  217.   MOV A,  SHI
  218.   CJNE A,#00,Q2                                ;判斷時針是否為0
  219.   MOV  SHI, #23
  220.   LJMP E1
  221. Q2:DEC SHI                                        ;時針減一
  222.   LJMP E1
  223. ……………………

  224. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
基于AT89S52單片機數(shù)字鐘的設計.zip (90.66 KB, 下載次數(shù): 93)


評分

參與人數(shù) 2黑幣 +54 收起 理由
qjzyx + 4 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:266116 發(fā)表于 2018-1-12 21:58 | 只看該作者
看了一下,電路精簡,改天下個玩玩!
回復

使用道具 舉報

板凳
ID:290363 發(fā)表于 2018-3-11 13:01 | 只看該作者
謝謝樓主!很實用!!!
回復

使用道具 舉報

地板
ID:291837 發(fā)表于 2018-3-15 08:54 | 只看該作者
正需要這個,謝謝分享!
回復

使用道具 舉報

5#
ID:347467 發(fā)表于 2019-11-13 13:21 | 只看該作者

謝謝樓主!很實用!!!
回復

使用道具 舉報

6#
ID:851189 發(fā)表于 2020-11-30 14:45 來自手機 | 只看該作者
最上面的藍屏的led名稱是什么啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩高清 | 久久久成人免费视频 | 亚洲成人三级 | 精品国产aⅴ | 久久精品欧美一区二区三区不卡 | 欧美4p| 天堂亚洲 | 日韩成人免费视频 | 精品网站999 | 成人美女免费网站视频 | 91高清视频在线 | 中文字幕在线一区 | 狠狠综合久久av一区二区小说 | 日韩免费视频 | www.黄色网 | 综合久久99 | 欧美精品一二三区 | 欧美日韩精品久久久免费观看 | 亚洲天天干 | 国产精品二区三区 | 精品久久99 | 欧美一区视频 | 国产高清精品一区 | 91国产精品 | 欧美一二三 | 日韩视频精品在线 | 中文字幕中文字幕 | 精品亚洲一区二区三区四区五区 | 久久久精品欧美 | 欧美久久国产 | 亚洲精品久久久久久久久久久 | 久久久久国产一区二区三区 | 成人国内精品久久久久一区 | 久久精品中文字幕 | 国产日韩欧美在线观看 | 蜜桃臀av一区二区三区 | 特黄级国产片 | 日韩成人在线免费观看 | 久久亚洲91 | 午夜一级大片 | 免费av一区二区三区 |