|
下面分享一個(gè)單片機(jī)無(wú)級(jí)調(diào)光電路給大家。這個(gè)電路是在網(wǎng)上看到的,感覺(jué)簡(jiǎn)單適用,只是愛(ài)好者在制作過(guò)程中,一定注意安全。這個(gè)單片機(jī)調(diào)光電路單片機(jī)采用的是STC12C2052AD,晶振采用11.0592M。程序附后,有需要的自己下載。單片機(jī)部分除了使用STC12C2052AD,也可以使用AT89系列單片機(jī)。程序適合單路可控硅控制,因?yàn)槌绦蚴抢猛獠恐袛鄟?lái)控制定時(shí)器參數(shù)來(lái)完成過(guò)零延遲觸發(fā)可控硅的方式來(lái)調(diào)功的,如果是一片單片機(jī)控制多路可控硅,就必須改一種方式,定時(shí)器必須常開(kāi)而且參數(shù)定為10MS(一個(gè)過(guò)零周期),外部中斷用來(lái)給定時(shí)器做同步調(diào)整(外部中斷時(shí)給定時(shí)器置入溢出值),各路可控硅調(diào)功參數(shù)可以通過(guò)預(yù)設(shè)值和查表方式獲得相應(yīng)的延遲觸發(fā)時(shí)間點(diǎn)。
下載:
單片機(jī)可控硅無(wú)級(jí)調(diào)光程序.zip
(86.43 KB, 下載次數(shù): 2054)
2015-4-11 22:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
視頻:
源程序:
- /*
- 單片機(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外部中斷,過(guò)零檢測(cè)觸發(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;//開(kāi)總中斷
- inc=8000;
- while(1)
- {
- DebugDownISP();
- }
- }
復(fù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|