void SendStr(unsigned char *s);
void SendByte(unsigned char dat);
/*------------------------------------------------
串口初始化
------------------------------------------------*/
void InitUART (void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重裝
TH1 = 0xF4; // TH1: 重裝值2400波特率 晶振 11.0592MHz
TR1 = 1; // TR1: timer 1 打開
EA = 1; //打開總中斷
//ES = 1; //打開串口中斷
}
void InitEINT(void)
{
EA=1; //全局中斷開
EX0=1; //外部中斷0開
IT0=1; //邊沿觸發
EX1=1; //外部中斷0開
IT1=1; //邊沿觸發
}
/*------------------------------------------------
發送一個字節
------------------------------------------------*/
void SendByte1(unsigned char dat)
{
SBUF = dat;
while(!TI);
TI = 0;
}
/*------------------------------------------------
發送一個字符串
------------------------------------------------*/
void SendStr(unsigned char *s)
{
while(*s!='\0'){
SendByte1(*s);
s++;
}
}
/*------------------------------------------------
外部中斷程序
------------------------------------------------*/
void ISR_Key0(void) interrupt 0 using 1
{
char s[4];
char a=(char)tt/10;
char b=(char)tt%10;
s[0]=a;
s[1]=b;
s[2]='c';
s[3]='\0';
SendStr(s);
}
|