免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流水灯控制实验一、实验目的:1、掌握keil c51软件与proteus软件联合仿真调试的方法。2、掌握如何用程序与查表等方法实现流水效果。3、掌握按键去抖原理及处理方法。二、实验内容:1、用proteus设计一流水灯控制电路。利用p1口控制8个发光二极管l1l8。p3.3口接一按键k1。参考电路如下图所示。其中74ls240为8反相三态缓冲器。2、用中断或查询方式编写程序,每按动一次k1键,演示不同的流水效果。若用key表示按键的次数,则其对应的流水效果如下: key=0:l1-l8全亮; key=1:l1-l8先全灭,然后自右向左单管点亮,如此循环; key=2:l1-l8先全灭,然后自右向左依次点亮,如此循环; key=3:l1-l8先全亮,然后自左向右依次熄灭,如此循环; key=4:l1-l8先全灭,然后整体闪烁,如此循环; key=5:自行设计效果。以上移位及闪烁时间间隔均设置为0.3秒。按动5次按键后,再按键时,流水效果从头开始循环。三、实验原理及步骤:1.实验步骤:(1)用proteus设计流水灯控制电路。(2)在keil c51中编写流水灯控制程序,编译通过后,与proteus联合调试。(3)按动k1键,观察是否达到演示效果。(4)试用中断和查询两种方式编写程序,比较二者的区别。四、程序设计与调试:1.实验电路图如图1所示。2.实验源程序见附录。图1五、实验总结:1. 实验设计时注意按键电平抖动问题,可在检测到按键按下后延时510ms,待前沿抖动消失后,再检测按键状态,若发现仍保持闭合状态,则确真正有键按下。2. 74ls240的使用方法:74ls240是八反相三态缓冲器/线驱动器。实验时g引脚接地,输出电平与输入反相。3.用中断方式时,电路效率高,按下按键后,程序立即响应对应的中断程序;用查询方式编程时,按下按键时会有检测不到按键按下的情况,且效率较低。六、思考题1. 按键若不加去抖处理即不加延时检测程序时,按下一次按键后会有多次响应,会跳过一个或几个流水效果,因此遇到按键检测问题时,一定要注意延时消抖后再次检测。附录1.查询方式程序#include char code tab10=0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff; char code tab unsigned char num=0; sbit key=p33;void keyscan()if(key=0)delay_ms(10);if(key=0)num+;if(num=6)num=0; void allon()while(num=0)p1=tab9;keyscan();void r2lond()unsigned char t=0;for(t=0;t9&(num=1); t +)p1=tabt;delay_ms(200);keyscan();void r2lon()char t;p1=0x00;delay_ms(200); for(t=1;t0&(num=3);t-)m=(tabt)&(p1); p1=m; delay_ms(200); keyscan(); void allblink()while(num=4)p1=tab0;delay_ms(200);keyscan();p1=tab9;delay_ms(200);keyscan();void own()char k;for(k=1;k0;t-)for(i=0;i124;i+);void main()keyscan();while(1)switch(num) case 0:allon();break; case 1:r2lond();break; case 2:r2lon();break; case 3:l2roff();break; case 4:allblink();break; case 5:own();break;附录2.中断方式程序#include unsigned char num;char code tab10 = 0x00,0x01, 0x02, 0x04,0x08, 0x10,0x20,0x40,0x80,0xff;void exti_init()ex1=1;it1=0;ea=1;void allon()while(num=0)p1=tab9;void r2lond()unsigned char t=0;for(t=0;t9&(num=1);t+)p1=tabt;delay_ms(200); void r2lon()char t;p1=0x00;delay_ms(200); for(t=1;t0&(num=3);t-)m=(tabt)&(p1);p1=m;delay_ms(300);void allblink()while(num=4)p1=tab0;delay_ms(300);p1=tab9;delay_ms(300);void own()char k;for(k=1;k0;t-)for(i=0;i124;i+);main()exti_init();while(1)switch(num) case 0:allon();break; case 1:r2lond();break; case 2:r2lon();break; case 3:l2roff();break; case 4:allbl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年护理带教考核评价体系优化实践
- 2026年子宫腺肌病个案护理分享
- 2026 年护理不良事件根因分析与闭环管控
- 2026 年 1 例重症脑卒中合并多重并发症护理个案分享
- 2026年内分泌科重症糖尿病临床护理查房
- Python异常处理试题及答案
- 双减政策背景下小学语文家庭作业困境的解决策略
- 2026年安全工程师考试危化品泄漏应急处置流程资料题目及答案
- 教师心理测评试题及答案呈现
- 2026年度重庆市农业技术人员职称考试农机专业真题精讲解析卷
- 校外培训机构风险分级分类管控方案
- 2026下半年上海杨浦区卫健系统事业单位公开招聘93名专业技术人员笔试参考题库及答案详解
- ×××信息化项目验收报告
- 宁德市福安市2026学年数学三年级下学期期末综合测试试题(含答案)
- GA/T 1043-2025智能交通管理系统前端设备运行维护规范
- 2025年中国陶粒支撑剂市场调查研究报告
- 2026-2030中国无缝钛管行业现状规模与前景趋势研究报告
- 2026贵州航天医院助理全科医生(西医)培训招录25人备考题库及答案详解(基础+提升)
- 2026年茶艺师知识试题及答案
- 2026年仪表工高级技师答辩试题及答案
- 期末综合模拟卷-2025-2026学年五年级数学下册(人教版)含答案
评论
0/150
提交评论