|
請(qǐng)教這是哪出問題,燈會(huì)亮了滅 過零檢測不起作用。附件是仿真加程序
QQ圖片20171221221454.png (29.17 KB, 下載次數(shù): 65)
下載附件
2017-12-21 22:15 上傳
QQ圖片20171221214203.png (54.79 KB, 下載次數(shù): 63)
下載附件
2017-12-21 22:15 上傳
QQ圖片20171221221308.png (145.29 KB, 下載次數(shù): 76)
下載附件
2017-12-21 22:16 上傳
燈會(huì)亮了滅 過零檢測不起作用。
/*
單片機(jī)白熾燈調(diào)光程序 (晶振: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外部中斷,過零檢測觸發(fā)
{
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//可控硅觸發(fā)中斷
{
unsigned char i;
lamp_pwm=0;//燈亮
for(i=0;i<2;i++);//延時(shí)2us
lamp_pwm=1;//燈滅
}
/************STC不斷電下載用******************/
sfr ISP_DOWNS=0xe7;//ISP軟復(fù)位地址
sbit ISP_SW=P3^0;//串口數(shù)據(jù)接收
void DebugDownISP()//軟復(fù)位
{
if(!ISP_SW)ISP_DOWNS=0x60;
}
/********************************************/
void main()
{
TMOD|=0x01;
IT0=1;//INT0下降沿觸發(fā)
EX0=1;//外部中斷允許
ET0=1;
EA=1;//開總中斷
inc=8000;
while(1)
{
DebugDownISP();
}
}
|
評(píng)分
-
查看全部評(píng)分
|