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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

新手入門:51單片機RS232源碼歷程

[復制鏈接]
跳轉到指定樓層
樓主
ID:363650 發表于 2018-7-3 09:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
新手可下載學習

單片機源程序如下:
  1. #include <reg51.h>
  2. unsigned char i = 0;
  3. unsigned char uid[9];
  4. void main(void)
  5. {
  6.         SCON = 0X50;
  7.         PCON = 0X00;
  8.         TMOD = 0X20;
  9.         TH1 = 0XFD;
  10.         TL1 = 0XFD;
  11.         TR1 = 1;
  12.         //ET1 = 1;
  13.         ES = 1;
  14.         EA = 1;
  15.         while(1);
  16.         /*{
  17.                 if(RI)
  18.                         RI = 0;
  19.         } */
  20. }

  21. void comm() interrupt 4
  22. {
  23.         /*//ES = 0;
  24.         if(RI)
  25.         {
  26.                 RI = 0;
  27.                 uid[i] = SBUF;
  28.                 i++;
  29.                 SBUF = uid[i-1];
  30.                 if(i == 10)
  31.                 {
  32.                         i = 0;
  33.                 }
  34.                
  35.         }
  36.         if(TI)
  37.         {
  38.                
  39.                 TI = 0;
  40.         }
  41.         //ES = 1; */

  42.         unsigned char  j;
  43.         //ES = 0;
  44.         if(RI == 1)
  45.         {
  46.                 RI = 0;

  47.                 uid[i] = SBUF;       
  48.                 i++;
  49.                 if(i == 9)
  50.                 {
  51.                         i = 0;
  52.                         j = uid[1]+uid[2]+uid[3]+uid[4]+uid[5]+uid[6];
  53.                         if(uid[0] == 0x0a && j == uid[7])
  54.                         {
  55.                                 //設置終端地址
  56.                                 //if(DownloadTNuid(uid))
  57.                                 //{
  58.                                         SBUF = 0XFF;
  59.                                 //}
  60.                         }
  61.                         else
  62.                         {
  63.                                 SBUF = 0XEE;
  64.                         }
  65.                 }
  66.         }
  67.         if(TI == 1)
  68.         {
  69.                 TI = 0;
  70.         }
  71.         //ES = 1;

  72. }

  73. /*//  Module Name :  uart.c
  74. //  CreateDate  :  2008-4-1
  75. //  ModifData   :  2008-4-1
  76. //  Description :  串口中斷程序,發送接收到的字符,已測試通過。
  77. //  Author      :  LuoWei
  78. //  Version     :  YBD_V1.0
  79. //=====================================================================================
  80. #include "reg51.h"

  81. #define uchar unsigned char
  82. #define uint unsigned int

  83. //--------------------------------------------------------------------------
  84. //函數名稱:      UART_Init()
  85. //函數功能:      串口初始化函數,在系統時鐘為11.059MHZ時,設定串口波特率為9600bit/s
  86. //其他說明:      串口接收中斷允許,發送中斷禁止
  87. //--------------------------------------------------------------------------

  88. void UART_Init(void)
  89. {
  90. SCON = 0x50 ;  //SCON: serail mode 1, 8-bit UART, enable ucvr
  91. TMOD = 0x20 ;  //TMOD: timer 1, mode 2, 8-bit reload
  92. PCON = 0x80 ;  //SMOD=1;
  93. TH1 = 0xFA ;  //Baud:9600 fosc="11".0592MHz
  94. ES=1;
  95. TR1 = 1 ;   // timer 1 run
  96. EA=1;
  97. }



  98. //--------------------------------------------------------------------------
  99. //函數名稱:      main(void)
  100. //函數功能:      主函數
  101. //其他說明:      無
  102. //--------------------------------------------------------------------------

  103. void main(void)
  104. {
  105. UART_Init();
  106. while(1);
  107. }


  108. //--------------------------------------------------------------------------
  109. //函數名稱:      Uart_SendData()
  110. //函數功能:      串口發送一個字節的數據
  111. //其他說明:      此程序供中斷調用
  112. //--------------------------------------------------------------------------

  113. void Uart_SendData(uchar dat)
  114. {
  115. SBUF=dat;  //寫SBUF,開始發送
  116. while(TI==0); //等待發送
  117.   TI= 0;   //清發送標志位
  118. }



  119. //--------------------------------------------------------------------------
  120. //函數名稱:      INT_UartRcv()
  121. //函數功能:      串口接收中斷函數
  122. //其他說明:      無
  123. //--------------------------------------------------------------------------

  124. void INT_UartRcv(void) interrupt 4
  125. {
  126. uchar Rcv= 0;
  127. if(RI)
  128. {
  129.   RI= 0;     //
  130.   Rcv = SBUF;
  131.   Uart_SendData(Rcv);  //返回接收數據,可以改為其他函數  
  132. }

  133. } */
復制代碼

所有資料51hei提供下載:
232.zip (1.21 KB, 下載次數: 27)


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

使用道具 舉報

沙發
ID:453316 發表于 2019-8-10 10:39 | 只看該作者
那個電路圖看不到了 T T
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 性做久久久久久免费观看欧美 | 91成人精品| 国产精品亚洲第一区在线暖暖韩国 | 成人免费观看网站 | 久久精品国产a三级三级三级 | 日本a在线| 色综合久 | av国产精品 | 久草网址 | 天天操天天射综合网 | 欧美精产国品一二三区 | 亚洲欧美日韩久久久 | 成人亚洲| 欧美乱做爰xxxⅹ久久久 | 亚洲男女视频在线观看 | 91资源在线 | 国产亚洲精品久久情网 | 草b视频| 成人午夜激情 | 国产精品观看 | 国产二区av | 日韩成人中文字幕 | 亚洲福利在线观看 | 日日夜夜av | 日本三级视频 | 久久国产欧美日韩精品 | 久草成人| 久久精彩视频 | 亚洲欧美aⅴ | 欧美www在线 | 四虎网站在线观看 | 亚洲午夜av久久乱码 | 欧美午夜视频 | 91久久久久 | 一区精品在线观看 | 亚洲一区视频在线播放 | 亚洲一区二区三区四区视频 | 精品免费视频 | 2019天天干天天操 | 2020天天操 | 精品久久久久久久久久久久 |