本帖最后由 peiyang 于 2014-3-12 11:37 編輯
串口輸出不是我想要的,前幾天還好好的,突然就不知咋回事了!!!求高人指導!!!程序代碼:
#include"reg52.h"
//#include"intrins.h"
unsigned char s=0;
void initUART(void)//串口初始化
{
TMOD=0x25;//定時器1,工作方式2
SCON=0x50;//串口工作方式2,8位自動重裝載
// PCON=0;//波特率不倍增
EA=1; //開總中斷
ES=1; //開串口中斷
TH1=TL1=0xfd;//自動重裝值和初始值
TR1=1; //定時器1開
}
void main(void)
{
initUART();
while(1);
}
void inser() interrupt 4 //串口中斷服務程序
{
s=SBUF;
RI=0;
SBUF=s;
while(!TI);
TI=0;
}
在Protuse里運行的,用虛擬串口仿真,電路圖如下:
原理圖
右上角的是虛擬終端,調試用的,右下角的是Protuse里調用串口用的,已用虛擬串口軟件創建了COM1,COM2串口
晶振是11.0592的,設置波特率9600,仿真如下:
返回值應該是q的ASCII值,可他不是!
以前還好好的,突然就這樣了,求指教!!!!
|