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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2674|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:213119 發(fā)表于 2017-6-28 22:06 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
才開始學(xué)匯編語言,不是很懂。大神們幫我分析一下這個程序,能配合流程圖講解最好。謝謝大佬們了。
  1. COUNT                                        EQU 30H                        ;T0中斷計數(shù)
  2. SNLEDDATA                        EQU 31H                        ;存儲南北數(shù)碼管顯示的數(shù)據(jù)
  3. SNCOLORFLAG                        EQU 32H                ;=1時南北綠燈亮,=2時南北黃燈亮,=3時南北紅燈亮
  4. SNLEDDATAINIT        EQU 33H                        ;存儲南北各顏色燈的初始時間
  5. EWLEDDATA                        EQU 34H                        ;存儲東西數(shù)碼管顯示的數(shù)據(jù)
  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. ;主函數(shù)***************************************                                
  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. ;初始化結(jié)束***********************************
  33. START:               
  34.                         MOV A,COUNT
  35.                         CJNE A,#200,NOT1S        ;沒到1秒跳轉(zhuǎn)
  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                                        ;設(shè)置南北黃燈閃爍時間
  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                                        ;設(shè)置南北紅燈亮?xí)r間
  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                                                ;設(shè)置南北綠燈亮?xí)r間
  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                                        ;設(shè)置東西綠燈亮?xí)r間
  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                                        ;設(shè)置東西紅燈亮?xí)r間
  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                                                ;設(shè)置東西黃燈閃爍時間
  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. ;數(shù)碼管顯示**************************************************
  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中斷函數(shù)*******************************                                
  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,南北數(shù)碼管十位亮,p2.1=0,南北數(shù)碼管個位亮
  198. NOT5:           MOV P2,A                                                                        ;p2.2=0,東西數(shù)碼管十位亮,p2.3=0,東西數(shù)碼管個位亮
  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
復(fù)制代碼




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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区视频播放 | 一级全黄视频 | 国产美女视频 | 狠狠干av| 久久亚洲综合 | 精品中文字幕视频 | 成人3d动漫一区二区三区91 | 91亚洲国产成人久久精品网站 | 狠狠色综合欧美激情 | 一区二区免费在线 | 婷婷色网 | 国产精品美女久久久久久免费 | 91av视频在线 | 日韩成人免费视频 | 欧美一区二区三区在线 | 久久国产区 | 亚洲在线一区二区 | 国产一区二区三区在线视频 | 激情在线视频 | 久久久久久久久91 | 国产成人精品久久二区二区 | 国产精品伦理一区二区三区 | 草草草影院 | 中文字幕免费在线观看 | 一区二区三区免费在线观看 | 久久久青草婷婷精品综合日韩 | 欧美视频免费在线 | 国产成人免费视频网站视频社区 | 成人在线播放 | 这里只有精品99re | 91视频中文| 亚洲天堂中文字幕 | 伊人亚洲 | 免费观看黄网站 | 国产精品久久久久久久久久免费看 | 东方伊人免费在线观看 | 久久人人网 | 国产一区二区精品自拍 | 日韩性在线 | 欧美成人精品在线 | 国产成人精品一区二区三区网站观看 |