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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
跳轉到指定樓層
樓主
基于AT89S52單片機數字鐘的設計
新人不好的話原諒啊
仿真原理圖如下(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                    ;時鐘掃描計數
  21.   MOV   37H,#00H                    ;時鐘掃描閃爍
  22.   MOV   38H,#00H                    ;分鐘掃描計數
  23.   MOV   39H,#00H                    ;分鐘掃描閃爍
  24.   MOV   3AH,#00H                    ;秒鐘掃描計數
  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為高優先級
  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                         ;選通數碼管時鐘的十位
  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                        ;判斷是否為一秒,若為一秒順序執行,否發生跳轉
  138.    MOV   3CH, #00H                                   ;定時次數清零
  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單片機數字鐘的設計.zip (90.66 KB, 下載次數: 93)


評分

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

查看全部評分

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级片在线看 | 免费观看一级特黄欧美大片 | 国产精品美女久久久免费 | 国产精品日韩 | 国产激情精品视频 | 国产精品美女久久久久久久网站 | 国产欧美在线 | 人人亚洲 | 久久久www成人免费精品 | 久久一二| 国产av毛片 | 亚洲精品v日韩精品 | 91极品尤物在线播放国产 | 亚洲色片网站 | 日本大香伊一区二区三区 | 国产一区二区精品在线 | 蜜桃精品视频在线 | 在线天堂免费中文字幕视频 | 久久久久久久久久久91 | 国产精品视频一二三区 | 亚洲精品片 | 在线免费观看黄色 | 草樱av| 91影院| 欧美日韩淫片 | 国产精品午夜电影 | 色黄视频在线 | 麻豆hd| 成人在线视频免费看 | 国产乱码精品一品二品 | 亚洲欧美在线观看视频 | 国产在线成人 | 久草视频在线播放 | 黄色一级大片在线观看 | 精品视频一区二区三区四区 | 国产1区2区3区 | 91视频免费在观看 | 免费精品一区 | 日韩区| 成人二区 | 国产中文字幕在线观看 |