闪烁灯控制系统

  • 格式:doc
  • 大小:202.50 KB
  • 文档页数:15
2.3设计框图
图1闪烁灯控制设计硬件接线图
第3章硬件电
3.1时钟电路
图2 8051内部时钟电路
图3 8051外部时钟电路
扩展电路
外扩程序存储器的空间地址,是由P2口提供高八位地址,P0口分时提供低8位地址和用作8位双向数据总线。在设计硬件接线时,使27256芯片的片选信号CE始终保持有效,低八位A0~A7通过74LS373译码器连接P1口,高七位A8~A14连接P2.0~P2.6,具体连接如图2所示。因此其地址范围位0000H~7FFFH。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在同学间互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
单片机的复位操作有上电自动复位和按键自动复位两种方式。上电复位是通过外部复位电路的电容充电来实现的。电容C1选择10uf,电阻选择10K,这样,只要电源VCC的上升时间不超过1ms,就可实现上电复位,即接通电源就完成了系统的复位初始化。
时钟电路用于产生单片机工作所需的时钟信号。在MCS-51系列单片机芯片外部,X1和X2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。电容器C2和C通常3取30pf,对振荡频率有微调作用,选择振荡频率为12MHZ的石英晶体。
3.2扩展电路………………………………………………………………..8
第4章 程序设计……………………………………………………………9
4.1程序设计思路与流程图……..…………………………………………...9
4.2程序清单与代码………………………………………………….…..…11
4.3程序调试………………………………………………………….….…12
2.1设计要求与基本思路……………….……………………………………4
2.2设计方案选择…………….………………………………………………5
2.3设计框图………………………….…………………………………5
第3章 硬件电路设计…………………..……………………………………7
3.1时钟电路…………………………………………………………….….7
P8点亮又熄灭后,P8再次点亮,然后按P8~P1的顺序再依次点亮,如此循环。
紧急情况下,按P3.1时扬声器发出响声,约5秒后停止。
第五章原件明细表
220Ω电阻8个
10KΩ电阻1个
普通发光二极管8个
10μF电容1个
30μF电容2个
12MHZ晶振1个
8051芯片1个
扬声器1个
导线若干
数据线
电源
总结
此次单片机课程设计,我感慨颇多,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
单片机中的定时器有四种工作方式,由于工作方式0和工作方式1计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。这不但影响精度,而且也给程序设计带来了不便。于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。在这种方式下,把16位计数器分为两部分,即TL作计数器,TH作预置寄存器,初始化时把初值分别装入TL和TH中。为了能够清晰的看见二极管闪烁,选择定时器定时500us,再通过配合DJNZ指令来实现延时0.5s的定时。由于,DJNZ中操作数的范围不能达到1000,所以选择两条DJNZ指令,一次置100,一次置5,依次循环就可达到要求。
【 2 】编写延时一秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现。
【 3 】 调用DELAY延时程序。
【 4 】 送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序。使发光二极管闪烁。
【 5 】 送闪烁次数20给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环。
【 5 】 唐颖.单片机原理与应用.北京:北京大学出版社,2008
【 6 】 金建设 于晓海.单片机系统及应用试验教程.北京:北京邮电大学出版社,2010
参考文献
【 1 】]李广弟.单片机基础.北京:北京航空航天大学出版社,1994.
【 2 】房小翠.单片机实用系统设计技术.北京:国防工业出版社,1999.
【 3 】韩金立 赵德申 微机控制技术及应用.北京:机械工业出版社,2003.
【 4 】 彭伟.单片机C语言程序设计实训100例.北京:北京航天航空大学,2010
单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。
自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等
【 6 】 执行RR(循环右移)指令,指向下一个二极管,重复第5步。
【 7 】当8个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5步,使二极管从右至左一次循环闪烁。
【 8 】当从右至左循环结束后,重复第6步,循环闪烁。
由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1口输送低电平0,就可以使二极管发光,输送高电平1可使二极管熄灭。
其程序存储扩展图如图所示。
图48051程序存储扩展图
第四章程序设计
4.1程序设计思路与流程图
闪烁灯分8个发光二极管,从左到右闪烁,或者从右到左闪烁,均呈现一个亮,而其余全灭的现象,8个灯有8051统一控制,其亮灯条件说明表如下
表1闪烁灯灯亮的条件说明表
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2







河南工院
院系:电气工程系
班级:电气1001
指导教师:赵阳
第1章 概述…………………………………………….…………………………3
1.1设计的目的及意义………………………………………………………..3
1.2单片机的概述与应用……………………………………………………..3第2章 设计原理…………………………..……………………………………4
第5章 原件明细表……………………………………………………13
总结…………………………………………………………………………………14
参考文献……………………………………………………..……………………15
第1章概论
•1.1设计的目的与意义
随着单片机的问世和飞速发展,掀起了计算机工程应用的一场新革命,使计算机控制技术广泛的应用于工业控制系统、自动测试系统、数据采集系统、智能仪表、智能家电以及各类功能模块等广泛领域,它已经成为实现许多控制系统的常规性工具。本次的课程设计使我们把所学的知识和实践结合起来,是对平时学习成果的检验,使我们对所学的单片机知识有了系统全面的理解和认识,锻炼了我们查阅资料和设计开发的初步能力,为以后的学习和工作奠定了基础。
2.2设计方案选择
在做本次课程设计时,用到了8051单片机,由于其程序存储器是掩膜ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程,当掩膜ROM制造完成后,用户不能更改其内容。因此,选择了型号为27256(32KB)的EPROM作为它的程序存储扩展。同时EA引脚必须有效,方可访问外扩程序存储器。在引脚的连接时,8051单片机的PSEN引脚须接EPROM的OE端,当PESN有效时,允许读出EPROM中的指令码。同时,ALE接74LS373译码器的G引脚,当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号,以实现低位地址和数据的隔离。因此,其程序存储器扩展图如图2所示。
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1^=temp;
delay0.2s(); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1^=temp;
delay0.2s(); //调用延时函数
temp>>=1;
}
图5闪烁灯流程图
#include<reg51.h> //51系列单片机定义文件
#define unsigned char //定义无符号字符
void delay(unsigned char i); //声明延时函数
void main()
{
char i;
chartemp;
while(1)
{
temp=0x01;
1.2单片机概述与应用
单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器