資源簡介
PIC單片機uart通信,通過proteus仿真,可以通過虛擬串口,與串口調試助手連調

代碼片段和文件信息
#include?//包含單片機內部資源預定義
#ifndef?uchar
#define?uchar?unsigned?char
#define?uint?unsigned?int
#endif
//__CONFIG(0x2129);
bit?rec_flag; //串口中斷標志位,有串口中斷,置1
uchar?uartdata; //串口數據保存到此位置中
void?Uart_char(uchar?dat);//串口發送一個數據
/*************************************************************
函數原型:void?main(void)
功????能:等待串口發送中斷到來,將接收到的設計再通過串口發回
*************************************************************/
void?main(void)
{
TRISB1=1;
TRISB2=1;
SPBRG=0X19;??????????????????//設置波特率為9600BPS
TXSTA=0X24;? ?//使能串口發送,選擇高速波特率
RCSTA=0X90;? ?//使能串口工作,連續接收
RCIE=0X1;? ?//使能接收中斷
GIE=0X1;? ?//開放全局中斷
PEIE=0X1; ?//使能外部中斷
//INTCON=0X00;
/* while(1)?????????????? ?//查詢模式下
{
RCIE=1; ?
while(RCIF==0);
RCIE=0;
Send_char(RCREG);
}
*/
while(1)?? //中斷模式下,等待中斷的到來
{
if(rec_flag==1)?????????//如果接收中斷到來?
{
rec_flag=0;?????????//接收標志清零?
Uart_char(uartdata);?//將接收來的數據發送到串口
}
}?
}
/**********************************************
函數原型:void?Uart_char(uchar?dat)
功????能:將dat數據通過串口傳送出去
**********************************************/
void?Uart_char(uchar?dat)
{?
TXREG=dat; //將dat數據存入TXREG
// TXEN=1;? //啟動發送,TSR開始移位操作。
while?(TRMT==0); //判斷是否TSR發送完畢,未完等待。
// TXEN=0;? //關發送功能,防止TXREG空時,TXIF產生置位
}
/**********************************************
函數原型:void?interrupt?usart(void)
功????能:串口接收到數據,接受發來的數據將接
??????收到數據標志位rec_flag置1
**********************************************/
void?interrupt?usart(void)
{
if(RCIF)?//判斷是否為串口接收中斷
{
rec_flag?=?1;
//RCIF=0;
uartdata?=?RCREG;?//?接收數據并存儲
//TXREG=recdata?;?//把接收到的數據發送回去
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5632??2012-07-11?08:51??PIC_uart\16c73.cod
?????文件???????3403??2012-07-11?08:51??PIC_uart\16c73.cof
?????文件????????877??2012-07-11?08:51??PIC_uart\16c73.hex
?????文件??????????0??2012-07-11?08:51??PIC_uart\16c73.lde
?????文件????????983??2012-07-11?08:10??PIC_uart\16c73.mcp
?????文件????????733??2012-07-12?07:44??PIC_uart\16c73.mcs
?????文件??????25088??2012-07-11?08:54??PIC_uart\16c73.mcw
?????文件???????4059??2012-07-11?08:51??PIC_uart\16c73.sym
?????文件?????119570??2012-07-12?07:45??PIC_uart\232.DSN
?????文件????????962??2012-07-12?07:45??PIC_uart\232.PWI
?????文件?????119571??2012-07-10?23:34??PIC_uart\Last?Loaded?232.DBK
?????文件???????1974??2012-07-12?14:24??PIC_uart\main.c
?????文件??????????0??2012-07-11?08:51??PIC_uart\main.cce
?????文件??????20073??2012-07-11?08:51??PIC_uart\main.lst
?????文件???????3176??2012-07-11?08:51??PIC_uart\main.obj
?????文件??????25280??2012-07-11?08:51??PIC_uart\main.rlf
?????文件???????7560??2012-07-11?08:51??PIC_uart\main.sdb
?????目錄??????????0??2012-07-13?22:23??PIC_uart
-----------?---------??----------?-----??----
???????????????338941????????????????????18
評論
共有 條評論