ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:69.72KB ,
资源ID:8702170      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8702170.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的LED流水灯设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的LED流水灯设计.docx

1、基于单片机的LED流水灯设计基于单片机的LED流水灯设计 基于单片机的LED流水灯设计设计任务1掌握MCS-51系列8051、8255的最小电路及外围扩展电路的设计方法2了解单片机数据转换功能及工作过程3设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示4完成主要功能模块的硬件电路设计5用proteus软件完成原理电路图的绘制一 设计方法本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平

2、变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。二 方案论证与比较2.1循环移位法在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1

3、口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。2.2查表法上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或

4、改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVCA,A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实现效果的要求任意修改。2.3位控法这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。本次实验我们采用的是查表法和循环移位法,这两个方法要比位控法要复杂些,但是程序要简略的多三 硬件设计1单片机时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路

5、,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。此电路采用12MHz的石英晶体。时钟电路如下图:2复位电路电阻的作用是用于上电复位的,VCC以上电,由于电容两端电压不能突变,所以RST上为高电平,然后电容放电,RST就为低电平了,还可以用手动复位,此电路应用自动复位。3工作电路工作电路就是根据总的电路的指令,来反应工作情况。本电路的流水灯电路具体的如下:根据各个模块的功能及他们的信号传输,连接电

6、路如下:四 软件设计汇编语言和C语言的特点及选择本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。在本设计中采用C语言编写软件程序。C语言程序设计特殊功能寄存器P0一共八位,因此P0寄存器可一次存放一字节数据,寄存器的每位的输出对应P0.0P0.7引脚,其中P0.0为P0的低位引脚,P0.7为

7、高位引脚。P0引脚输出高低电平与寄存器P0存放数据一致,如程序中,P0=0x01时,则只有P0.0输出高电平,其它引脚输出低电平。为了实现流水灯效果,程序设计让P0的八个引脚依次输出高电平即可。如先让P0=0x01,LED1点亮,然后让P0=0x02,LED2点亮,依次往下操作,P0=0x80时,LED8被点亮。每次点亮一只LED后,通过延时函数调整下一个LED被点亮的时间间隔。程序清单如下#include /*延时函数*/void delay(unsigned int x)while(x-);/*主函数*/void main(void)P0=0x01;delay(30000);P0=0x02

8、;delay(30000);P0=0x04;delay(30000);P0=0x08;delay(30000);P0=0x10;delay(30000);P0=0x20;delay(30000);P0=0x40;delay(30000);P0=0x80;delay(30000);通过电路仿真,LED可以实现从右到左的一次点亮,但此程序看起来很笨,并且功能单一,我们可以考虑采用数组实现,如把P0的八个取值放在一个数组里,这样就可以通过数组取值达到LED流水灯显示效果。程序修改为:/*预处理*/#includeunsignedcharcodeLED=0x01,0x02,0x04,0x08,0x10

9、,0x20,0x40,0x80;/*延时函数*/voiddelay(unsignedintx)while(x-);/*主函数*/voidmain(void)while(1)P0=LEDi;delay(30000);i+;if(i=9)i=0;该程序与原程序仿真运行结果是一样的,但利用数组精简了程序的冗余项,更加符合软件的编程思想。五软件调试软件调试一般分为以下四个阶段:1、编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。六 运

10、行结果如下Led灯从左至右依次熄灭七 体会1通过本次的实验,熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。2最开始从课题的选择,计算器的设计、硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使现在正在学的很多知识都得到了运用。3对于这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很

11、多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机C语言。4从本次设计可见,单片机芯片内部具有的一定容量的片内程序存储器,也有连接外部设备的端口。掌握了最基本的硬件电路和软件的应用,可以为以后继续深入研究计算机硬件方面的知识提供了保障。八 参考文献1单片机原理及应用薛峰.朱晓骏编著北京:北京理工大学出版社,2011,9

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1