資源簡介
RS232 串口通信
通過鍵盤輸入LED1_0/1/2 控制LED的亮,滅,翻轉
如果錯誤,會提示重新輸入。
代碼片段和文件信息
/**************************
RS232?串口通信
鍵盤輸入一段指令,控制LED亮,
滅,翻轉。
LED1_0/1/2?第一個1代表第一個LED
第二個1代表滅,0代表亮,2代表翻轉
****************************/
#include?
#include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
uchar?sbuf;?//存放緩存數據
uchar?sf[6];??//存放輸入的命令
bit?com;?//指令輸入完成的標志
bit?er_1?er_2;?//輸入錯誤標志
/******************************
定時器1的初始化,中斷打開
*****************************/
void?timer1_init()
{
??TMOD?|=?0x20;
??TH1?=?TL1?=?0xF3;
??TR1?=?1;
??SM0?=?0;?SM1?=?1;
??SM2?=?0;?
??REN?=?1;
}
void?isr_init()
{
??EA?=?1;
??ES?=?1;
}
/*****************************
串口中斷服務函數
*******************************/
void?isr_es()?interrupt?4
{
??static?uchar?i;
??bit?es;
??if(RI?==?1)
??{
????RI?=?0;
sbuf?=?SBUF;
????if(sbuf?!=?‘\r‘)
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-03-28?20:45??uart_3\
?????目錄???????????0??2012-03-28?20:46??uart_3\main\
?????文件????????2921??2012-03-28?22:51??uart_3\main\main.c
?????目錄???????????0??2012-03-28?22:51??uart_3\out\
?????文件?????????792??2012-03-28?22:51??uart_3\out\STARTUP.obj
?????文件????????8948??2012-03-28?22:51??uart_3\out\main.obj
?????文件????????8521??2012-03-28?22:51??uart_3\out\uart_3
?????文件????????2108??2012-03-28?22:51??uart_3\out\uart_3.hex
?????文件??????????85??2012-03-28?22:51??uart_3\out\uart_3.lnp
?????目錄???????????0??2012-03-28?22:51??uart_3\proj\
?????文件????????6376??2009-05-07?14:37??uart_3\proj\STARTUP.A51
?????文件???????14096??2012-03-28?22:51??uart_3\proj\STARTUP.LST
?????文件????????7504??2012-03-28?22:51??uart_3\proj\main.lst
?????文件???????12535??2012-03-28?22:51??uart_3\proj\uart_3.m51
?????文件????????6732??2012-03-28?22:51??uart_3\proj\uart_3.plg
?????文件???????56887??2012-03-28?22:51??uart_3\proj\uart_3.uvopt
?????文件???????13408??2012-03-28?22:51??uart_3\proj\uart_3.uvproj
?????文件???????????0??2012-03-28?20:45??uart_3\proj\uart_3_uvproj.bak
評論
共有 條評論