立即注冊 登錄
返回首頁

俁戈的個人空間

日志

最基礎串口通信

熱度 1已有 814 次閱讀2017-10-23 20:57 |個人分類:單片機| 串口

/**************************************************************************************
*              串口通信實驗  *
實現(xiàn)現(xiàn)象:下載程序后打開串口調(diào)試助手,將波特率設置為4800,選擇發(fā)送的數(shù)據(jù)就可以顯示
在串口助手上。具體操作參考操作視頻
注意事項:無。  
***************************************************************************************/

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16;  //對數(shù)據(jù)類型進行聲明定義
typedef unsigned char u8;


/*******************************************************************************
* 函數(shù)名         :UsartInit()
* 函數(shù)功能   :設置串口
* 輸入           : 無
* 輸出         : 無
*******************************************************************************/
void UsartInit()
{
SCON=0X50; //設置為工作方式1
TMOD=0X20; //設置計數(shù)器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //計數(shù)器初始值設置,注意波特率是4800的
TL1=0XF3;
ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計數(shù)器
}

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能 : 主函數(shù)
* 輸    入       : 無
* 輸    出     : 無
*******************************************************************************/
void main()
{
UsartInit();  // 串口初始化
while(1);
}

/*******************************************************************************
* 函數(shù)名         : Usart() interrupt 4
* 函數(shù)功能  : 串口通信中斷函數(shù)
* 輸入           : 無
* 輸出         : 無
*******************************************************************************/
void Usart() interrupt 4
{
u8 receiveData;

receiveData=SBUF;//出去接收到的數(shù)據(jù)
RI = 0;//清除接收中斷標志位
SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
while(!TI); //等待發(fā)送數(shù)據(jù)完成
TI=0; //清除發(fā)送完成標志位
}
1

路過

雞蛋

鮮花

握手

雷人

剛表態(tài)過的朋友 (1 人)

全部作者的其他最新日志

評論 (0 個評論)

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

Powered by 單片機教程網(wǎng)

返回頂部