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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费在线观看视频 | 亚洲精品免费在线观看 | 亚洲一区 中文字幕 | 一区二区在线视频 | 日韩二三区 | 日韩精品在线观看免费 | 日韩一区二区三区精品 | av免费网站在线观看 | 一区天堂| 麻豆精品国产91久久久久久 | 成人免费在线观看视频 | 国产午夜亚洲精品不卡 | 国产精品污污视频 | 国产成人精品一区二区三 | 区一区二区三在线观看 | 精品久久久久久红码专区 | 亚洲国产视频一区二区 | 国产精品久久久久久一区二区三区 | 一区二区三区国产好 | 国产午夜精品一区二区三区嫩草 | 日韩欧美一级 | 欧美激情va永久在线播放 | 成人一区二区三区在线 | 午夜精品 | 亚州国产| 国产黄色在线观看 | 天天色图 | a级大片免费观看 | 男女精品网站 | 久久精品黄色 | av天天澡天天爽天天av | 久久乐国产精品 | 91精品欧美久久久久久久 | 91精品久久久 | 欧美女优在线观看 | 久久91精品国产 | 久久福利 | 国产一区2区 | 男女午夜免费视频 | 欧美黑人一级爽快片淫片高清 | 激情a |