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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stc15f104w 8腳單片機支持串口通信功能嗎?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:249769 發表于 2017-11-18 22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大師‘’stc15f104w‘’這款單片機有串口通信功能的嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2017-11-19 06:50 | 只看該作者
芯片型號 : STC15F104W

關于此芯片的重要說明:
  無硬件串口,可用軟件模擬串口 (范例代碼中有參考代碼)
  有定時器0和定時器2 (注意:無定時器1)

回復

使用道具 舉報

板凳
ID:432336 發表于 2018-12-11 22:39 | 只看該作者
wulin 發表于 2017-11-19 06:50
芯片型號 : STC15F104W

關于此芯片的重要說明:

范例你試過,是對的嗎??
回復

使用道具 舉報

地板
ID:917140 發表于 2021-5-12 17:27 | 只看該作者
官方資料顯示沒有硬件串口
回復

使用道具 舉報

5#
ID:151348 發表于 2021-5-13 08:36 | 只看該作者
官方給出了軟件模擬串口的程序,單片機手冊上面有,親測可用,我用來控制ESP8266沒有問題
回復

使用道具 舉報

6#
ID:584814 發表于 2021-5-13 09:45 | 只看該作者
肯定可以不用懷疑,硬的不行就來軟的。感覺這問題等同于人能吃飯么 ?
回復

使用道具 舉報

7#
ID:883031 發表于 2021-5-13 11:19 | 只看該作者
本身是沒有串口的,就像樓上說的可以模擬串口。
回復

使用道具 舉報

8#
ID:849826 發表于 2022-1-6 16:58 來自手機 | 只看該作者
imxuheng 發表于 2021-5-13 08:36
官方給出了軟件模擬串口的程序,單片機手冊上面有,親測可用,我用來控制ESP8266沒有問題

我想用15F104w做個藍牙遙控開關,就是串口不能用,能借鑒一下你的程序嗎
回復

使用道具 舉報

9#
ID:155507 發表于 2022-1-6 18:12 | 只看該作者
6313 發表于 2022-1-6 16:58
我想用15F104w做個藍牙遙控開關,就是串口不能用,能借鑒一下你的程序嗎

給你個程序。
  1. /*---------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ------------------------------------------------*/
  3. /* --- STC15Fxx 系列 軟件模擬串口舉例----------------------------------*/
  4. /* 如果要在程序中使用此代碼,請在程序中注明使用了STC的資料及程序        */
  5. /* 如果要在文章中應用此代碼,請在文章中注明使用了STC的資料及程序        */
  6. /*---------------------------------------------------------------------*/

  7. //本示例在Keil開發環境下請選擇Intel的8058芯片型號進行編譯
  8. //若無特別說明,工作頻率一般為11.0592MHz


  9. #include "reg51.h"

  10. //-----------------------------------------
  11. //define baudrate const
  12. //BAUD = 65536 - FOSC/3/BAUDRATE/M (1T:M=1; 12T:M=12)
  13. //NOTE: (FOSC/3/BAUDRATE) must be greater then 98, (RECOMMEND GREATER THEN 110)

  14. //#define BAUD  0xF400                  // 1200bps @ 11.0592MHz
  15. //#define BAUD  0xFA00                  // 2400bps @ 11.0592MHz
  16. //#define BAUD  0xFD00                  // 4800bps @ 11.0592MHz
  17. //#define BAUD  0xFE80                  // 9600bps @ 11.0592MHz
  18. //#define BAUD  0xFF40                  //19200bps @ 11.0592MHz
  19. #define BAUD  0xFFA0                    //38400bps @ 11.0592MHz

  20. //#define BAUD  0xEC00                  // 1200bps @ 18.432MHz
  21. //#define BAUD  0xF600                  // 2400bps @ 18.432MHz
  22. //#define BAUD  0xFB00                  // 4800bps @ 18.432MHz
  23. //#define BAUD  0xFD80                  // 9600bps @ 18.432MHz
  24. //#define BAUD  0xFEC0                  //19200bps @ 18.432MHz
  25. //#define BAUD    0xFF60                //38400bps @ 18.432MHz

  26. //#define BAUD  0xE800                  // 1200bps @ 22.1184MHz
  27. //#define BAUD  0xF400                  // 2400bps @ 22.1184MHz
  28. //#define BAUD  0xFA00                  // 4800bps @ 22.1184MHz
  29. //#define BAUD  0xFD00                  // 9600bps @ 22.1184MHz
  30. //#define BAUD  0xFE80                  //19200bps @ 22.1184MHz
  31. //#define BAUD  0xFF40                  //38400bps @ 22.1184MHz
  32. //#define BAUD  0xFF80                  //57600bps @ 22.1184MHz

  33. sfr AUXR = 0x8E;
  34. sbit RXB = P3^0;                        //define UART TX/RX port
  35. sbit TXB = P3^1;

  36. typedef bit BOOL;
  37. typedef unsigned char BYTE;
  38. typedef unsigned int WORD;

  39. BYTE TBUF,RBUF;
  40. BYTE TDAT,RDAT;
  41. BYTE TCNT,RCNT;
  42. BYTE TBIT,RBIT;
  43. BOOL TING,RING;
  44. BOOL TEND,REND;

  45. void UART_INIT();

  46. BYTE t, r;
  47. BYTE buf[16];

  48. void main()
  49. {
  50.     TMOD = 0x00;                        //timer0 in 16-bit auto reload mode
  51.     AUXR = 0x80;                        //timer0 working at 1T mode
  52.     TL0 = BAUD;
  53.     TH0 = BAUD>>8;                      //initial timer0 and set reload value
  54.     TR0 = 1;                            //tiemr0 start running
  55.     ET0 = 1;                            //enable timer0 interrupt
  56.     PT0 = 1;                            //improve timer0 interrupt priority
  57.     EA = 1;                             //open global interrupt switch

  58.     UART_INIT();

  59.     while (1)
  60.     {                                   //user's function
  61.         if (REND)
  62.         {
  63.             REND = 0;
  64.             buf[r++ & 0x0f] = RBUF;
  65.         }
  66.         if (TEND)
  67.         {
  68.             if (t != r)
  69.             {
  70.                 TEND = 0;
  71.                 TBUF = buf[t++ & 0x0f];
  72.                 TING = 1;
  73.             }
  74.         }
  75.     }
  76. }

  77. //-----------------------------------------
  78. //Timer interrupt routine for UART

  79. void tm0() interrupt 1
  80. {
  81.     if (RING)
  82.     {
  83.         if (--RCNT == 0)
  84.         {
  85.             RCNT = 3;                   //reset send baudrate counter
  86.             if (--RBIT == 0)
  87.             {
  88.                 RBUF = RDAT;            //save the data to RBUF
  89.                 RING = 0;               //stop receive
  90.                 REND = 1;               //set receive completed flag
  91.             }
  92.             else
  93.             {
  94.                 RDAT >>= 1;
  95.                 if (RXB) RDAT |= 0x80;  //shift RX data to RX buffer
  96.             }
  97.         }
  98.     }
  99.     else if (!RXB)
  100.     {
  101.         RING = 1;                       //set start receive flag
  102.         RCNT = 4;                       //initial receive baudrate counter
  103.         RBIT = 9;                       //initial receive bit number (8 data bits + 1 stop bit)
  104.     }

  105.     if (--TCNT == 0)
  106.     {
  107.         TCNT = 3;                       //reset send baudrate counter
  108.         if (TING)                       //judge whether sending
  109.         {
  110.             if (TBIT == 0)
  111.             {
  112.                 TXB = 0;                //send start bit
  113.                 TDAT = TBUF;            //load data from TBUF to TDAT
  114.                 TBIT = 9;               //initial send bit number (8 data bits + 1 stop bit)
  115.             }
  116.             else
  117.             {
  118.                 TDAT >>= 1;             //shift data to CY
  119.                 if (--TBIT == 0)
  120.                 {
  121.                     TXB = 1;
  122.                     TING = 0;           //stop send
  123.                     TEND = 1;           //set send completed flag
  124.                 }
  125.                 else
  126.                 {
  127.                     TXB = CY;           //write CY to TX port
  128.                 }
  129.             }
  130.         }
  131.     }
  132. }

  133. //-----------------------------------------
  134. //initial UART module variable

  135. void UART_INIT()
  136. {
  137.     TING = 0;
  138.     RING = 0;
  139.     TEND = 1;
  140.     REND = 0;
  141.     TCNT = 0;
  142.     RCNT = 0;
  143. }

復制代碼
回復

使用道具 舉報

10#
ID:624769 發表于 2022-1-6 19:32 | 只看該作者
6313 發表于 2022-1-6 16:58
我想用15F104w做個藍牙遙控開關,就是串口不能用,能借鑒一下你的程序嗎

STC官方ISP 里面有 定時器+INT4 模擬半雙工 串口的 范例。絕對可用。
回復

使用道具 舉報

11#
ID:25310 發表于 2022-1-7 16:45 | 只看該作者
6313 發表于 2022-1-6 16:58
我想用15F104w做個藍牙遙控開關,就是串口不能用,能借鑒一下你的程序嗎

為啥不用STC8G1K08 ,也是8腳,才6毛5一片,功能強大多了。
回復

使用道具 舉報

12#
ID:879348 發表于 2022-1-7 17:26 | 只看該作者
官方就是串口下載程序,沒有的話也可以軟件模擬
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本成人在线观看网站 | 男女羞羞的网站 | 夜夜摸夜夜操 | 久久国产高清视频 | 亚洲国产一区二区三区 | 精品国产一区二区三区成人影院 | 黄色大片视频 | 国产一区二区三区在线免费 | 九九久久免费视频 | 91精品国产色综合久久 | 国产精品成人在线播放 | 国产精品久久国产精品99 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 亚洲欧美日韩精品久久亚洲区 | 午夜视频网站 | av官网在线 | 天天综合亚洲 | 亚洲免费一区 | 天堂av中文在线 | 国产aaaaav久久久一区二区 | av入口 | 亚洲国产偷 | 国产高清视频一区二区 | 黄色大片在线免费观看 | 国产一区二区三区亚洲 | 国内精品视频在线 | 91av久久久 | 国产成人精品一区二区三区在线观看 | 亚洲午夜三级 | 色在线免费视频 | 午夜影院在线观看 | 91精品亚洲 | 国产一级在线视频 | 久久黄色精品视频 | 国产精品精品久久久 | 91精品国产高清久久久久久久久 | 久久久精品网站 | 99久久久久久久 | 亚洲精品一区国语对白 | 精品一二三区视频 | 欧美极品视频 |