#include<STC15W408AS.h>
#include<INTRINS.H>
sbit Y55=P5^5; //将Y55位定义为P5.5
sbit SB0=P3^2; //将SB0位定义为P3.2
sbit SB1=P3^3; //将SB1位定义为P3.3
sbit SB2=P3^6; //将SB2位定义为P3.6
sbit SB3=P3^7; //将SB3位定义为P3.7
unsigned char Dio,D0,D1;
/**************************************************/
void FASHE(unsigned char x)
{
SBUF=x;
while(TI==0);
TI=0;
}
void UartInit(void) //
[email protected]{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR |= 0x04; //定时器2时钟为Fosc,即1T
T2L = 0xE0; //设定定时初值
T2H = 0xFE; //设定定时初值
AUXR |= 0x10; //启动定时器2
}
void DioIN() //@11.0592MHz
{
Dio=0;
if(SB0==0)Dio = Dio+0x01;
if(SB1==0)Dio = Dio+0x02;
if(SB2==0)Dio = Dio+0x04;
if(SB3==0)Dio = Dio+0x08;
}
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
/*****************************
函数功能:主函数
*****************************/
void main(void)
{
UartInit();
while(1)
{
DioIN();
FASHE(Dio);
Delay500ms();
}
}