单片机闪烁灯跑马灯控制课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南工院

第1章概述 (3)

1.1设计的目的及意义 (3)

1.2单片机的概述与应用 (3)

第2章设计原理 (4)

2.1设计要求与基本思路 (4)

2.2设计方案选择 (5)

2.3设计框图 (5)

第3章硬件电路设计 (7)

3.1时钟电路 (7)

3.2扩展电路 (8)

第4章程序设计 (9)

4.1 程序设计思路与流程图 (9)

4.2程序清单与代码 (11)

4.3程序调试 (12)

第5章原件明细表 (13)

总结 (14)

参考文献 (15)

第1章概论

1.1设计的目的与意义

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。

闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1秒,如此循环,紧急情况下,控制P3.1进行报警2S停止。

闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础

1.2单片机概述与应用

单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器

单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。

自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。

(2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。

(3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

(4)商用产品:如自动售货机、电子收款机、电子秤。

第2章设计原理

2.1设计要求与基本思路

这次单片机课程设计,选择了闪烁灯控制设计,通过查阅各种文献资料,再加上自己以前所学单片机课程的基础,大概的设计思路可概括为以下8个步骤:

⑴通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高电平熄灭。

⑵编写延时一秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现。

⑶调用DELAY延时程序。

⑷送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序。使发光二极管闪烁。

⑸送闪烁次数10给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环。

⑹执行RR(循环右移)指令,指向下一个二极管,重复第5步。

⑺当8个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5步,使二极管从右至左一次循环闪烁。

⑻当从右至左循环结束后,重复第6步,循环闪烁。

由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1口输送低电平0,就可以使二极管发光,输送高电平1可使二极管熄灭。

单片机中的定时器有四种工作方式,由于工作方式0和工作方式1计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。这不但影响精度,而且也给程序设计带来了不便。于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。在这种方式下,把16位计数器分为两部分,即TL作计数器,TH作预置寄存器,初始化时把初值分别装入TL和TH中。为了能够清晰的看见二极管闪烁,选择定时器定时500us,再通过配合DJNZ指令来实现延时1s的定时。由于,DJNZ中操作数的范围不能达到2000,所以选择两条DJNZ指令,一次置200,一次置10,依次循环就可达到要求。

2.2设计方案选择

在做本次课程设计时,用到了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的石英晶体。

2.3设计框图

相关文档
最新文档