我这样做了,通过发送字符,然后接收字符,接收的是什么字符,就令一个IO口为高低电平,这样控制LED的亮灭,那又怎样实现调光呢
#include <reg51.h> // 接收 试试
#define uchar unsigned char
sbit led1=P3^2; // 接收 a , P3.2 输出低电平, P3.3 输出高电平。
sbit led2=P3^3; // 接收 a , P3.2 输出高电平, P3.3 输出低电平。
bit t,s;
uchar k;
void main (void)
{
SCON = 0x50;
TMOD = 0x21;
PCON = 0x80;
TH1 = 0xF4;
TL1 = 0xF4;
TH0=(65536-54253)/256; // 50 mS
TL0=(65536-54253)%256;
TR1 = 1;
ES = 1; // 开串口中断
EA = 1; // 开总中断
ET0=1;
TR0=1;
s=1;
while(1)
{ }}
void chuankou(void) interrupt 4
{
if(RI==1)
{
RI = 0;
TI = 0; if(t==1)
{
if(SBUF=='z') {led1=0;led2=1; }
if(SBUF=='a') {led1=1;led2=0; }
s=1; t=0;
}
if(SBUF=='a' && s==1) { t=1;s=0;}
}
}
void T0_time()interrupt 1
{
TH0=(65536-54253)/256; // 50 mS
TL0=(65536-54253)%256;
k++;
if(k==10)
{
k=0;
led1=1;
led2=1;
}
} |