版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市大兴区高米店街道面向社会招聘临时辅助人员3人笔试参考题库及答案解析
- 2025山东滨州无棣县丰达建设工程集团有限公司及权属公司招聘工作人员4人(公共基础知识)综合能力测试题附答案
- 2025河南商丘市实达国际人力资源合作有限公司招聘辅助人员30考前自测高频考点模拟试题附答案
- 2025年中国民用航空局局属事业单位招聘(88人)备考题库附答案
- 2025年甘肃省兰州市西固区中医医院招聘(公共基础知识)测试题附答案
- 2025广东广州市越秀区林业和园林局招聘辅助人员1人备考题库附答案
- 2025民族出版社专业技术人员招聘4人(第二批)(公共基础知识)综合能力测试题附答案
- 2026河南省森源电气招聘笔试备考题库及答案解析
- 2026榆林市横山区石窑沟卫生院招聘(4人)笔试备考题库及答案解析
- 2026高校区域技术转移转化中心(福建)新型功能材料分中心招聘5人笔试参考题库及答案解析
- 质量互变课件
- 神经内科脑疝术后护理手册
- 幼儿园重大事项社会稳定风险评估制度(含实操模板)
- 2026年包头轻工职业技术学院单招职业适应性测试题库附答案
- 2025至2030中国应急行业市场深度分析及发展趋势与行业项目调研及市场前景预测评估报告
- 2025年中厚钢板行业分析报告及未来发展趋势预测
- 基于多因素分析的新生儿重症监护室患儿用药系统风险评价模型构建与实证研究
- 2025新能源光伏、风电发电工程施工质量验收规程
- 电磁炮课件教学课件
- JJF 2287-2025 测量水池声学特性校准规范(相关函数法)
- 财务岗位离职交接清单模版
评论
0/150
提交评论