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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

能不能幫我分析一下這個單片機匯編程序,謝謝

[復制鏈接]
跳轉到指定樓層
樓主
ID:213119 發表于 2017-6-28 22:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
才開始學匯編語言,不是很懂。大神們幫我分析一下這個程序,能配合流程圖講解最好。謝謝大佬們了。
  1. COUNT                                        EQU 30H                        ;T0中斷計數
  2. SNLEDDATA                        EQU 31H                        ;存儲南北數碼管顯示的數據
  3. SNCOLORFLAG                        EQU 32H                ;=1時南北綠燈亮,=2時南北黃燈亮,=3時南北紅燈亮
  4. SNLEDDATAINIT        EQU 33H                        ;存儲南北各顏色燈的初始時間
  5. EWLEDDATA                        EQU 34H                        ;存儲東西數碼管顯示的數據
  6. EWCOLORFLAG                        EQU 35H                ;=1時東西紅燈亮,=2時東西綠燈亮,=3時東西黃燈亮
  7. EWLEDDATAINIT        EQU 36H                        ;存儲東西各顏色燈的初始時間
  8.                         org 0000h
  9.                         lJMP MAIN
  10.                         org 0003h
  11.                         lJMP INT00
  12.                         org 000Bh
  13.                         lJMP T00
  14.                         org 0100h
  15. ;主函數***************************************                                
  16. MAIN:            MOV SP,#60H
  17.                         MOV TMOD,#01H
  18.                         MOV TH0,#0eCH
  19.                         MOV TL0,#078H
  20.                         MOV COUNT,#00H        
  21.                         SETB TR0                                                                                    ;開定時器0
  22.                         SETB ET0                                                                                        ;允許定時器0中斷
  23.                         SETB EX0                                                                                        ;允許外部0中斷                                                                                    
  24.                         SETB EA                                                                                                ;開總中斷
  25.                         MOV SNLEDDATAINIT,#15
  26.                         MOV EWLEDDATAINIT,#18
  27.                         MOV SNLEDDATA,SNLEDDATAINIT
  28.                         MOV EWLEDDATA,EWLEDDATAINIT        
  29.                         MOV P2,#0feH                        
  30.                         MOV SNCOLORFLAG,#01        
  31.                         MOV EWCOLORFLAG,#01                                                                                                      
  32. ;初始化結束***********************************
  33. START:               
  34.                         MOV A,COUNT
  35.                         CJNE A,#200,NOT1S        ;沒到1秒跳轉
  36.                         MOV COUNT,#00                        ;1秒時間到                        
  37.                         DEC SNLEDDATA
  38.                         MOV A,SNLEDDATA
  39.                         JNZ        checkewleddata
  40.                         MOV SNLEDDATA,SNLEDDATAINIT
  41.                         INC SNCOLORFLAG
  42.                         MOV A,SNCOLORFLAG
  43.                         CJNE A,#04,checkewleddata
  44.                         MOV SNCOLORFLAG,#01
  45. checkewleddata:
  46.                         DEC EWLEDDATA                                                
  47.                         MOV A,EWLEDDATA
  48.                         JNZ        NOT1S
  49.                         MOV EWLEDDATA,EWLEDDATAINIT
  50.                         INC EWCOLORFLAG
  51.                         MOV A,EWCOLORFLAG
  52.                         CJNE A,#04,NOT1S
  53.                         MOV EWCOLORFLAG,#01                        
  54. NOT1S:                        
  55.                         LCALL snCOLORCHECK
  56.                         LCALL ewCOLORCHECK
  57.                         LCALL DISPLAY        
  58.                         SJMP START
  59. ;****************************************
  60. ;南北紅綠黃燈控制**************************
  61. snCOLORCHECK:
  62.                         PUSH ACC
  63.                         PUSH B
  64.                         PUSH PSW                        
  65. sngreen:
  66.                         MOV A,SNCOLORFLAG
  67.                         CJNE A,#01,snYELLOW
  68.                         MOV SNLEDDATAINIT,#03                                        ;設置南北黃燈閃爍時間
  69.                         CLR P1.2
  70.                         CLR P1.1
  71.                         SETB P1.0                                        ;南北綠燈亮                                                                                
  72.                         SETB P1.7
  73.                         CLR  P1.6
  74.                         JMP snCOLORCHECKOUT
  75. snYELLOW:
  76.                         MOV A,SNCOLORFLAG
  77.                         CJNE A,#02,snred
  78.                         MOV SNLEDDATAINIT,#18                                        ;設置南北紅燈亮時間
  79.                         MOV A,COUNT
  80.                         MOV B,#50
  81.                         DIV AB
  82.                         MOV A,B
  83.                         CJNE A,#00H,snNOTFLASH
  84.                         CPL P1.1                                                                ;南北黃燈閃爍        
  85.                         CLR P1.0
  86.                         CLR P1.2
  87.                                 
  88. snNOTFLASH:
  89.                         JMP snCOLORCHECKOUT
  90. snred:
  91.                         MOV SNLEDDATAINIT,#15                                                ;設置南北綠燈亮時間
  92.                         CLR P1.0
  93.                         CLR P1.1
  94.                         SETB P1.2                                            ;南北紅燈亮                                                                                       
  95.                         SETB P1.6
  96.                         CLR  P1.7
  97. snCOLORCHECKOUT:
  98.                         POP PSW
  99.                         POP B
  100.                         POP ACC
  101.                         RET
  102. ;******************************************************
  103. ;東西紅綠黃燈控制**************************************                        
  104. ewCOLORCHECK:
  105.                         PUSH ACC
  106.                         PUSH B
  107.                         PUSH PSW
  108. ewred:
  109.                         MOV A,ewCOLORFLAG
  110.                         CJNE A,#01,ewyellow
  111.                         MOV ewLEDDATAINIT,#15                                        ;設置東西綠燈亮時間
  112.                         CLR P1.3
  113.                         CLR P1.4
  114.                         SETB P1.5                                                                                        ;東西紅燈亮
  115.                         JMP ewCOLORCHECKOUT
  116. ewyellow:
  117.                         MOV A,ewCOLORFLAG
  118.                         CJNE A,#03,ewgreen
  119.                         MOV ewLEDDATAINIT,#18                                        ;設置東西紅燈亮時間
  120.                         MOV A,COUNT
  121.                         MOV B,#50
  122.                         DIV AB
  123.                         MOV A,B
  124.                         CJNE A,#00H,ewNOTFLASH
  125.                         CPL P1.4                                                                                        ;東西黃燈閃爍
  126.                         CLR P1.3
  127.                         CLR P1.5

  128. ewNOTFLASH:
  129.                         JMP ewCOLORCHECKOUT
  130. ewgreen:
  131.                         MOV ewLEDDATAINIT,#03                                                ;設置東西黃燈閃爍時間
  132.                         CLR P1.4
  133.                         CLR P1.5
  134.                         SETB P1.3                                                                                        ;東西綠燈亮
  135. ewCOLORCHECKOUT:
  136.                         POP PSW
  137.                         POP B
  138.                         POP ACC
  139.                         RET
  140. ;************************************************************
  141. ;數碼管顯示**************************************************
  142. DISPLAY:
  143.                         PUSH ACC
  144.                         PUSH PSW
  145.                         PUSH B
  146.                         MOV A,SNLEDDATA
  147.                         MOV B,#10
  148.                         DIV AB
  149.                         MOV R0,B
  150.                         MOV R1,A
  151.                         MOV A,EWLEDDATA
  152.                         MOV B,#10
  153.                         DIV AB
  154.                         MOV R2,B
  155.                         MOV R3,A
  156.                         MOV DPTR,#TABLE
  157.                         MOV A,P2
  158. DISPSNH:
  159.                         CJNE A,#0feH,DISPSNL
  160.                         MOV A,R1
  161.                         MOVC A,@A+DPTR
  162.                         MOV P0,A
  163.                         JMP DISPOUT        
  164. DISPSNL:
  165.                         CJNE A,#0fdH,DISPEWH
  166.                         MOV A,R0
  167.                         MOVC A,@A+DPTR
  168.                         MOV P0,A
  169.                         JMP DISPOUT                        
  170. DISPEWH:
  171.                         CJNE A,#0fbH,DISPEWL
  172.                         MOV A,R3
  173.                         MOVC A,@A+DPTR
  174.                         MOV P0,A
  175.                         JMP DISPOUT
  176. DISPEWL:
  177.                         CJNE A,#0f7H,DISPOUT
  178.                         MOV A,R2
  179.                         MOVC A,@A+DPTR
  180.                         MOV P0,A
  181. DISPOUT:                                                
  182.                         POP B
  183.                         POP PSW
  184.                         POP ACC
  185.                         RET               
  186. ;*****************************************                        
  187. TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
  188.           ;   0   1   2   3   4   5   6   7   8   9
  189. ;T0中斷函數*******************************                                
  190. T00:        PUSH ACC
  191.                         PUSH PSW
  192.                         MOV TH0,#0ecH                  
  193.                         MOV TL0,#078H                                       
  194.                         MOV A,P2
  195.                         RL A
  196.                         CJNE A,#11101111B,NOT5                                                
  197.                         MOV A,#0feH                                                                        ;p2.0=0,南北數碼管十位亮,p2.1=0,南北數碼管個位亮
  198. NOT5:           MOV P2,A                                                                        ;p2.2=0,東西數碼管十位亮,p2.3=0,東西數碼管個位亮
  199.                         INC COUNT        
  200.                         POP PSW
  201.                         POP ACC
  202.                         RETI

  203. ;外部中斷0***********************************
  204. INT00:           push acc
  205.                         push psw
  206.                         mov a,p0
  207.                         push acc
  208.                     mov a,p1
  209.                         push acc
  210.                         mov a,p2
  211.                         push acc
  212. INT10:                jnb  p3.6,INT11
  213.                         jnb  p3.7,INT12
  214.                         SJMP  INT13
  215. INT11:                LCALL  INT01
  216.                         SJMP  INT13
  217. INT12:                LCALL  INT02               
  218. INT13:                mov p1,#0C0h
  219.                         mov p2,#0ffh
  220.                         jnb p3.2,INT10
  221.                         pop acc
  222.                         mov p2,a
  223.                         pop acc
  224.                         mov p1,a
  225.                         pop acc
  226.                         mov p0,a
  227.                         pop psw
  228.                         pop acc
  229.                         reti
  230. INT01:            mov p2,#0ffh
  231.                         mov p1,#01001100B
  232.                         jnb p3.6,[        DISCUZ_CODE_1        ]nbsp;               
  233.                         ret        
  234. INT02:            mov p2,#0ffh
  235.                     mov p1,#10100001B               
  236.                     jnb p3.7,[        DISCUZ_CODE_1        ]nbsp;      
  237.                         ret
  238.                         
  239. ;*****************************************


  240.                         END
復制代碼




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

使用道具 舉報

沙發
ID:215675 發表于 2017-6-29 08:42 | 只看該作者
慢慢看書逐條標注吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品视频免费看 | 欧美在线观看免费观看视频 | 天天操天天天干 | www.狠狠干| 天天爽夜夜骑 | 国产一区二区三区久久久久久久久 | 亚洲精品视频在线 | 91国产视频在线观看 | 99久久婷婷国产综合精品首页 | 91精品欧美久久久久久久 | 国产高清视频在线 | 国产一区二区三区欧美 | 色综合一区二区 | 一本一道久久a久久精品蜜桃 | 极品电影院 | 欧美一级视频在线观看 | 午夜网址 | 毛片韩国 | 午夜小电影| 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 乱码av午夜噜噜噜噜动漫 | 午夜精品福利视频 | 国产精品一级 | 欧美精品1区 | 精品亚洲一区二区三区 | 成人欧美一区二区 | 国产精品视频导航 | www.日本国产 | 国产精品一区二区三区四区 | 成年人视频在线免费观看 | 全免费a级毛片免费看视频免 | 欧美成人一区二区三区 | 国产精品成人一区二区三区 | 国产偷录视频叫床高潮对白 | 亚洲一区二区av在线 | 久久久久久久国产 | 免费国产一区 | 在线精品一区二区三区 | av国产精品毛片一区二区小说 | 亚洲福利一区二区 | 国内自拍偷拍 |