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

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)匯編程序錯(cuò)誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這個(gè)程序是為了測(cè)試51用寄存器傳遞數(shù)據(jù)。流程是給r0-----r7 兩個(gè)頁面賦值,然后串口發(fā)送頁面1 r0---r7的值。總是跑不起來,有的時(shí)候跑飛,有的時(shí)候死循環(huán)。以上程序 在子程序  SYSTEMSET:  的ret位置不返回。



單片機(jī)匯編語言源程序如下:
  1. AUXR        EQU     08EH        //輔助寄存器
  2. T2H         DATA    0D6H        //定時(shí)器2高8位
  3. T2L         DATA    0D7H        //定時(shí)器2低8位
  4. P_SW1       EQU     0A2H        //外設(shè)功能切換寄存器1
  5. S1_S0       EQU     40H         //P_SW1.6
  6. S1_S1       EQU     80H         //P_SW1.7
  7. BUSY        BIT 20H.0           //忙標(biāo)志位

  8.                                                 ORG        0000H
  9.                                                 LJMP        MAIN
  10.                                                 ORG        0030H                                                                                                                                                                                                                                                                                          

  11. //主程序 **************************************
  12. MAIN:                                                            
  13.         LCALL        SYSTEMSET
  14.         LCALL        UART_2                     
  15. D1:
  16.         LCALL        DDATA
  17.         LJMP        D1
  18.         RET

  19. //主程序 **************************************
  20. UART_2:
  21.         PUSH        ACC
  22. //        PUSH        PSW
  23.     CLR   BUSY                        ;
  24. //    CLR   EA                        ;
  25.     MOV   SP,#3FH                ;
  26.         ANL  P_SW1,#03FH        ;S1_S0=0 S1_S1=0
  27.         MOV SCON,#50H       ;8位可變波特率
  28.         ORL AUXR,#04H                ;定時(shí)器2時(shí)鐘為Fosc,即1T
  29.     ORL AUXR,#01H       ;串口1選擇定時(shí)器2為波特率發(fā)生器          9600
  30.         MOV T2L,#0E0H                ;設(shè)定定時(shí)初值        9600
  31.         MOV T2H,#0FEH                ;設(shè)定定時(shí)初值
  32.         ORL AUXR,#10H                ;啟動(dòng)定時(shí)器2
  33. //        SETB  ES;                    //使能串口中斷
  34. //  SETB  EA;
  35. //        POP        PSW        
  36.         POP ACC        
  37.         RET

  38. SYSTEMSET:
  39.         PUSH        ACC
  40.         MOV        00H,#0X01
  41.         MOV        01H,#0X02
  42.         MOV        02H,#0X03
  43.         MOV        03H,#0X04
  44.         MOV        04H,#0X05                  ;寄存器 R0--R7 0頁面
  45.         MOV        05H,#0X06
  46.         MOV        06H,#0X07
  47.         MOV        07H,#0X08

  48.         MOV        08H,#0X09
  49.         MOV        09H,#0X0A
  50.         MOV        0AH,#0X0B
  51.         MOV        0BH,#0X0C                  ;寄存器 R0--R7 1頁面
  52.         MOV        0CH,#0X0D
  53.         MOV        0DH,#0X0E
  54.         MOV        0EH,#0X0F
  55.         MOV        0FH,#0X11
  56.         POP ACC
  57.         RET


  58. DDATA:
  59.         PUSH        ACC
  60.         PUSH        PSW
  61.         SETB        PSW.3                             ;將r0---r7  1頁面 8個(gè)值發(fā)送串口
  62.     SETB BUSY;
  63.         MOV        A,R0
  64.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  65.         JNB TI,$;
  66.     CLR TI;

  67.         SETB BUSY;
  68.         MOV        A,R1
  69.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  70.         JNB TI,$;
  71.     CLR TI;

  72.         SETB BUSY;
  73.         MOV        A,R2
  74.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  75.         JNB TI,$;
  76.     CLR TI;
  77.         SETB BUSY;

  78.         MOV        A,R3
  79.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  80.         JNB TI,$;
  81.     CLR TI;

  82.         SETB BUSY;
  83.         MOV        A,R4
  84.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  85.         JNB TI,$;
  86.     CLR TI;

  87.         SETB BUSY;
  88.         MOV        A,R5
  89.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  90.         JNB TI,$;
  91.     CLR TI;

  92.     SETB BUSY;
  93.         MOV        A,R6
  94.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  95.         JNB TI,$;
  96.     CLR TI;

  97.         SETB BUSY;
  98.         MOV        A,R7
  99.     MOV SBUF,A;                //寫數(shù)據(jù)到UART數(shù)據(jù)寄存器
  100.         JNB TI,$;
  101.     CLR TI;

  102.         POP        PSW        
  103.         POP ACC        
  104.     RET;

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

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2024-3-9 00:32 | 只看該作者
Register窗口被你點(diǎn)亮的sp值已經(jīng)說明了問題。
回復(fù)

使用道具 舉報(bào)

板凳
ID:884147 發(fā)表于 2024-3-9 13:42 | 只看該作者
這段子程序把堆棧數(shù)據(jù)都修改了,怎么返回。
回復(fù)

使用道具 舉報(bào)

地板
ID:73992 發(fā)表于 2024-3-9 17:11 | 只看該作者
已解決,沒考慮到PC會(huì)自己找地方壓棧。提前設(shè)置棧問題解決。
                                                ORG        0000H
                                                LJMP        MAIN
                                                ORG        0030H                                                                                                                                                                                                                                                                                         
                                                MOV   SP,#3FH
。感謝樓上二位。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线观看a视频 | 中文天堂在线一区 | 日韩在线视频免费观看 | 中文字幕在线二区 | 国内久久精品 | 综合色在线| 不卡的av在线 | 国产高潮好爽受不了了夜色 | 一级黄色片免费在线观看 | 自拍视频网 | 精品久久久久久久久久久下田 | 欧美精品一区三区 | 国产不卡一区 | 日干夜干| 成人在线观看亚洲 | 国产一区二区三区四区三区四 | 欧美v免费| 国产精品爱久久久久久久 | 一道本不卡 | 日韩成人 | 久久免费电影 | 日韩欧美视频 | 永久av | 精品久久久久一区二区国产 | 国产网站在线播放 | 一区二区三区视频在线免费观看 | 69亚洲精品 | 免费在线国产视频 | 午夜久久久 | 午夜久久久久久久久久一区二区 | 国产91久久久久久久免费 | 成人动慢 | 欧美日韩中文字幕在线播放 | 亚洲精品一区中文字幕 | 日韩电影在线 | 国产成人免费视频网站高清观看视频 | 一区二区三区av夏目彩春 | 国产精品一区二区无线 | 欧美日韩在线国产 | 亚洲精品日韩一区二区电影 | 亚洲高清在线观看 |