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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2585|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久69精品久久久久久久电影好 | 亚洲免费视频在线观看 | 在线观看视频你懂得 | 欧美日韩一区不卡 | 久久精品国产一区 | 在线一区二区三区 | 国产高清视频在线播放 | 亚洲免费婷婷 | 一区二区精品电影 | 久久丁香 | 99久久免费精品国产免费高清 | 亚洲精品一区久久久久久 | 911精品国产 | 在线看片国产精品 | 中文日本在线 | 国产三级 | 国产福利资源在线 | 亚洲一区二区视频 | 欧美在线看片 | 日韩一区二区三区视频在线播放 | 国产成人久久精品一区二区三区 | 国产精品永久免费观看 | 欧美在线视频一区二区 | 在线看片国产精品 | 国产一区影院 | 精品国产18久久久久久二百 | 久久精品久久久久久 | 国产高清视频一区二区 | 免费午夜视频在线观看 | 国产在线播放一区二区三区 | 成人网av| 亚洲国产精品久久久久婷婷老年 | 国色天香综合网 | 国产在线看片 | 日韩一级欧美一级 | av日韩一区 | 午夜一区二区三区在线观看 | 国产1区在线 | 久久se精品一区精品二区 | 97综合在线| 亚洲精品国产电影 |