//#include"stc12c5a60s2.h"
//#define uint8 unsigned char
//#define uint16 unsigned int
//sbit S4=P2^4;
//sbit S3=P2^5;
//sbit S2=P2^6;
//sbit S1=P2^7;
//sbit q1=P3^1;
//sbit q2=P3^0;
//sbit DE_RE=P2^0;
//uint16 num=0;
// uint8 i=0;
//uint8 flag;
//void UART_Init()
//{
//// PCON=0x80; //波特率除2
//// AUXR=0x11; //允许BRT
//// BRT=253; //BRT赋值波特率9600 250 244 232
//// EA=1; //中断总开关开
//// ES=1; //串口中断开关开
//// SM0=0; //工作方式1
//// SM1=1;
//// REN=1; //准备接收
//// DE_RE=0; //打开接收允许
//
//TMOD=0X20; //定时器1工作方式2
// TH1=253;
// TL1=253;
// TR1=1;
// EA=1;
// ES=1;
// SM0=0;
// SM1=1;
// REN=1;
// DE_RE=0;
//}
//void delay(uint16 x)
//{
// uint8 i;
// while(x--)
// {
// for(i=0;i<225;i++);
// }
//}
//
//void display(uint16 number)
//{
// uint8 num[10]={0xc0,0xf9, 0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
// S4=0;
// S3=1;
// S2=1;
// S1=1;
// P0=num[number/1000];
// delay(5);
// P0=0xff;
// S4=1;
// S3=0;
// S2=1;
// S1=1;
// P0=num[number/100%10];
// delay(5);
// P0=0xff;
// S4=1;
// S3=1;
// S2=0;
// S1=1;
// P0=num[number/10%10];
// delay(5);
// P0=0xff;
// S4=1;
// S3=1;
// S2=1;
// S1=0;
// P0=num[number%10];
// delay(5);
// P0=0xff;
//}
//void UART_Receive() interrupt 4
//{
// RI=0;
// num=SBUF;
// flag=1;
//}
//void main()
//{
// UART_Init();
// while(1)
// {
// display(num);
// if(flag==1)
// {
// DE_RE=1; //打开接收允许
// ES=0;
// SBUF=0X34;
// while(!TI);
// TI=0;
// ES=1;
// DE_RE=0; //打开接收允许
// flag=0;
// }
// }
//}
#include"stc12c5a60s2.h"
#define uint8 unsigned char
#define uint16 unsigned int
sbit S = P2^0;
uint16 num,flag;
void UART_Init()
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
EA = 1;
ES = 1;
SM0 = 0;
SM1 = 1;
REN = 1;
S = 0;
}
void UART_Receive() interrupt 4
{
RI = 0;
num = SBUF;
flag = 1;
}
void main()
{
UART_Init();
P12=0;
P0=0;
P2=0;
while(1)
{
if(flag==1)
{
ES = 0;
// S = 1;
P12=1;
SBUF = num;
while(!TI);
TI = 0;
P12=0;
// S = 0;
ES = 1;
flag = 0;
}
}
}