版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页51单片机按键控制花样灯/*****************************************************本程序实现用按键控制花样灯。**当K1按下时,灯从0xfe向左跑一遍;**当K2按下时,LED灯从0x7f向右跑一遍到了0xfe右跑回到起始位置;**当K3键按下时,LED灯从0xfe开始作流水灯形式运行一次,然后再流回来。**当K4键按下时,LED灯先亮前四个,接着再转向亮后四个。**当K5键按下时,结束任意正在进行的程序,使LED灯全部熄灭。*******************************************************/*************************************************连接方法:P0接独立按键JP5;P2接LED灯接口JP1************************************************************/#includereg52.h//头文件,函数声明#includeintrins.h//定义按键所在位sbitK1=P0^0;sbitK2=P0^1;sbitK3=P0^2;sbitK4=P0^3;sbitK5=P0^4;unsignedcharled;unsignedcharj;voiddelayms(unsignedcharms)//1ms标准延时{while(ms){for(j=0;j110;j++);//还是无法设置比较标准的延时,如1S等;所以应该用定时器延时才最准确}}voidmain(){//P2=led;unsignedinti;while(1){/**********************************************当K1按下时,灯从0xfe向左跑一遍;**********************************************/if(K1==0)delayms(10);//消除键盘抖动if(K1==0){led=0xfe;for(i=0;i7;i++)//i可以去8的倍数,表示本电路执行多少次{//led=0x7f;//P端口的初定义要在循环外面,不然会使效果错乱P2=led;//由于这里已经初设一个灯,所以for里面要加上这一个delayms(100);//起初这里设置500MS,使按键每按一下灯彩走一个,不能达到要求。led=_crol_(led,1);P2=led;delayms(100);}while(!K1);//这里强调松开就没再次执行程序P2=led;//说明执行完上面的程序的最后状态}//P2=led;//如果把本行放在这里,虽然在开头中没有说明程序烧写好之后就先显示一个灯,但由于本行在if外面,所有最后还是会显示/************************************************************当K2按下时,LED灯从0x7f向右跑一遍到了0xfe右跑回到起始位置************************************************************/if(K2==0)delayms(10);if(K2==0){led=0x7f;for(i=0;i7;i++){P2=led;delayms(100);led=_cror_(led,1);P2=led;delayms(100);}while(!K1);P2=led;delayms(100);for(i=0;i7;i++){led=_crol_(led,1);P2=led;delayms(100);//跑回去怎么就那么快呀?}//此时led=0x7f}/******************************************************当K3键按下时,LED灯从0xfe开始作流水灯形式运行一次,然后再流回来。**************************************************/if(K3==0)delayms(10);//消除抖动if(K3==0){led=0xfe;delayms(200);for(i=0;i7;i++){P2=led;delayms(200);led=led1;//备注led=_crol_(led,1)等于led1||led7;P2=led;delayms(200);if(led==0x00)break;//这里一定要有个break,跳出循环,然后别忘了此时的状态是00,而不是7f}while(!K1);led=0x7f;P2=led;delayms(200);for(i=0;i7;i++){led=led1;P2=led;delayms(200);}}/*****************************************************当K4键按下时,LED灯先亮前四个,接着再转向亮后四个。*****************************************************/if(K4==0)delayms(10);//消除抖动if(K4==0){for(i=0;i4;i++)//执行四次{led=0xf0;P2=led;delayms(500);led=0x0f;P2=led;delayms(500);}}/*********************************************************当K5键按下时,结束任意正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店技工培训
- 棋类社团比赛活动安排计划
- 班级荣誉感的培养途径计划
- 西南林业大学《文学概论》2021-2022学年第一学期期末试卷
- 西南交通大学《微机与接口技术》2021-2022学年第一学期期末试卷
- 西京学院《中国历代文学作品》2021-2022学年第一学期期末试卷
- 妊娠期糖尿病的管理
- 2024年01月11044合同法期末试题答案
- 西北大学《外国美术史》2021-2022学年第一学期期末试卷
- 西华大学《开源硬件与编程》2021-2022学年第一学期期末试卷
- 设备单机试运转记录
- 土木工程力学(本)试题-2021秋本-土木工程本复习资料-国家开放大学2022年1月期末考试复习资料
- 3505_四自由度SCARA机器人结构设计
- 小学太阳系八大行星
- 装配式施工方案-(修复的)
- 人教版小学数学三年级下册《年 月 日》的认识-文档资料
- 全风险全流程外包概述
- 变电站电气工程质量监理旁站点及旁站监理记录
- 评审专家保密承诺书
- 医院中医病历范本
- 消防产品入场核查清单
评论
0/150
提交评论