标题:
我完全按照论坛的原理图搭建的电路,程序烧录后灯不亮
[打印本页]
作者:
dj3365191
时间:
2019-8-20 11:35
标题:
我完全按照论坛的原理图搭建的电路,程序烧录后灯不亮
我完全按照你给的原理图搭建的电路,而且还反复仔细分析过你的实物电路,也是和原理图一致的,但是烧录程序后始终没有任何的反应,灯根本不亮,调节亮暗键也毫无反应。
/*
单片机白炽灯调光程序 (晶振:11.0592MHz)
*/
#include "reg52.h"
sbit lamp_pwm=P1^0;//可控硅位
sbit key0=P1^1;//降低亮度按键位
sbit key1=P1^2;//增加亮度按键位
unsigned int inc;
void INT0s()interrupt 0 using 0//INT0外部中断,过零检测触发
{
TR0=0;
if(!key0)//降低亮度
{
inc+=50;
if(inc>=8000)inc=8000;
}
if(!key1)//增加亮度
{
inc-=50;
if(inc<=800)inc=800;
}
TH0=(65536-inc)/256;
TL0=(65536-inc)%256;
TR0=1;
}
void timer1()interrupt 1 using 0//可控硅触发中断
{
unsigned char i;
lamp_pwm=0;//灯亮
for(i=0;i<2;i++);//延时2us
lamp_pwm=1;//灯灭
}
/************STC不断电下载用******************/
sfr ISP_DOWNS=0xe7;//ISP软复位地址
sbit ISP_SW=P3^0;//串口数据接收
void DebugDownISP()//软复位
{
if(!ISP_SW)ISP_DOWNS=0x60;
}
/********************************************/
void main()
{
TMOD|=0x01;
IT0=1;//INT0下降沿触发
EX0=1;//外部中断允许
ET0=1;
EA=1;//开总中断
inc=8000;
while(1)
{
DebugDownISP();
}
}
无标题.jpg
(147.36 KB, 下载次数: 47)
下载附件
2019-8-20 11:33 上传
作者:
LXJ50
时间:
2019-8-20 15:43
论坛里的程序!没有几个是拿来就可以正常运行的 ,虽然你付了黑币。玩论坛,你要具备一定的“C”编程能力,从论坛买来(用黑币)的程序中发现并修正BUG,只是让有C 编程能力的坛友不必自己从头编起。没有C 编程能力的坛友多几次失望而已。
作者:
wc86110
时间:
2019-8-20 20:29
把 R6 阻值改为 1k 看能否解决问题
作者:
汇源科技
时间:
2019-8-20 23:33
软件是串口调试用的,原理图不全,按键,,,还有P32,,,
作者:
wulin
时间:
2019-8-21 07:34
程序中与电路图用的单片机不是一样的。AT89C2051不具备ISP下载功能。
作者:
dj3365191
时间:
2019-8-21 10:03
我知道ATR89C2051没有ISP,我是用编程器把HEX文件烧录到单片机里的。现在问题解决了,坛子里下载的压缩包里有HEX和C文件,最初我烧录的是HEX文件,以至于没有任何反应。后来我把C程序编译了一下又重新生成HEX文件烧进去后发现按降低亮度键没反应,按增加亮度键,白炽灯闪了一下,再按又闪一下,我把按键按住不松开亮度慢慢增加到最亮,松开按键后亮度慢慢降低直到熄灭,用万用表测增加键1.3V,降低键5V,我把降低键加了个10K上拉,功能就正常了,看来还是程序有点问题,呵呵。
作者:
dj3365191
时间:
2019-8-21 10:10
网上有人说这个控制电路灯有些闪烁,我试验的这个无论亮度在亮和暗的时候都没有发现闪烁问题,只是亮度最大时220V只有190V左右,感觉可控硅没有完全导通,这个问题不知如何解决,哪位高手大神给指点一下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1