标题:
51单片机串口控制LED灯程序 到底是哪里出错了?看的我头都大了
[打印本页]
作者:
koke
时间:
2020-3-20 16:03
标题:
51单片机串口控制LED灯程序 到底是哪里出错了?看的我头都大了
想用51单片机串口实现控制LED灯,还是失败了
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char dat,num;
void main()
{
SCON=0X50;
TMOD=0x20;
TH1=0xCC;
TL1=0xCC;
PCON=0X80;
EA=1;
ES=1;
TR1=1;
while(1);
{
if(num==1)
{
switch(dat)
{
case(1):P2=0xfe;break;
case(2):P2=0xfd;break;
case(3):P2=0xf7;break;
}
ES=1;
num=0;
}
}
}
void ser() interrupt 4
{
RI=0;
dat=SBUF;
num=1;
SBUF=dat;
while(!TI);
TI=0;
}
作者:
csmyldl
时间:
2020-3-20 17:20
while(1);后有一个分号的话,后面的程序如何执行呢?去掉分号
作者:
f556
时间:
2020-3-20 17:31
这样提问,我只能告诉你程序很正常,写的很漂亮,你可以回家了,多喝水、多吃蔬菜、注意休息,过几天自然就好。
作者:
xxpp2011
时间:
2020-3-20 17:54
有原理图吗
作者:
zqy181818
时间:
2020-3-20 18:37
应该注意波特率的问题。
作者:
liqingb
时间:
2020-3-20 18:46
串口控制LED. 你的驱动芯片呢
作者:
carpcarey
时间:
2020-3-20 19:22
哪款单片机?不同单片机时钟周期不一样。硬件电路是什么?配多少的晶振?LED驱动电路有没问题?这都需要资料全了才能分析的。
作者:
tomboy
时间:
2020-3-20 20:44
main函数里 "while(1);" 死循环了
作者:
lk123i
时间:
2020-3-23 16:40
单片机型号不同,晶振是不同的,还要注意波特率大小,硬件没问题的话,你还得把程序改一下,main函数里的while后边的分号直接断了,不会执行里边的程序的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1