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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stc15系列單片機與pc串口檢測子程序程序

[復制鏈接]
跳轉到指定樓層
樓主

晶振18.432MHz


  1. #include"SERIAL_OUTOUT.H"
  2. #include "reg51.h"
  3. #include "intrins.h"



  4. #define FOSC 18432000L          //系統頻率
  5. #define BAUD 115200             //串口波特率

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

  11. #define PARITYBIT EVEN_PARITY   //定義校驗位

  12. bit busy;

  13. sbit P22 = P2^2;
  14. #define S1_S0 0x40              //P_SW1.6
  15. #define S1_S1 0x80              //P_SW1.7

  16. /*----------------------------
  17. 發送串口數據
  18. ----------------------------*/
  19. void Init_serial()
  20. {
  21.           ACC = P_SW1;
  22.    ACC &= ~(S1_S0 | S1_S1);    //S1_S0=0 S1_S1=0
  23.     P_SW1 = ACC;                //(P3.0/RxD, P3.1/TxD)
  24.    
  25. //  ACC = P_SW1;
  26. // ACC &= ~(S1_S0 | S1_S1);    //S1_S0=1 S1_S1=0
  27. // ACC |= S1_S0;               //(P3.6/RxD_2, P3.7/TxD_2)
  28. //P_SW1 = ACC;  
  29. //  
  30. //  ACC = P_SW1;
  31. //  ACC &= ~(S1_S0 | S1_S1);    //S1_S0=0 S1_S1=1
  32. //  ACC |= S1_S1;               //(P1.6/RxD_3, P1.7/TxD_3)
  33. //  P_SW1 = ACC;  

  34. #if (PARITYBIT == NONE_PARITY)
  35.     SCON = 0x50;                //8位可變波特率
  36. #elif (PARITYBIT == ODD_PARITY) || (PARITYBIT == EVEN_PARITY) || (PARITYBIT == MARK_PARITY)
  37.     SCON = 0xda;                //9位可變波特率,校驗位初始為1
  38. #elif (PARITYBIT == SPACE_PARITY)
  39.     SCON = 0xd2;                //9位可變波特率,校驗位初始為0
  40. #endif

  41.     T2L = (65536 - (FOSC/4/BAUD));   //設置波特率重裝值
  42.     T2H = (65536 - (FOSC/4/BAUD))>>8;
  43.     AUXR = 0x14;                //T2為1T模式, 并啟動定時器2
  44.     AUXR |= 0x01;               //選擇定時器2為串口1的波特率發生器
  45.     ES = 1;                     //使能串口1中斷
  46.     EA = 1;

  47. }


  48. void SendData(BYTE dat)
  49. {
  50.     while (busy);               //等待前面的數據發送完成
  51.     ACC = dat;                  //獲取校驗位P (PSW.0)
  52.     if (P)                      //根據P來設置校驗位
  53.     {
  54. #if (PARITYBIT == ODD_PARITY)
  55.         TB8 = 0;                //設置校驗位為0
  56. #elif (PARITYBIT == EVEN_PARITY)
  57.         TB8 = 1;                //設置校驗位為1
  58. #endif
  59.     }
  60.     else
  61.     {
  62. #if (PARITYBIT == ODD_PARITY)
  63.         TB8 = 1;                //設置校驗位為1
  64. #elif (PARITYBIT == EVEN_PARITY)
  65.         TB8 = 0;                //設置校驗位為0
  66. #endif
  67.     }
  68.     busy = 1;
  69.     SBUF = ACC;                 //寫數據到UART數據寄存器
  70. }

  71. /*----------------------------
  72. 發送字符串
  73. ----------------------------*/

  74. void SendString(char *s)
  75. {
  76.     while (*s)                  //檢測字符串結束標志
  77.     {
  78.         SendData(*s++);         //發送當前字符
  79.     }
  80. }

  81. void Uart() interrupt 4 using 1
  82. ……………………

  83. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  84. 單片機源程序如下:
復制代碼

所有資料51hei提供下載:
SERIAL_OUTOUT使用說明18.432MHz - 副本.zip (2.64 KB, 下載次數: 14)




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

使用道具 舉報

沙發
ID:140302 發表于 2017-8-15 10:27 | 只看該作者
謝謝分享!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频精品 | 国产一区二区三区免费 | 午夜男人的天堂 | 麻豆av在线免费观看 | 久草新在线 | 亚洲视频在线一区 | 国产精品成人一区二区 | 欧美1区2区 | 欧美激情久久久 | 搞av.com| 欧美日韩视频网站 | 天天插天天射天天干 | 黄一区二区三区 | 久久精品免费 | 国产黄色av网站 | 日韩电影一区 | 国产在线永久免费 | 午夜成人免费视频 | 久久久.com| 日韩国产欧美视频 | 成人av一区二区亚洲精 | 久久精品国产一区二区三区不卡 | 亚洲综合在 | 亚洲欧美激情国产综合久久久 | 欧美日韩黄色一级片 | 国产精品一区二区不卡 | 2021天天干夜夜爽 | 欧美精品在欧美一区二区少妇 | 久久久蜜臀国产一区二区 | 特级生活片| 亚洲国产高清高潮精品美女 | 亚洲一区视频在线 | 欧美美乳| 中文字幕av网站 | 国产99热| 午夜影院操 | 综合久久久久久久 | 成人国产精品久久 | 国产欧美精品一区二区色综合 | 国产亚洲精品精品国产亚洲综合 | 日日夜夜精品视频 |