|
- #include "reg52.h"
- void ConfigUART(unsigned int baud);
- void main()
- {
- EA = 1;
- ConfigUART(9600);
- while(1);
- }
- void ConfigUART(unsigned int baud)
- {
- SCON = 0x50;//配置為模式1
- TMOD &= 0xf0;
- TMOD |= 0x20;
- TH1 = 256 - (11059200/12/32)/baud;
- TL1 = TH1;
- ET1 = 0;//利用T1中斷來進(jìn)行接收(發(fā)送)完成的中斷,所以要禁用T1的計時器中斷
- TR1 = 1;
- }
- void InterruptUART() interrupt 4
- {
- if(RI)
- {
- RI = 0;
- SBUF = SBUF + 1;//將接收的數(shù)據(jù)+1再發(fā)回去
- }
- if(TI)
- {
- TI = 0;
- }
- }
復(fù)制代碼
|
|