求个口串口助手控制51单片机LED亮与灭程序
求个口串口助手控制51单片机LED亮与灭程序,2个LED(一个接P1.1,另一个接P2.1),低电平亮。晶振11.0592。程序说明:在串口助手上发关指令控制LED亮与灭...
求个口串口助手控制51单片机LED亮与灭程序,2个LED(一个接P1.1,另一个接P2.1),低电平亮。晶振11.0592。 程序说明:在串口助手上发关指令控制LED亮与灭(可以分别控制,指令由您定,告诉我就行了),还在串口助手上的 波特率 我要选多少? 谢谢
程序最好能给加上说明,谢谢 展开
程序最好能给加上说明,谢谢 展开
3个回答
2014-05-16 · 知道合伙人数码行家
关注
展开全部
#include<stc89.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1 = P1 ^ 1; //定义两个LED灯
sbit led2 = P1 ^ 2; // 这里需要你自己定义你的I/O口
uchar a;
//void delay(uint z);
void init();
void main()
{
init();
while(1)
{
if (a == 0x31)
{
led1 = 0;
led2 = 0;
}
if (a == 0x32)
{
led1 = 1;
led2 = 1;
}
if (a == 0x33)
{
led1 = 0;
}
if (a == 0x34)
{
led1 = 1;
}
}
}
void init() //初始化
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
ES = 1;
EA =1;
SCON=0x50;
}
/*void delay(uint z) //延时
{
uint x,y;
for(x=110;x>0;x--)
for(y=z;y>0;y--);
}
*/
void Serial() interrupt 4 //串口中断程序
{
RI = 0;
a = SBUF;
}
/*
----------------
说明:
波特率 9600
在串口助手里面(把16进制关闭) 输入 31 是 开启灯亮
32 是 关闭
也可以用switch语句
----------------
*/
#define uchar unsigned char
#define uint unsigned int
sbit led1 = P1 ^ 1; //定义两个LED灯
sbit led2 = P1 ^ 2; // 这里需要你自己定义你的I/O口
uchar a;
//void delay(uint z);
void init();
void main()
{
init();
while(1)
{
if (a == 0x31)
{
led1 = 0;
led2 = 0;
}
if (a == 0x32)
{
led1 = 1;
led2 = 1;
}
if (a == 0x33)
{
led1 = 0;
}
if (a == 0x34)
{
led1 = 1;
}
}
}
void init() //初始化
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
ES = 1;
EA =1;
SCON=0x50;
}
/*void delay(uint z) //延时
{
uint x,y;
for(x=110;x>0;x--)
for(y=z;y>0;y--);
}
*/
void Serial() interrupt 4 //串口中断程序
{
RI = 0;
a = SBUF;
}
/*
----------------
说明:
波特率 9600
在串口助手里面(把16进制关闭) 输入 31 是 开启灯亮
32 是 关闭
也可以用switch语句
----------------
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询