单片机控制白炽灯光渐变的C程序_第1页
单片机控制白炽灯光渐变的C程序_第2页
单片机控制白炽灯光渐变的C程序_第3页
单片机控制白炽灯光渐变的C程序_第4页
单片机控制白炽灯光渐变的C程序_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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、0;          for(;)            DispInfo( );        Display( );        keyscan( );    void k

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

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

5、;    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、; /渐开定时触发初始化为10ms,并递减    Off_Init=4000;            /渐关定时触发初始化为0ms,并递增/  *  void timer0() interrupt 1                /实时时

9、钟中断程序    TH0=(65536-50000)/256;    TL0=(65536-50000)%256;    Time50ms+;         if(Time50ms=20)                 

10、60;   /实时时钟走时累计                        Time50ms=0;              Sec+;     &

11、#160;        if(K_Less30s<60) /| OnTime=1 | OffTime=1           /*按键后或定时时间到后开关灯*                     &

12、#160;          K_Less30s+;                  if(K_Less30s=30)                

13、0; /30秒后*                                        K_Less30s=60;     

14、60;            /封闭渐开渐关操作,                      Lamp1=Gradual;    EX0=0;      

15、60;           /30秒后关中断    ET1=0;                  /30秒后关定时器1    ET0=0;    TR0=0;  

16、60;                                         void INT0_AC0() interrupt 0    

17、    /外部中断0,AC过0时,50Hz交流电每秒过零100次,每次间隔10ms    ET1=1;                           /定时器1中断允许    TR1=0;  &

18、#160;                        /定时器1开始计时    if(Gradual=OFF)                /渐开 

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

20、#160;/定时初值        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

提交评论