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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15W204S STC15W201S單片機P3.0 P3.1串口匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
網上找不到STC15W204S STC15W201S 的串口匯編程序 STC提供的范例程序也沒用  琢磨了一天才會使用P3.0P3.1串口 現在把程序分享出來用  串口助手軟件發送1 返回文本123456789


單片機源程序如下:
  1. //本示例在Keil開發環境下請選擇Intel的8058芯片型號進行編譯
  2. //若無特別說明,工作頻率一般為11.0592MHz


  3. ;#define NONE_PARITY     0       //無校驗
  4. ;#define ODD_PARITY      1       //奇校驗
  5. ;#define EVEN_PARITY     2       //偶校驗
  6. ;#define MARK_PARITY     3       //標記校驗
  7. ;#define SPACE_PARITY    4       //空白校驗

  8. ;#define PARITYBIT NONE_PARITY   //定義校驗位

  9. //-----------------------------------------

  10. ;P0M1    DATA    0x93            ; P0M1.n,P0M0.n     =00--->Standard,    01--->push-pull
  11. ;P0M0    DATA    0x94            ;                   =10--->pure input,  11--->open drain
  12. P1M1    DATA    0x91            ; P1M1.n,P1M0.n     =00--->Standard,    01--->push-pull
  13. P1M0    DATA    0x92            ;                   =10--->pure input,  11--->open drain
  14. ;P2M1    DATA    0x95            ; P2M1.n,P2M0.n     =00--->Standard,    01--->push-pull
  15. ;P2M0    DATA    0x96            ;                   =10--->pure input,  11--->open drain
  16. P3M1    DATA    0xB1            ; P3M1.n,P3M0.n     =00--->Standard,    01--->push-pull
  17. P3M0    DATA    0xB2            ;                   =10--->pure input,  11--->open drain
  18. ;P4M1    DATA    0xB3            ; P4M1.n,P4M0.n     =00--->Standard,    01--->push-pull
  19. ;P4M0    DATA    0xB4            ;                   =10--->pure input,  11--->open drain
  20. P5M1    DATA    0xC9            ; P5M1.n,P5M0.n     =00--->Standard,    01--->push-pull
  21. P5M0    DATA    0xCA            ;                   =10--->pure input,  11--->open drain
  22. P5      EQU     0C8H;
  23. ;P6M1    DATA    0xCB            ; P6M1.n,P6M0.n     =00--->Standard,    01--->push-pull
  24. ;P6M0    DATA    0xCC            ;                   =10--->pure input,  11--->open drain
  25. ;P7M1    DATA    0xE1            ;
  26. ;P7M0    DATA    0xE2            ;

  27. AUXR        EQU     08EH        //輔助寄存器
  28. T2H         DATA    0D6H        //定時器2高8位
  29. T2L         DATA    0D7H        //定時器2低8位

  30. P_SW1       EQU     0A2H        //外設功能切換寄存器1
  31. S1_S0       EQU     40H         //P_SW1.6
  32. S1_S1       EQU     80H         //P_SW1.7

  33. BUSY        BIT 20H.0           //忙標志位
  34. //-----------------------------------------
  35.     ORG   0000H
  36.     LJMP  MAIN

  37.     ORG   0023H
  38.     LJMP  UART_ISR
  39. //-----------------------------------------
  40.     ORG   0100H
  41. MAIN:
  42.     CLR     A
  43. ;   MOV     P0M1, A     ;設置為準雙向口
  44. ;   MOV     P0M0, A
  45.     MOV     P1M1, A     ;設置為準雙向口
  46.     MOV     P1M0, A
  47. ;   MOV     P2M1, A     ;設置為準雙向口
  48. ;   MOV     P2M0, A
  49.     MOV     P3M1, A     ;設置為準雙向口
  50.     MOV     P3M0, A
  51. ;   MOV     P4M1, A     ;設置為準雙向口
  52. ;   MOV     P4M0, A
  53.     MOV     P5M1, A     ;設置為準雙向口
  54.     MOV     P5M0, A
  55. ;   MOV     P6M1, A     ;設置為準雙向口
  56. ;   MOV     P6M0, A
  57. ;   MOV     P7M1, A     ;設置為準雙向口
  58. ;   MOV     P7M0, A

  59.     CLR   BUSY;
  60.     CLR   EA;
  61.     MOV   SP,#3FH;
  62.    
  63.     MOV   A,P_SW1;
  64.     ANL   A,#03FH;               //S1_S0=0 S1_S1=0
  65.     MOV   P_SW1,A;               //(P3.0/RxD, P3.1/TxD)

  66. //-------------------------------
  67.     MOV SCON,#50H       ;      //8位可變波特率
  68.         ORL AUXR,#04H                ;定時器2時鐘為Fosc,即1T
  69.     ORL AUXR,#01H       ;串口1選擇定時器2為波特率發生器          9600
  70.         MOV T2L,#0E0H                ;設定定時初值        9600
  71.         MOV T2H,#0FEH                ;設定定時初值
  72.         ORL AUXR,#10H                ;啟動定時器2

  73.         SETB  ES;                    //使能串口中斷
  74.     SETB  EA;
  75.         SJMP  $
  76. TXDAT:        
  77.         MOV   DPTR,#TESTSTR;         //發送測試字符串
  78.         MOV  R4,#9;                                          
  79.         LCALL TABS;      查表         
  80.         RETI                        
  81.   ;  SJMP  $
  82. ;-----------------------------------------
  83. TESTSTR:
  84.     DB  "123456789"
  85. ;/*----------------------------
  86. ;UART 中斷服務程序
  87. ;----------------------------*/
  88. UART_ISR:
  89.     PUSH  ACC;
  90.     PUSH  PSW;
  91.     JNB   RI,CHECKTI;            //檢測RI位
  92.     CLR   RI;                    //清除RI位
  93.     MOV   A,SBUF;               //P0顯示串口數據
  94.     CJNE A,#1,RXOUT;
  95.     LJMP TXDAT;
  96. CHECKTI:
  97.     JNB   TI,ISR_EXIT;           //檢測TI位
  98.     CLR   TI;                    //清除TI位
  99.     CLR   BUSY;                  //清忙標志
  100. ISR_EXIT:
  101.     POP   PSW;
  102.     POP   ACC;           
  103. RXOUT:   
  104.     RETI;

  105. ;/*----------------------------
  106. ;發送串口數據
  107. ;----------------------------*/
  108. SENDDATA:  
  109.     SETB BUSY;
  110.     MOV SBUF,A;                //寫數據到UART數據寄存器
  111.         JNB TI,$;
  112.     CLR TI;
  113.     RET;
  114. ;/*----------------------------
  115. ;發送字符串
  116. //------------------------------------------------------------------------------                    
  117. TABS:                        
  118. DDD:            CLR  A;
  119.                 MOVC A,@A+DPTR;
  120.                        INC  DPTR;
  121.                                 LCALL SENDDATA;              //發送當前字符                           
  122.                 DJNZ R4,DDD;
  123.                 RET;

  124.     END;
復制代碼

以上資料51hei提供下載:
15W204S串口測試程序 - 匯編.rar (22.27 KB, 下載次數: 30)

評分

參與人數 2黑幣 +65 收起 理由
lyonkon + 15 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1062327 發表于 2023-2-7 13:43 | 只看該作者
你好!請問   ANL   A,#03FH;               //S1_S0=0 S1_S1=0 這是起什么作用的?
回復

使用道具 舉報

板凳
ID:261025 發表于 2023-2-8 21:17 | 只看該作者
gaof 發表于 2023-2-7 13:43
你好!請問   ANL   A,#03FH;               //S1_S0=0 S1_S1=0 這是起什么作用的?

選擇P3.0 P3.1為串口
看圖  在S1_S1和S1_0等于0時 P3.0 P3.1為串口  二進制是00111111  16進制是3FH

51hei截圖20230208211332.jpg (28.31 KB, 下載次數: 107)

51hei截圖20230208211332.jpg
回復

使用道具 舉報

地板
ID:261025 發表于 2023-2-8 22:05 來自手機 | 只看該作者
gaof 發表于 2023-2-7 13:43
你好!請問   ANL   A,#03FH;               //S1_S0=0 S1_S1=0 這是起什么作用的?

   
P_SW1       EQU     0A2H        //外設功能切換寄存器1
S1_S0       EQU     40H         //P_SW1.6
S1_S1       EQU     80H         //P_SW1.7


MOV   A,P_SW1;
ANL   A,#03FH;               //S1_S0=0 S1_S1=0
MOV   P_SW1,A;               //(P3.0/RxD, P3.1/TxD)

我的理解是  P_SW1=0A2H=000 10100010
                                     03FH=000 00111111

MOV   A,P_SW1;
ANL   A,#03FH;      運算后得到 00100010   與運算:0&0=0 1&0=0 1&1=1 0&1=0
MOV   P_SW1,A;
回復

使用道具 舉報

5#
ID:1062327 發表于 2023-2-9 17:08 | 只看該作者
我想用這個改為按鍵控制串口發!發數據時讓某個引腳拉低發完后再拉高,不需要接受那位大神幫忙看看,
回復

使用道具 舉報

6#
ID:73992 發表于 2024-3-8 00:09 | 只看該作者
例程很好,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费的色网站 | 久久综合伊人 | 一级做a爰片性色毛片16美国 | 国产亚洲精品精品国产亚洲综合 | 97人人草 | 特级a欧美做爰片毛片 | 亚洲一区在线免费观看 | 成人久久视频 | 久草资源在线 | 久草视频在线看 | 欧美日韩在线免费 | 日韩视频精品在线 | 亚洲www啪成人一区二区麻豆 | 国产成人久久av免费高清密臂 | h片在线观看网站 | 中文字幕一二三 | 国产精品不卡 | 99热欧美| 国产在线网站 | 国产高清在线观看 | 婷婷狠狠 | 九九热在线精品视频 | 亚洲第一黄色网 | 亚洲高清一区二区三区 | 日操操夜操操 | 九九热在线视频 | 国产精品国产三级国产aⅴ无密码 | 日韩成人精品一区 | 日韩视频精品 | 免费看日韩视频 | 一级做a爰片性色毛片视频停止 | 欧美日韩在线播放 | 久久99视频 | 国产日韩欧美在线观看 | 亚洲一区二区三区视频 | 激情五月婷婷 | 99精品久久久久 | 久久成人精品一区二区三区 | 免费看大片bbbb欧美 | 免费艹逼视频 | 日韩在线欧美 |