单片机课程设计-循环灯设计.doc_第1页
单片机课程设计-循环灯设计.doc_第2页
单片机课程设计-循环灯设计.doc_第3页
单片机课程设计-循环灯设计.doc_第4页
单片机课程设计-循环灯设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兰州交通大学自动化学院单片机课程设计单片机课程设计题 目: 循环灯设计 班 级: 自控081班 姓 名: 李 根 学 号: 200808659 指导教师: 汪 莉 娟 设计时间: 2011年01月 评语:成绩 1引言12设计方案及原理22.1 8051的主要性能22.2 信号引脚介绍22.4设计步骤33硬件设计43.1 硬件接线的设计43.2 外扩程序存储扩展的设计64软件设计65总结86. 参考文献97. 附录91引言随着大规模集成电路技术的飞跃发展,1971年微处理器研制成功,不久,便出现了单片机的微型计算机。近年来,随着美国ATMEL公司的AT89、AT90系列单片机的推出和广泛应用,是MCS-51单片机有了进一步的活力。AT89、AT90系列单片机以MCS-51为内核,兼容了MCS-51的软硬件,其优点在于:片内的点电擦电写闪烁存储器可方便地被编程和加密,时钟频率的提高使运算速度加快,产品中的20脚封装形式的机种,使其体积更小,更具有应用的灵活性。在科技如此发达的今天,社会对人才的要求的不断提升,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动控制专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。本次课程设计的主要目的通过使用8051单片机和共阴二位数码管,综合应用基础电子电路和单片机的知识,来实现电子产品电路的制作。在此次课程设计中,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,为今后从事相应工作打下基础。2设计方案及原理2.1 8051的主要性能1、8位微处理器和控制器;2、内含一个一位布尔运算处理器,可直接对数据的位进行操作和运算,特别适用于逻辑控制;3、内部含有4KB的程序ROM;4、2个16位的计数/定时器;5、内部时钟振荡器;6、全双工方式的串行接口(UART);7、两极中断优先权的6个中断源/5个中断矢量的中断逻辑;8、哈佛结构的存储器组织,支持高达64K为单周期指令,支持六种寻址方式;9、最高时钟振荡频率可达12MHZ,大部分指令执行时间为1s,乘、除指令为4s。2.2 信号引脚介绍 1、输入/输出口线 口8位双向口线 口8位双向口线 口8位双向口线 口8位双向口线2、ALE 地址锁存控制信号在系统扩展时,ALE用于控制把 口输出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。3、外部程序存储器读选通信号在读外部ROM时有效(低电平),以实现外部ROM单元的读操作。4、 访问程序存储器控制信号当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当 信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。5、RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。6、XTAL1和XTAL2外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。7、VSS地线 VCC+5V 电源 2.3 信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限的,例如MCS51系列芯片引脚数目40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了供需矛盾,所以只能“复用”,即给一些信号引脚赋予双重功能。常见的第二功能信号:(1)口线的第二功能信号的8条口线都定义有第二功能(2)EPROM存储器程序固化所需要的信号有内部EPROM的单片机芯片(例如87C51),为写入程序需提供专门的编程脉冲和编程电源,它们也是由信号引脚以第二功能的形式提供的,即:编程脉冲: 30脚(ALE/PROG)编程电压(25V):31脚(EA /Vpp )(3)备用电源引入MCS51单片机的备用电源也是以信号引脚第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经端向内部RAM提供电压,以保护内部RAM中的信息不丢失。2.4设计步骤(1)通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高电平熄灭;(2)编写延时一秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现;(3)调用DELAY延时程序;(4)送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序。使发光二极管闪烁;(5)送闪烁次数10给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环;(6)执行RR(循环右移)指令,指向下一个二极管,重复第5步;(7)当8个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5步,使二极管从右至左一次循环闪烁;(8)当从右至左循环结束后,重复第6步,循环闪烁。由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1口输送低电平0,就可以使二极管发光,输送高电平1可使二极管熄灭。3硬件设计在做本次课程设计时,用到了8051单片机,由于其程序存储器是掩膜ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程,当掩膜ROM制造完成后,用户不能更改其内容。因此,选择了型号为27256(32KB)的EPROM作为它的程序存储扩展。同时EA引脚必须有效,方可访问外扩程序存储器。在引脚的连接时,8051单片机的PSEN引脚须接EPROM的OE端,当PESN有效时,允许读出EPROM中的指令码。同时,ALE接74LS373译码器的G引脚,当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号,以实现低位地址和数据的隔离。因此,其程序存储器扩展图如图2所示。单片机的复位操作有上电自动复位和按键自动复位两种方式。上电复位是通过外部复位电路的电容充电来实现的。电容C1选择10uf,电阻选择10K,这样,只要电源VCC的上升时间不超过1ms,就可实现上电复位,即接通电源就完成了系统的复位初始化。时钟电路用于产生单片机工作所需的时钟信号。在MCS-51系列单片机芯片外部,X1和X2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。电容器C2和C通常3取30pf,对振荡频率有微调作用,选择振荡频率为12MHZ的石英晶体。3.1 硬件接线的设计发光二极管有共阳和共阴接法,此次设计选择了共阳接法,所以可通过给P1口输送低电平就可驱动发光二极管发光,输送高电平就可使发光二极管熄灭。因此,总体的设计图如图1所示。图1 循环灯控制设计硬件接线图3.2 外扩程序存储扩展的设计外扩程序存储器的空间地址,是由P2口提供高八位地址,P0口分时提供低8位地址和用作8位双向数据总线。在设计硬件接线时,使27256芯片的片选信号CE始终保持有效,低八位A0A7通过74LS373译码器连接P1口,高七位A8A14连接P2.0P2.6,具体连接如图2所示。因此其地址范围位0000H7FFFH。其程序存储扩展图如图2所示。图2 8051程序存储扩展图4软件设计流程图的绘制为编程提供了便利,通过对控制要求的理解而绘制的流程图可以让我们对控制过程更加熟悉并且编程的进行也变得有据可寻。循环灯控制设计的流程图如图3所示。图3 循环灯控制流程图5总结通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,清晰的分析过程也起到很大的作用。在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。我们通过查阅大量有关资料,并在同学间互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。同时,我也发现了自己很多一部分缺点。首先,在设计过程中间,总是不细心,不能把很小的问题考虑到,每次出错都是因为很多的小问题。然后就是耐心不够,在很多时候会因为调试不出结果而想放弃的冲动,着另一方面也说明我的意志力不够坚强,没有钻研问题的习惯。最重要的一点就是发现自己所学的基础知识不够牢固,在需要用的时候不能很好的运用,还需要查阅课本去熟悉基础知识。在今后的学习生活中一定要注意自身的这些缺点,让人生变得更加精彩。6. 参考文献1 李华,王思明.单片机应用及原理M.兰州:兰州大学出版社,2001.2 李广弟.单片机基础M.北京:北京航空航天大学出版社,1994.3 房小翠.单片机实用系统设计技术M.北京:国防工业出版社,1999.4 胡汉才单片机原理及接口技术D北京:清华大学出版社,19955 夏继强单片机实验与实践教程C北京航空航天大学出版社, 20096 张哗,王玉民,倪志莲等单片机应用技术J高等教育出版社,2009.67 张友德.单片机微型机原理、应用与实验.上海:复旦大学出版社,19927. 附录循环灯控制设计程序代码: ORG 0000H ;程序存放的起始地址 AJMP MAIN ;上电,转向主程序 ORG 0003H ;外部中断0入口地址 AJMP LOOP ;转向中断服务程序 ORG 0030H ;主程序MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断 MOV R0,#10 ;将闪烁次数10送入R0 MOV R2,#8 ;将灯的数量8送入R2 MOV A,#07FH LOOP: MOV P1,A ;使最左边的一个二极管发光 LCALL DELAY ;调用延时1s的子程序 MOV P1,#0FFH ;使最左边的一个二极管熄灭 LCALL DELAY ;调用延时1s的子程序 DJNZ R0,LOOP ;循环闪烁十次 RR A ;指向下一个二极管 MOV R0,#10 ;再次将闪烁次数10次送入R0 DJNZ R2,LOOP ;8个灯从左到右依次闪烁完毕 MOV R2,#8 LOOP1: MOV P1,A ;使最右边的一个二极管发光 LCALL DELAY ;调用延时1s的子程序 MOV P1,#0FFH ;使最右边的一个二极管熄灭 LCALL DELAY ;调用延时1s的子程序 DJNZ R0,LOOP ;循环闪烁十次 RL A ;指向下一个二极管 MOV R0,#10 ;再次将闪烁次数10次送入R0 DJNZ R2,LOOP1 ;8个灯从右到左依次闪烁完毕 LJMP MAIN ;转向主程序DELAY: MOV R5,#200 ;延时1s的DELAY子程序 MOV R7,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论