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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC12C5A60S2單片機串口通信多波特率選擇(51系列通用)

  [復制鏈接]
跳轉到指定樓層
樓主
多種波特率封裝成函數,方便使用。
11.0592Mhz,12.00Mhz波特率都配置好了,直接改參數調用就行,附詳細注釋方便學習
全部親自試過了,誤差0.00%




運行截圖:
(注意串口通信波特率與程序一致)


單片機源程序如下:
  1. #include <STC12C5A60S2.H>


  2. void UART_Init(unsigned int BaudRate) //串口初使化函數  11.0592Mhz 12單片機
  3. {
  4.         unsigned char TH1_Dat;
  5.         unsigned char PCON_Dat;
  6.         switch(BaudRate)
  7.     {
  8.        case 1200:  TH1_Dat=0xE8; PCON_Dat=0x00; break;
  9.        case 2400:  TH1_Dat=0xF4; PCON_Dat=0x00; break;
  10.        case 4800:  TH1_Dat=0xFA; PCON_Dat=0X00; break;
  11.        case 9600:  TH1_Dat=0xFD; PCON_Dat=0x00; break;
  12.        case 14400:  TH1_Dat=0xFE; PCON_Dat=0X00; break;
  13.     }
  14.         TMOD &= 0x0F;         //清除高4位數據
  15.     TMOD |= 0x20;        //定時器工作模式,0x20-工作方式2:8位自動重裝載模式
  16.     SCON = 0x50;          //串行口工作方式控制寄存器,當前為1
  17.                                         //Bit[7:6],00為工作方式0,01方式1,10方式2,11方式3
  18.     TH1 = TH1_Dat;         //8位自動重裝載定時器模式下,TH1被用作自動重裝載值寄存器
  19.     TL1 = TH1_Dat;             //TL1為計數寄存器
  20.     PCON |= PCON_Dat;         //Bit7-波特率倍增位:0-不培增  1-培增
  21.     EA = 1;               //打開總中斷
  22.     ES = 1;               //串口中斷允許位
  23.     TR1 = 1;                //定時器1開始計數
  24. }


  25. //void UART_Init(unsigned int BaudRate) //串口初使化函數  12.00Mhz 12單片機
  26. //{
  27. //        unsigned char TH1_Dat;
  28. //        unsigned char PCON_Dat;
  29. //        switch(BaudRate)
  30. //    {
  31. //       case 1200:  TH1_Dat=0xCC; PCON_Dat=0x80; break;
  32. //       case 2400:  TH1_Dat=0xE6; PCON_Dat=0x80; break;
  33. //       case 4800:  TH1_Dat=0xF3; PCON_Dat=0X80; break;
  34. //    }
  35. //        TMOD &= 0x0F;         //清除高4位數據
  36. //    TMOD |= 0x20;        //定時器工作模式,0x20-工作方式2:8位自動重裝載模式
  37. //    SCON = 0x50;          //串行口工作方式控制寄存器,當前為1
  38. //                                        //Bit[7:6],00為工作方式0,01方式1,10方式2,11方式3
  39. //    TH1 = TH1_Dat;         //8位自動重裝載定時器模式下,TH1被用作自動重裝載值寄存器
  40. //    TL1 = TH1_Dat;             //TL1為計數寄存器
  41. //    PCON |= PCON_Dat;         //Bit7-波特率倍增位:0-不培增  1-培增
  42. //    EA = 1;               //打開總中斷
  43. //    ES = 1;               //串口中斷允許位
  44. //    TR1 = 1;                //定時器1開始計數
  45. //}

  46. void main()
  47. {
  48.         UART_Init(14400);
  49.         while(1);
  50. }


  51. void Usart() interrupt 4
  52. {
  53.         unsigned char receiveData;

  54.         receiveData=SBUF;        //出去接收到的數據
  55.         RI = 0;                                //清除接收中斷標志位
  56.         SBUF=receiveData;        //將接收到的數據放入到發送寄存器
  57.         while(!TI);                        //等待發送數據完成
  58.         TI=0;                                //清除發送完成標志位
  59. }
復制代碼

Keil代碼工程51hei提供下載:
串口發送-12.zip (19.85 KB, 下載次數: 66)


評分

參與人數 3黑幣 +95 收起 理由
gqzjl + 5 很給力!
咸魚頭 + 30 淡定
admin + 60 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:853072 發表于 2021-7-19 17:31 | 只看該作者
57600波特率用串口2可以實現嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品亚洲一区二区三区在线 | 国产免费一区二区三区 | 91激情电影 | 成人免费淫片aa视频免费 | 五月综合激情在线 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 波多野结衣一区二区 | 久久久久国产 | 丝袜美腿一区二区三区 | 日本高清aⅴ毛片免费 | 毛片视频网址 | 性色视频 | 色综合色综合色综合 | 国产成人区 | 红桃视频一区二区三区免费 | 超碰97免费在线 | 在线免费毛片 | 亚州精品天堂中文字幕 | 亚洲第一网站 | 日本污视频 | 日韩1区2区 | 黄视频网站免费观看 | 日本免费一区二区三区四区 | 中文字幕欧美在线观看 | 欧美一级在线观看 | 国产一区二区三区欧美 | 涩涩鲁亚洲精品一区二区 | 麻豆一区二区三区精品视频 | 亚洲一区二区在线播放 | 成人伊人| 国产乱码精品一品二品 | 中文字幕欧美一区 | 久久久久成人精品 | 欧美一区二区三区小说 | 在线观看日本高清二区 | 蜜臀网| 国产精品一区二区三区久久久 | 久久久久久久一区二区三区 | 国产精品激情在线 | 国产午夜精品理论片a大结局 | 一级片免费视频 |