基于单片机c语言花样彩灯设计.doc

基于单片机c语言花样彩灯设计.doc

ID:59827315

大小:25.50 KB

页数:7页

时间:2020-11-25

基于单片机c语言花样彩灯设计.doc_第1页
基于单片机c语言花样彩灯设计.doc_第2页
基于单片机c语言花样彩灯设计.doc_第3页
基于单片机c语言花样彩灯设计.doc_第4页
基于单片机c语言花样彩灯设计.doc_第5页
资源描述:

《基于单片机c语言花样彩灯设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*-------------2011.3.19xxx编写------------------------------------------------------------设计名称:花样和速度可控的花样彩灯设计功能:1.本程序用了两个按键,其中一个可以循环控制花样,另一个循环控制流水速度;2.有断电保存当前花样和速度功能,即断电后,在重现上电时,执行的花样和速度仍旧是断电前的速度和花样。缺点:1、本程序为延时计时,精度不高;2、由于使用延时来得到秒信号,时数和分数被改变后,有时要过一秒后才能被更新显示-----------------------------

2、-------------------------------------------------------------------*/#include#include#include<24c02.c>sbits1=P1^4;//定义按键sbits2=P1^5;voidzhongduan(void)interrupt1{//P1=0xff;TR0=0;//关闭定时器T0if(s1==0)//如果按键s1被按下{delay_ms(10);//延时消抖di();{if(s1==0)//如果按键s1按下{k++;write_add_24c

3、02(0,k);if(k==6){k=1;}}while(!s1);flag=1;}//等待s1键抬起并改变标志位TR0=1;//启动定时器T0}if(s2==0)//如果按键s2被按下{delay_ms(10);//延时消抖di();if(s2==0){i++;write_add_24c02(1,i);if(i==6)i=1;}while(!s2);flag=1;}//等待s2键抬起并改变标志位TR0=1;//启动定时器T0}voidmain(void){TMOD=0X02;//定时器TO,工作方式2,带自动装在的8位计数器,最大数值2^8=256TH0=256

4、-200;//装载初值TL0=256-200;ET0=1;//定时器T0中断允许TR0=1;//开启定时器T0EA=1;//打开外部中断0k=read_add_24c02(0);i=read_add_24c02(1);if(k>=6)k=1;if(i>=6)i=1;while(1){flag=0;//按键按下标志位while(flag==0)//检测到有按键按下{switch(k){case1:huayang_1();break;case2:huayang_2();break;case3:huayang_3();break;case4:huayang_4();br

5、eak;case5:huayang_5();break;}switch(i){case1:x=10;break;case2:x=100;break;case3:x=500;break;case4:x=1000;break;case5:x=2000;break;}}}}/****************************************花样子文件zi.c*************************************************//*sbitS1=P1^3;定义按键s1为引脚P1.3sbitS2=P1^4;sbitS3=P1^5;

6、sbitS4=P1^6;sbitS5=P1^7;*/#defineledP3sbitbeep=P2^0;//定义蜂鸣器为引脚P2.0unsignedintx=10;unsignedchark=1,i=1,flag=0;//#defineledledvoiddelay_ms(unsignedintxms)//1ms延时子程序{unsignedintaa,bb;for(aa=xms;aa>0;aa--){if(flag==1)//当检测到有按键按下,跳出内层循环break;for(bb=800;bb>0;bb--);}//调整bb数值,以使本句运行时间为1ms。//在

7、PROTEUS中仿真时,可调为120;实际下载到STC12C5A32S2使应调为800左右}//-------------------------------------------------voiddi()//短促响一声函数{beep=0;delay_ms(100);beep=1;}//-----------------------------------------------//------------------花样1隔一个位置灯亮----------------voidhuayang_1(void){led=0xfe;delay_ms(x);led=0

8、xfb;d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。