标题: 单片机硬件没问题软件没问题但是小灯不亮是怎么回事,在线等: [打印本页]
作者: hex.c 时间: 2017-7-28 20:10
标题: 单片机硬件没问题软件没问题但是小灯不亮是怎么回事,在线等:
我使用的是金沙滩51单片机开发板,stc89c52的单片机,
以下是我的程序:
#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main ()
{
unsigned char cnt = 0;
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 1;
TMOD = 0x01;
TH0 = 0xB8;
TL0 = 0x00;
TR0 = 1;
while(1)
{
if(TF0 == 1)
{
TF0 = 0;
TH0 = 0xB8;
TL0 = 0x00;
cnt++;
if(cnt >= 50)
{
cnt = 0;
LED = ~LED;
}
}
}
}
我的开发板显示如下:
小灯没坏,可以实现用for(i=1;i<=10000;i++)进行延时的流水灯,
不知道哪里出问题了,求大家指导,在线等:
作者: hex.c 时间: 2017-7-28 21:19
用T0定时器计时的秒表的程序也不能正常显示,
作者: 零度时空 时间: 2017-7-28 21:22
加个延时看看,可能是闪得太快了,人眼看不见
作者: mengzhixinheng 时间: 2017-7-28 21:29
定时器0没启动
作者: mengzhixinheng 时间: 2017-7-28 21:30
你的定时器初始化不完整
作者: hex.c 时间: 2017-7-28 21:49
好,我检查检查
作者: wc86110 时间: 2017-7-28 21:56
板上的电路并不适合使用这个程序
作者: wulin 时间: 2017-7-29 07:02
楼主的程序没有什么问题,但不清楚楼主对P1.0~1.4的设置是什么意思,统统注释掉,LED即可正常闪烁。
#include<reg52.h>
sbit LED = P0^0;
//sbit ADDR0 = P1^0;
//sbit ADDR1 = P1^1;
//sbit ADDR2 = P1^2;
//sbit ADDR3 = P1^3;
//sbit ENLED = P1^4;
void main ()
{
unsigned char cnt = 0;
// ENLED = 0;
// ADDR3 = 1;
// ADDR2 = 1;
// ADDR1 = 1;
// ADDR0 = 1;
TMOD = 0x01;
TH0 = 0xB8;
TL0 = 0x00;
TR0 = 1;
while(1)
{
if(TF0 == 1)
{
TF0 = 0;
TH0 = 0xB8;
TL0 = 0x00;
cnt++;
if(cnt >= 50)
{
cnt = 0;
LED = ~LED;
}
}
}
}
作者: yzwzfyz 时间: 2017-7-29 21:21
“单片机硬件没问题软件没问题但是小灯不亮”
一定是遇到“鬼”了。
作者: 吕聪聪 时间: 2017-7-30 11:01
定时器初始化未完成,补上EA=1试试。
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |