資源簡介
用C語言寫的PIC18F452的串口通信代碼,方便各位學習USART通信,需要的同學抓緊了,代碼已測試通過。

代碼片段和文件信息
#include
/*串口初始值*/
void?UART_Init(void)
{
TRISC=0xc0;???????????????????????????//將RC<4>設置為輸入
TXSTA=0x24;??????????????????????????//發送狀態控制寄存器的設置
RCSTA=0x90;??????????????????????????//接受狀態控制寄存器設置
SPBRG=103;???????????????????????????//波特率設置
INTCONbits.GIE=1;? ??//全局中斷允許
INTCONbits.PEIE=1; ??//外設中斷允許
PIE1bits.RCIE=1; ??//第一外設中斷,串行通信接口發送中斷使能
}
/*主函數*/
void?main(void)
{?
UART_Init();
while(1);
}
void?UART_Isr(void); ??????//函數聲明
/*高優先級中斷向量*/
#pragma?code?low_vector=0x18
?void?low_interrupt(void)
?{
? _asm
goto?UART_Isr ?????//跳轉到中斷程序
_endasm
?}
/*高優先級中斷服務程序*/
#pragma?code?
#pragma?interruptlow?UART_Isr
void?UART_Isr(void)
{
if(PIE1bits.RCIE&&PIR1bits.RCIF) ?//若接收中斷標志不為1,則為誤操作,返回
{
TXREG=RCREG; //將接收到的數據放入發送寄存器,并啟動發送
while(!TXSTAbits.TRMT);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????985??2012-03-12?21:22??Serial?Communication\Serial?Communication.c
?????文件??????10104??2012-03-12?21:22??Serial?Communication\Serial?Communication.cof
?????文件????????897??2012-03-12?21:22??Serial?Communication\Serial?Communication.hex
?????文件??????40039??2012-03-12?21:22??Serial?Communication\Serial?Communication.map
?????文件???????1177??2012-03-12?21:22??Serial?Communication\Serial?Communication.mcp
?????文件???????2076??2012-03-12?21:22??Serial?Communication\Serial?Communication.mcs
?????文件??????24576??2012-03-12?21:22??Serial?Communication\Serial?Communication.mcw
?????文件???????3066??2012-03-12?21:22??Serial?Communication\Serial?Communication.o
?????目錄??????????0??2014-12-18?19:22??Serial?Communication
-----------?---------??----------?-----??----
????????????????82920????????????????????9
評論
共有 條評論