欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 新手入門:51單片機RS232源碼歷程 [打印本頁]

作者: tongxiaoshu    時間: 2018-7-3 09:16
標題: 新手入門:51單片機RS232源碼歷程
新手可下載學習

單片機源程序如下:
  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)



作者: 魔法水電工    時間: 2019-8-10 10:39
那個電路圖看不到了 T T




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1