|
#include <STC12C2052AD.H> //用的是STC12系列單片機(jī)
#define uchar unsigned char
#define uint unsigned int
uchar num=0,num1=100;
sbit pwm=P1^7; //觸發(fā)三極管控制腳
sbit k1=P3^7;
unsigned char i;
bit trigger=0;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
TMOD=0x01;
TH0=0xFF;//定時(shí)0.1ms
TL0=0x9C;
EA=1; //開(kāi)總中斷
EX0=1; //開(kāi)外部0中斷
ET0=1; //開(kāi)定時(shí)器中斷
pwm=0; //初始輸出0,三極管截止,可控硅不導(dǎo)通.
k1=1;
// TR0=1;
// IT0=1;//INT0下降沿觸發(fā)
while(1);
}
void timer0() interrupt 1
{
TH0=0xFF; //定時(shí)0.1ms
TL0=0x9C;
num++;
if(num==50)
{
pwm=1;
for(i=0;i<5;i++);//延時(shí)2us
pwm=0;
}
if(num>99)
{
num=0;
}
}
void ext0() interrupt 0 //過(guò)零檢測(cè)、外部中斷
{
IE0=0; //清楚中斷標(biāo)志位
num=0;
TR0=1;
}
嗯 原理基本了解,我現(xiàn)在的情況是沒(méi)有使用下降沿觸發(fā),燈泡的端電壓只有100V,還有微弱的閃爍感,也能從0-22V調(diào),但是總感覺(jué)怪怪的,不像我用TLP521做過(guò)零檢測(cè)電路,端電壓正好110V,而且還不閃,這是什么原因呢?
|
|