單片機控制白熾燈光漸變的C程序參考模板_第1頁
單片機控制白熾燈光漸變的C程序參考模板_第2頁
單片機控制白熾燈光漸變的C程序參考模板_第3頁
單片機控制白熾燈光漸變的C程序參考模板_第4頁
單片機控制白熾燈光漸變的C程序參考模板_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機控制白熾燈光漸變的C程序#include <reg52.h>#define uint unsigned int#define uchar unsigned char#define ON 0#define OFF 1void main()    TMOD = 0x11;    EA=1;    TCON=0x05;            &#

2、160;     2 / 9    for(;)            DispInfo( );        Display( );        keyscan( );    void

3、keyscan()                           if(S1_num=0)            if (S2=0)       

4、; mDelay(10);        if (S2=0)        if (K_Less30s>59)                 LampGradual();       

5、0;    void LampGradual()    Gradual=Lamp1;    K_Less30s=0;               /按開關燈鍵間隔小于30秒標記及時長記錄    EX0=1;        

6、;             /開外部中斷0    ET0=1;    TR0=1;    ET1=1;                     /定時器1中斷允

7、許    IT0=1;                       /INT0為下降沿觸發(以前忘了這個,漸變時卻不亮,呵呵)    On_Init=7000;           

8、0; /漸開定時觸發初始化為10ms,并遞減    Off_Init=4000;            /漸關定時觸發初始化為0ms,并遞增/  *  void timer0() interrupt 1                /實時

9、時鐘中斷程序    TH0=(65536-50000)/256;    TL0=(65536-50000)%256;    Time50ms+;         if(Time50ms=20)                 &#

10、160;   /實時時鐘走時累計                        Time50ms=0;              Sec+;     

11、         if(K_Less30s<60) /| OnTime=1 | OffTime=1           /*按鍵后或定時時間到后開關燈*                     

12、           K_Less30s+;                  if(K_Less30s=30)                

13、60; /30秒后*                                        K_Less30s=60;     &#

14、160;            /封閉漸開漸關操作,                      Lamp1=Gradual;    EX0=0;      &#

15、160;           /30秒后關中斷    ET1=0;                  /30秒后關定時器1    ET0=0;    TR0=0;  &#

16、160;                                         void INT0_AC0() interrupt 0    

17、;    /外部中斷0,AC過0時,50Hz交流電每秒過零100次,每次間隔10ms    ET1=1;                           /定時器1中斷允許    TR1=0;  

18、                         /定時器1開始計時    if(Gradual=OFF)                /漸開 &#

19、160;          -On_Init;              /On_Init-=2;         /每10ms        a=(65536-On_Init)/256; 

20、 /定時初值        b=(65536-On_Init)%256;        if(Gradual=ON)                /漸關            +Off_Init;          /Off_Init+=2;        a=(65536-Off_Init)/256;        b=(65536-Off_Init)%256; /   

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論