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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9586|回復: 2
收起左側

51單片機串口發送數據道上位機客戶端

[復制鏈接]
ID:74187 發表于 2018-10-22 09:23 | 顯示全部樓層 |閱讀模式
本帖最后由 dabing89 于 2018-10-22 09:25 編輯

串口的應用是及其廣泛的,串口是單片機和外部設備聯系的通道,比如掃描槍,掃描儀,熱敏打印機等等,好多接口都是232或者485接口,如果沒有串口,單片機就只能和自己玩,這是很無聊的,串口分為收信息和發信息,我們先來看一下發信息,下面程序的作用是將HELLO WORLD通過串口軟件,在電腦上顯示出來。
  1. /********************************************************
  2. *描述:串口發送“hello world” 到電腦上  數據幀格式 9600 N 8 1
  3. *      
  4. QQ597627977
  5. ********************************************************/
  6. #include "stc15w.h"
  7. #include "string.h"//字符串比較函數


  8. /*******************************************************************************
  9. * 文件名:位定義
  10. * 描  述:
  11. * 功  能:
  12. * 作  者:大核桃
  13. * 版本號:1.0.1(2017.05.23)
  14. *******************************************************************************/
  15. typedef unsigned char uint8;
  16. typedef unsigned int  uint16;
  17. typedef unsigned long uint32;

  18. bit flag_led = 0;
  19. uint8 Usart1_Cmd = 0;
  20. uint8 Usart1_RxdBuf[20];
  21. uint8 Usart1_Cnt = 0;

  22. sbit LED0 = P1^0;

  23. /*******************************************************************************
  24. * 文件名:函數前置聲明
  25. * 描  述:
  26. * 功  能:
  27. * 作  者:大核桃
  28. * 版本號:1.0.1(2017.05.23)
  29. *******************************************************************************/void Bsp_Power_Init(void);
  30. void UartInit(void);                //9600bps@11.0592MHz
  31. void Usart1_Write_NByte(unsigned char *buf, unsigned char len);        //多字節
  32. void Usart1_Write_Byte(unsigned char buf);//單字節

  33. /*******************************************************************************
  34. * 文件名:主循環入口
  35. * 描  述:
  36. * 功  能:
  37. * 作  者:大核桃
  38. * 版本號:1.0.1(2017.05.23)
  39. *******************************************************************************/
  40. void main(void)
  41. {
  42.         UartInit();                //9600bps@11.0592MHz

  43.         Usart1_Write_NByte("hello world\r\n", sizeof("hello world\r\n") - 1); //發送HELLO WORLD 到串口        
  44. //  Usart1_Write_Byte('h');
  45. //        Usart1_Write_Byte('e');
  46. //        Usart1_Write_Byte('l');
  47. //        Usart1_Write_Byte('l');
  48. //        Usart1_Write_Byte('o');

  49.         while(1);
  50. }

  51. /*******************************************************************************
  52. * 文件名:void UartInit(void)                //9600bps@11.0592MHz
  53. * 描  述: 串口配置
  54. * 功  能:
  55. * 作  者:大核桃
  56. * 版本號:1.0.1(2017.05.23)
  57. *******************************************************************************/
  58. void UartInit(void)                //9600bps@11.0592MHz
  59. {
  60.         SCON = 0x50;                //8位數據,可變波特率
  61.         AUXR &= 0xBF;                //定時器1時鐘為Fosc/12,即12T
  62.         AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  63.         TMOD &= 0x0F;                //設定定時器1為16位自動重裝方式
  64.         TL1 = 0xE8;                       //設定定時初值
  65.         TH1 = 0xFF;                    //設定定時初值
  66.         ET1 = 0;                    //禁止定時器1中斷
  67.         TR1 = 1;                    //啟動定時器1
  68. }

  69. /*******************************************************************************
  70. * 文件名:void Usart1_Write_NByte(unsigned char *buf, unsigned char len)
  71. * 描  述: 串口數據寫入函數,即串口發送函數,待發送數據指針 buf,數據長度 len
  72. * 功  能:
  73. * 作  者:大核桃
  74. * 版本號:1.0.1(2017.05.23)
  75. *******************************************************************************/
  76. void Usart1_Write_NByte(unsigned char *buf, unsigned char len)
  77. {
  78.         while (len--)
  79.         {
  80.                 SBUF = *buf++;//向串口1發送數據
  81.                 while(TI == 0);//等待發送結束
  82.                 TI = 0;
  83.         }
  84. }

  85. /*******************************************************************************
  86. * 文件名:void Usart1_Write_Byte(unsigned char buf)
  87. * 描  述: 串口數據寫入函數,即串口發送函數,待發送數據指針 buf,數據長度 len
  88. * 功  能:
  89. * 作  者:大核桃
  90. * 版本號:1.0.1(2017.05.23)
  91. *******************************************************************************/
  92. void Usart1_Write_Byte(unsigned char buf)
  93. {
  94.         SBUF = buf;//向串口1發送數據
  95.         while(TI == 0);//等待發送結束
  96.         TI = 0;
  97. }



復制代碼
串口發.JPG

014 串口發.rar (32.1 KB, 下載次數: 135)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:743449 發表于 2020-5-17 10:40 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:1049825 發表于 2022-10-31 19:34 | 顯示全部樓層
對初學者的我來說,這很直觀和實用.謝謝樓主.
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区在线观看 | 亚洲一区精品在线 | 中文字幕一区在线观看视频 | 欧美国产中文字幕 | av毛片| 国产成人a亚洲精品 | 99精品国产一区二区青青牛奶 | 中文久久 | 欧美精品网 | 国产成人一区二区 | 欧美一区二区三区电影 | 色男人的天堂 | 免费黄色片视频 | 免费视频一区 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 四虎影院免费在线播放 | 亚洲欧美日韩精品久久亚洲区 | www久久国产 | 国产成人精品免高潮在线观看 | 亚洲iv一区二区三区 | 国产91 在线播放 | 亚洲国产一区二区三区在线观看 | 最新黄色毛片 | 免费视频一区二区 | 亚洲一级毛片 | 婷婷国产一区 | 国产一区在线免费观看视频 | 欧美精品一区二区三区在线播放 | 欧美黑人一级爽快片淫片高清 | 国产黑丝在线 | av大片 | 欧美亚洲视频在线观看 | 欧美日韩三级 | 国户精品久久久久久久久久久不卡 | 青青99| 欧美视频成人 | 午夜手机在线视频 | 精品www | 精品国产一区二区三区久久久蜜月 | 日韩av中文| 牛牛热在线视频 |