![可控流水等设计doc_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/01194706-e28b-4815-9b0e-7f799414f12a/01194706-e28b-4815-9b0e-7f799414f12a1.gif)
![可控流水等设计doc_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/01194706-e28b-4815-9b0e-7f799414f12a/01194706-e28b-4815-9b0e-7f799414f12a2.gif)
![可控流水等设计doc_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/01194706-e28b-4815-9b0e-7f799414f12a/01194706-e28b-4815-9b0e-7f799414f12a3.gif)
![可控流水等设计doc_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/01194706-e28b-4815-9b0e-7f799414f12a/01194706-e28b-4815-9b0e-7f799414f12a4.gif)
![可控流水等设计doc_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/01194706-e28b-4815-9b0e-7f799414f12a/01194706-e28b-4815-9b0e-7f799414f12a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计题目可控的左右循环流水灯设计学生姓名李强学号1207030124教学院系电气信息学院专业年级电子信息工程2012级完成日期2015年7月2日摘要此设计是根据我们所学习的单片机课程,按照大纲要求对门我进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机的应用有很大帮助。近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,其应用领域也在不断的扩大,在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要也最基础的智能化的核心部件。流水灯的控制应该是我们学习一片单片机最基本
2、的入门知识,此设计应用80C51单片机作为主控芯片,根据不同的按键情况,实现LED灯不同的亮灭组合形式。通过使用循环移位函数,改变端口的输出值,达到LED灯流水闪烁的效果。不同的按键对应不同的函数调用,不同的函数对应不同的LED灯亮灭。此设计中,程序部分由当前流行的C语言编写,采用PROTUES软件和Keil软件进行联合仿真。关键词:按键;流水灯;单片机;PROTUES;KeilAbstractThe design is based on what we learn the course syllabus, according to the requirements of your first
3、 course examination, is the necessary training course of our mission, and SCM are of great help. Master microcontroller technology is one of the indispensable to our future technology, the work and life and learning are very close connection. In recent years ,with the electronic technology and the d
4、evelopment of the microcomputer chip, has advanced science , intelligent instrument, electrical appliances automobile electronic system, office automation equipment, become the most important core components of intelligence. As we know ,controlling running LED is the most basic introductory knowledg
5、e that when we learn to use a single chip. This design using 80C51 single chip microcomputer as the main control chip, according to different keys, LED lights bright differently. By using the cyclic shift function, the output value of the port is changed to achieve the effect of the LED light flashi
6、ng. Different keys correspond to different functions, different functions corresponding to different LED lights light out. In this design, the original program is C language program, using the simulation software, and popular PROTUES and KEIL joint simulation, convenient debug program and modify the
7、 hardware, the results show that the scheme design of hardware correct procedures also meets the requirement .Keywords: Bottom;Running LED;single chip ; PROTUES;Keil目录1 设计任务- 4 -2 方案设计- 4 -3 硬件设计- 4 -3.1系统的整体框图- 4 -3.2硬件系统原理图- 5 -3.3元器件清单- 5 -4 软件设计- 5 -4.1软件设计的原理- 5 -5调试过程及结果- 8 -6 结论- 8 -参 考 文 献-
8、9 -附录- 11 -1 设计任务设计一个可控的左右循环流水灯,用两个按键控制显示,显示效果如下: 1)合上K1,8个LED依次左移点亮反复显示; 2)合上K2,8个LED依次右移点亮再依次左移点亮反复显示; 3)单击K1,8个LED仅依次左移流水显示1次; 4)单击K2,8个LED依次右移点亮再依次左移点亮显示1次; 5)初始状态或K1,K2全合上时,8个LED全熄灭2 方案设计此设计的关键之一是,判断按键K1、K2的状态,所以对此有以下两种方案选择。方案一:采用单片机的外部中断引脚与按键K1、K2分别相接的方法,软件开启外部中断,当按键单击时产生一个外部中断,以此来调用LED的闪烁函数。方
9、案二:不采用外部中断,将K1、K2分别接单片机的通用引脚P3.2、P3.3,通过扫描P3.0、P3.1引脚的状态,来判断K1、K2的开关情况,再根据K1、K2的开关情况,分别调用不同的LED的闪烁函数。根据题目要求,由于方案一无法判断合上K1、K2的情况,故方案一不适用,此设计采用方案二。3 硬件设计3.1系统的整体框图 80C51LED灯按键K1、K2 图3-1 系统框图3.2硬件系统原理图可以看到,这个硬件原理图并不复杂,8个LED分别接在P0端口的8个引脚上,外部晶振如图所示连接到单片机的相应引脚上,按键K1、K2分别接在P3.2、P3.3引脚上。 3.3元器件清单芯片80C51 1片;
10、LED灯8个;10uf电容2个;12MHZ晶振1个;按键2个;4 软件设计4.1软件设计的原理单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,也是本次课程设计的重点和难点。我们编程实现流水灯的方法是循环移位法,下面简述一下循环移位法的工作原理。循环移位法是采用循环程序结构进行编程。我们在程序一开始就给P0口送一个数,这个数本身就让P0.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P0口,最后
11、再进行延时,这样就可以实现“流水灯”的效果。此设计虽然不用严格地控制流水灯的速度,但是一个比较准确的延时函数也是十分有必要的,因为这十分有利于我们编写后续程序,也为修改程序带来方便。因此本设计采用了如下所示的延时函数:void delay(uint m)uint i;for(;m0;m-)for(i=0;i0;i-) P0=outdata; outdata=_cror_(outdata,1); /outdata按位循环右移/所以灯向左移闪烁 ,_cror_为循环右移函数delay(500); 5调试过程及结果开始时,由于程序代码还不太完善,出了一些小的问题,比如LED灯并不按照预想的那样闪烁。
12、通过一次次的修改、仿真,再修改、再仿真,最后对程序的深入地分析并进行修改,最终使我的设计能够成功地实现设计任务。由于此设计的实验结果为一动态效果,所以无法附上调试过程中的截图。6 结论由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我了解到了我们在软硬件设计和制作方面的不足。对于软件方面,虽然在这过程中,我有向同学请教。但是最终的整体代码还是由我亲自编写完成。虽然此次设计难度并不算大,但对于我来说,能够成功设计实现的功能已经是一个不小的收获了,也帮助我进一步理解了设计中所会遇见的问题和方法。我在最初编写代码的时候有一些小的迷惑,但是最后在理解了如何运用左移法实现流水灯亮灯的工
13、作原理后,并且自己举一反三,理解并运用了循环右移函数,最后成功地编写及完成代码的调试工作。通过这一系列的操作过程,对如何调用程序也有了更深刻的理解和体会。当软件和硬件仿真题都完成之后,接下来就是将软件的控制程序写入到硬件仿真电路图里面,从而实现软硬结合的过程,最终实现设计要求。在这个环节中我们还是遇到了或多或少的问题,例如LED灯不按照预想的方式工作等问题都让我们困惑了很久,最后还是通过不断的修改完善代码来实现各个部分的协调工作。通过这次课程设计,我养成了良好的书写代码的习惯,因为良好的代码格式有助于查找程序的问题,达到事半功倍的效果。虽然如此,修改程序还是不是一件轻松的工作,需要能够静下心,
14、沉住气,一步一步地修改程序,调试程序,所以此次课程设计极好地锻炼了我的耐心,并且在这次的课程设计过程中,我自己独立的完成了硬件仿真电路的画制,进一步熟悉了protues这款仿真软件,同时还要负责编写代码,也进一步熟悉了keil软件的使用,完整的掌握了编写代码的流程和调试的基本方法。虽然此设计能够完美实现设计任务,但是还有值得改进的地方,比如控制流水灯的流水闪烁速度,同时自仿真电路中也可以添加复位电路并编写复位程序,使整个设计更加的优越、稳定。而在这一周的设计过程中让我深深的了解了我在软件、硬件方面的许多不足之处,对于今后的学习和工作都是一次很好的借鉴经验。 参 考 文 献【1】李广弟,朱月秀,
15、冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,2007【2】蔡美琴,张为民.MCS-51系列单片机系统及其应用.第2版.北京:高等教育出版社,2004【3】张培仁.基于 C 语言编程 MCS-51 单片机原理与应用M . 北京:清华大学出版社,2003【4】周润景,张丽娜基于PROTEUS 的电路及单片机系统设计与仿真M北京:航空航天大学出版社,2006附录完整代码:#includereg51.h #includeintrins.h #define uint unsigned int sbit k1=P32;sbitk2=P33;staticunsigned char flag=0
16、;static int count=0;void delay(uint m)uint i;for(;m0;m-)for(i=0;i0;i-) P0=outdata; outdata=_cror_(outdata,1); /outdata按位循环右移,所以灯向左移闪烁 ,_cror_循环为右移函数delay(500); void led2()unsigned char g=0xfe;int i=8;unsigned char outdata=0x7f;flag=0;while(i0) P0=outdata; outdata=_cror_(outdata,1); /outdata按位循环右移,所以
17、灯向左移闪烁 ,_cror_循环为右移函数delay(500); -i;void led3()unsigned char g=0xfe;int i=0;unsigned char outdata=0x7f;flag=0;for(i=7;i0;i-) P0=g; g=_crol_(g,1);/ 调用循环左移函数_crol_,灯右闪delay(500); for(i=8;i0;i-) P0=outdata; outdata=_cror_(outdata,1); /outdata按位循环右移,所以灯向左移闪烁 ,_cror_循环为右移函数delay(500); void led4()unsigned char g=0xfe;int i=0;unsigned char outdata=0x7f;flag=0;for(i=7;i0;i-) P0=g; g=_crol_(g,1);/ 调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度物资订购策划管理协议
- 2025年企业员工购物券福利采购合同范本
- 鱼塘综合利用承包经营合同2025
- 2025年度企业职业素养提升策略协议
- 2025年写字楼租赁权益协议
- 2025年企业邮箱租赁合同样本
- 2025年中期企业合作口头借款协议书
- 2025年股权投资与合作策划协议样本
- 2025年双边商业合作协议
- 2025年兄弟共有财产分配转让协议书
- 中国银行(香港)有限公司招聘笔试真题2023
- 15万吨水厂安装工程施工组织设计方案
- 超级芦竹种植项目可行性研究报告-具有高经济价值和广泛应用前景
- 自动体外除颤器项目创业计划书
- 养老机构绩效考核及奖励制度
- 2024年越南煤矿设备再制造行业现状及前景分析2024-2030
- 长塘水库工程环评报告书
- 病案管理质量控制指标检查要点
- DL-T5001-2014火力发电厂工程测量技术规程
- 平行四边形的判定(27张)-完整课件
- 居民住宅小区电力配置规范
评论
0/150
提交评论