當前位置:編程學習大全網 - 源碼下載 - 壹道51單片機的C語言程序,關於串口通訊的,很簡單......

壹道51單片機的C語言程序,關於串口通訊的,很簡單......

#include<reg52.h> //增強型52寄存器的定義

#define uchar unsigned char //用uchar代替unsigned char

#define uint unsigned int //用uint代替unsigned int

unsigned char flag,a,i; //定義變量flag,a,i

uchar code table[]="I receive,thanks"; //定義壹個字符串數組

void init()

{

} //設置工作方式,這個懂。

void main()

{

init(); //系統初始化,妳懂的

while(1) //主循環部分,壹直運行

{

if(flag==1) //等待flag標誌位置位,當接收到數據的時候在串口接收中斷中置位

{

ES=0; //禁止串口中斷,但是註意發送中斷標誌位的置位仍然正常

for(i=0;i<18;i++) //for循環為了壹個個把之前定義的字符串

{

SBUF=table[i]; //向串口收發緩沖器中寫入回應的內容“I receive,thanks”

while(!TI); //等待發送完成,發送中斷標誌被置壹,否則while循環壹直進行

TI=0; //清除發送中斷標誌位

}

SBUF=a; //繼續通過串口向串口收發緩沖器發送a,回顯收到的數據

while(!TI); //等待發送完成

TI=0; //清除發送中斷標誌位

ES=1; //重新使能串口中斷

flag=0; //清除flag,為了等待下壹次接收

}

}

}

void serial() interrupt 4 //串口中斷服務程序,優先級為4

{

RI=0; //當接收完成之後RI被置壹,發生串口中斷,清標誌位

a=SBUF; //讀取收到的字符,並賦給變量a

flag=1; //置接收完成標誌flag為壹,便於主程序中發送響應

}

  • 上一篇:Flash源代碼
  • 下一篇:數據分析課程筆記 - 20 - HIVE 核心技能之窗口函數
  • copyright 2024編程學習大全網