走马灯多功能工作模式控制系统毕业设计说明书论文.docx
《走马灯多功能工作模式控制系统毕业设计说明书论文.docx》由会员分享,可在线阅读,更多相关《走马灯多功能工作模式控制系统毕业设计说明书论文.docx(53页珍藏版)》请在冰豆网上搜索。
走马灯多功能工作模式控制系统毕业设计说明书论文
信息职业技术学院
毕业设计说明书(论文)
设计题目:
走马灯多工作模式控制系统设计
信息职业技术学院毕业设计(论文)任务书
学生
姓名
学号
0
班级
应电08-3
专业
应用电子技术
设计(或论文)题目
走马灯多工作模式控制系统设计
指导教师姓名
职称
工作单位及所从事专业
联系方式
备注
讲师/工程师
院
1
设计(论文)内容:
运用电子技术知识、单片机技术和技能设计一个走马灯。
功能要求如下:
1.采用按键钮控制走马灯的显示模式并用数码管记录显示模式个数。
2.具有能产生九种多样显示的功能。
3.利用单片机控制十六个LED显示。
4.具有加速、减速可调的功能。
要求完成:
选择各单元电路结构并阐述工作原理,绘制整机电路原理图(A4图纸),写出C语言源程序;准确计算或估算电路参数,正确选择电路元件与设备,给出元件、设备明细表;撰写设计说明书,要求准确阐述电路选择依据,反映计算方法、元件、设备选择等设计过程,并使用软件进行仿真或制作实物。
进度安排:
5月4~5月11日:
查找资料,选择参考方案5月1~15月18日:
确定方案
5月18~5月25日:
查找资料,进行单元电路的设计5月25~5月31日:
整机电路分析
5月31~6月7日:
整理报告,确定初稿6月7~6月14日:
检查定稿
主要参考文献、资料(写清楚参考文献名称、作者、出版单位):
[1]张洪润,易涛编著.单片机应用技术教程(第二版).北京:
清华大学出版社.2003.
[2]求是科技编著.单片机典型模块设计实例导航.北京:
人民邮电出版社.2004.
[3]孙进生编著.电子产品设计实例教程.北京:
冶金工业出版社.2004.
[4]王静霞编著.单片机应用技术(C语言版).北京:
电子工业出版社.2009.
[5]潘新民,王燕芳编著.微型计算机控制技术.北京:
电子工业出版社.2004.
[6]杨宁编著.单片机与控制技术.北京:
北京航空航天大学出版社.2005.
[7]李庭贵编著单片机应用技术及项目化训练.西南交通大学出版社.2009.
审
批
意
见
教研室负责人:
年月日
摘要
随着社会的进步电子技术的应用越来越广泛,单片机应用技术作为计算机技术的一个重要分支,也因此广泛应用到工业控制、智能化仪器仪表、家用电器、电子玩具等各个领域,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点。
电子设计也就成为整个的综合体。
通过电子设计可以培养学生的电子系统设计能力,加强实践能力和动手操作能力以及能力。
随着社会的发展广告越来越体现出其的重要价值。
夜晚,华灯初上整个城市被五颜六色丰富多彩的广告牌闪烁的格外美丽,它们闪烁的多姿多彩代表这整个城市的繁华与向荣,所以本次电子设计是以AT89C51单片机作为主控核心,与按键、发光二极管、LED数码管显示器等较少的辅助的硬件电路相结合,利用软件对彩灯进行控制闪烁样式,发光二极管采用多种颜色,显示的闪烁模式也是多样的,给人一种悦目的感觉。
本系统具有体积小、硬件少、电路结构简单及容易操作等特点。
关键词AT89C51;单片机;发光二极管;彩灯;多种变化
第1章绪论
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路控制的系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说是,智能控制与自动控制的核心就是单片机。
在大学期间,完成了前期的单片机基础知识学习以后,利用理论与实际相结合,用AT89C51单片机自动制了一款简易的流水灯,重点介绍了用单片机控制系统的运行。
在现在诸多的娱乐场所、理发店、宾馆、饭店、公司等的门外,都可以看到各式各样的广告流水灯。
所谓“广告流水灯”,就是将一系列的颜色的广告灯连接在一起,然后令这些灯按一定的次序逐个或者几个的一次点亮或熄灭。
有各灯点亮和熄灭,产生的效果就像流动的水一样,因此,就称这类广告灯为“广告流水灯”。
生活中广告流水灯的形式和点亮的次序是多种多样的。
由单一颜色的几个按固定的次序来点亮的,有多个不同颜色的灯构成某一图案依次点亮的也有多排广告灯按多种组合好的次序循环点亮的等。
这次设计的广告流水灯,就是这些广告灯中的类型。
第2章系统的方案论证与比较
2.1方案的比较
方案一:
利用CD4017芯片和NE555芯片的集成电路,是CD4017芯片和NE555芯片的综合运用。
该流水灯的功能是能够根据需要产生多种多样的变化方式,从而产生丰富多彩的彩灯图案。
本次设计的方案中采用了CD4017芯片和NE555芯片来实现变化的需要,采用CD4017芯片实现对脉冲信号的分配,使得输出时序就是与时钟同步的高电平,宽度等于时钟周期,NE555产生连续脉冲输入,CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,直接用作顺序脉冲发生器,配合二极管,进而形成相应的多功能流水彩灯电路。
原理电路图由振荡电路、译码电路和光源电路三部分组成。
在设计电路时,选用的脉冲发生器是由NE555与R2、R3及C3组成的多谐振荡器组成。
主要是为灯光流动控制器提供流动控制的脉冲,灯光的流动速度可以通过电位器RP进行调节。
由于RP的阻值较大,所以有较大的速度调节范围。
灯光流动控制器由一个十进制计数脉冲分配器CD4017和若干电阻组成。
原理框图如2-1所示。
图2-1CD4017控制原理框图
方案二:
利用51单片机控制十六个发光二极管实现九种闪烁模式,具有加速减速模式以及数码管实现闪烁模式的个数。
本设计采用了51单片机来控制,原理框图如2-2所示。
2.2方案论证
方案一采用了CD4017芯片和NE555芯片来实现变化的需要,采用CD4017芯片实现对脉冲信号的分配,使得输出时序就是与时钟同步的高电平,宽度等于时钟周期,NE555产生连续脉冲输入,CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,直接用作顺序脉冲发生器,配合二极管,进而形成相应的多功能流水彩灯电路。
灯光的流动速度可以通过电位器RP进行调节。
方案二利用51单片机控制具有加速减速功能以及数码管实现闪烁模式的个数。
二者相比较方案一的电路和操作比较复杂,最后一点就是数码管不显示模式个数,这样不利于我们直观的看出显示的模式个数,也不利于我们调节当按下模式键多次时会使我们混乱现象。
其硬件电路和软件调试比较复杂,制作成本较高。
近年来随着科技的飞速发展,单片机的应用正不断走向深入。
所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本.所以综上所述应采用第二种方案为本次设计方案。
第3章系统硬件设计
3.1主控芯片的介绍
单片微型计算机(SingleChipMicrocomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(CentralProcessingUnit)、存储器(Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。
单片机的内部基本结构图如图3-1所示。
目前,单片机正朝着高性能和多品种方向发展。
今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量、高性能化、低价格化、外围电路内装化和串行扩展技术。
随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能更强。
单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法,从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机能实现了。
这种用软件代替硬件的控制技术也称微控技术,是对传统控制技术的一次革命。
单片机的应用系统是以单片机为核心,配以输入、输出、显示等外围接口电路和软件,能实现一种或多种功能的实用系统。
其由硬件和软件两部分组成,二者相互依赖,缺一不可。
硬件是软件的基础,软件是在硬件的基础上,对其资源进行合理调配和使用,控制其按照一定顺序完成各种时序、运算或动作,从而实现应用系统所需求的任务。
单片机应用系统的组成如图3-2所示。
3.1.18051内部结构
8051是MCS-51系列单片机的典型芯片,8051片内有4KROM,无需外接存储器。
8051单片机的内部组成如图3-3所示。
其功能划分由8个部件组成,分别为:
图3-38051单片机的内部组成
1.中央处理器(CPU)
中央处理器是单片机的控制核心,完成运算和控制功能。
CPU由运算器和控制器组成。
运算器包括一个8位算术逻辑单元(ArithmeticLogicalUnit,简称ALU)、8位累加器(Accumulator,简称ACC)、8位暂存器寄存器B和程序状态寄存器(ProgramStatusWord,简称PSW)等。
控制器包括程序计数器(ProgramCounter,简称PC)、指令寄存器(InstructionRegister,简称IR)、指令译码器(InstructionDecoder,简称ID)及控制电路等。
2.内部数据存储器RAM(RandomAccessMemory)
8051内部共有256个RAM单元,其中的高128个单元被专用寄存器占用;低128个单元供用户暂存中间数据,可读可写,掉电后数据会丢失。
通常所说的的内部数据存储器就是指低128个单元。
3.内部程序存储器ROM(Read-onlyMemory)
8051内部共有4KB掩模ROM,只能读不能写,掉电后数据不会丢失,用于存放程序或程序运行过程中改变的原始数据,通常称为程序存储器。
4.并行I/O端口
8051内部有4个8位并行I/O端口(称为P0、P1、P2和P3),可以实现数据的并行输入输出。
5.串行口
8051内部有一个全双工异步串行口,可以实现单片机与其他设备之间的串行数据通信。
该串行口既可作为全双工异步通信收发器使用,也可作为同步移位器使用,扩展外部I/O端口。
6.定时/计数器
8051内部有两个16位的定时/计数器,可实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
7.中断系统
8051内部有5个中断源,分为高级和低级两个优先级别。
8.时钟电路
8051内部有时钟电路,只需外接石英晶体和微调电容即可。
晶振频率通常选择12MHZ或11.0592MHZ.
3.1.28051信号引脚
8051单片机采用标准40引脚双列直插式封装,其引脚排列如图3-4所示,引脚功能见表1-1。
表1-18051引脚功能
引脚名称
引脚功能
P0.0~P0.7
P0口8位双向端口线
P1.0~P1.7
P1口8位双向端口线
P2.0~P2.7
P2口8位双向端口线
P3.0~P3.7
P3口8位双向端口线
ALE
地址锁存控制信号
PSEN
外部程序存储器读选通信号
EA
访问程序存储控制信号
RST
复位信号
XTAL1和XTAL2
外接晶体引线端
Vcc
图3-4AT89C51单片机管脚图
+5V电源
Vss
地线
1.信号引脚介绍
(1)ALE:
系统扩展时,P0口是8位数据线和低8为地址线复用引脚,ALE用于把P0口输出的低8位地址锁存起来,以实现低8位地址和数据的隔离。
(2)PSEN:
PSEN有效时,可实现对外部ROM单元的读操作。
(3)EA:
当EA信号为低电平是,对ROM的读操作限定在外部程序存储器;而当EA为高电平是,对ROM的读操作是从内部程序存储器开始的,并可延至外部程序存储器。
(4)RST:
当输入的复位信号延续两个机器周期以上的高电平是即为有效,用以完成单片机的复位初始化操作。
(5)XTAL1和XTAL2:
外接晶体引线端。
当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于连接外部时钟脉冲信号。
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
2.信号引脚的第二功能
为了满足实际需要,部分信号引脚被赋予双重功能。
常用的是8条P3口线所提供的第二功能,如图1-2所示,
表1-2P3口各引脚的第二功能
第一功能
第二功能
第二功能信号引脚名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
INT0
外部中断0申请
P3.3
INT1
外部中断1申请
P3.4
T0
定时计数器0的外部输入
P3.5
T1
定时计数器1的外部输入
P3.6
WR
外部RAM或外部I/O写选通
P3.7
RD
外部RAM或外部I/O读选通
3.2时钟电路功能以及工作原理的分析
时钟电路用于产生单片机工作所需要的时钟信号,在芯片的外部通过19脚、18脚接晶体振荡器和微调电容。
形成反馈电路,构成一个稳定的自己振荡器。
电路中的C1、C2一般取30pF左右,而晶体振荡器的频率范围通常是1.2-12MHz.一般使用振荡频率为6MHz或12MHz的晶振。
晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。
其电路原理图如3-1所示。
图3-1时钟电路原理图
3.3复位电路功能以及工作原理的分析
图3-2复位电路原理图
复位是单片机的初始化操作,其目的是使CPU及各专用寄存器处于一个确定的初始状态。
如:
把PC的内容初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要复位以使其恢复正常工作状态。
RST端的外部复位电路有两种操作方式:
上电自动复位和按键手动复位。
按键手动复位有电平方式和脉冲方式两种,本系统设计采用上电复位,如图3-2所示。
上电复位是直接将RST端通过电阻接高电平来实现单片机的复位。
3.4显示电路
在单片机系统中,经常采用LED数码管来显示单片机系统的工作状态、运算结果等各种信息,通常都需要直观交互显示出来。
本次设计显示电路如图3-3所示。
单片机应用系统中最常用的显示器有LED和LCD两种。
这两种显示器都可以显示数字、字符及系统的状态,LED和LED数码显示最为普遍,本设计采用的是LED显示。
LED数码管是单片机人机对话的一种重要输出设备。
LED数码管由8个发光二极管构成,通过不同的发光字段组合可用来显示数字0-9、字符A-F、H、L、P、R、U、Y、符号“-”及小数点“.”等。
LED数码管可分为共阳极和共阴极两种结构,共阳极数码管是由8个发光二极管的阳极连接在一起,作为公共控制端(com),接高电平。
阴极作为“段”控制端,当某段控制端为低电平时,该段对应的发光二极管导通并点亮,点亮不同的段显示不同的字符。
共阴极数码管是由8个发光二极管的阴极连接在一起,作为公共控制端(com),接低电平。
阴极作为“段”控制端,当某段控制端为高电平时,该段对应的发光二极管导通并点亮。
要使数码管显示出数或字符,直接将相应的数字或字符送至数码管的段控制端是不行的,必须使段控制端输出相应的字型编码。
表3-1中分别列出共阳、共阴极数码管的显示字型编码。
显字符示
共阳极数码管
共阴极数码管
dp
g
f
e
d
c
b
a
字型码
dp
g
f
e
d
c
b
a
字型码
0
1
1
0
0
0
0
0
0
C0H
0
0
1
1
1
1
1
1
3FH
1
1
1
1
1
1
0
0
1
F9H
0
0
0
0
0
1
1
0
06H
2
1
0
1
0
0
1
0
0
A4H
0
1
0
1
1
0
1
1
5BH
3
1
0
1
1
0
0
0
0
B0H
0
1
0
0
1
1
1
1
4FH
4
1
0
0
1
1
0
0
1
99H
0
1
1
0
0
1
1
0
66H
5
1
0
0
1
0
0
1
0
92H
0
1
1
0
1
1
0
1
6DH
6
1
0
0
0
0
0
1
0
82H
0
1
1
1
1
1
0
1
7DH
7
1
1
1
1
1
0
0
0
F8H
0
0
0
0
0
1
1
1
07H
8
1
0
0
0
0
0
0
0
80H
0
1
1
1
1
1
1
1
7FH
9
1
0
0
1
0
0
0
0
90H
0
1
1
0
1
1
1
1
6FH
3.5按键电路的结构和工作原理
按键的开关状态是通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定。
这一过程处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的长短与开关的机械特性有关,一般在5-10ms之间。
为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。
本次采用的是独立式按键,直接用I/O线构成单个按键电路,每个按键占用一条I/O线,每个按键的工作状态不会相互产生影响。
电路原理图如图3-5所示。
P2.1引脚接“模式”键,按一下则闪烁一种模式相对应的数码管显示加一。
P2.4引脚接“加速”键,按一下则闪烁加快速度。
P2.5引脚接“减速”键,按一下则闪烁减慢速度。
图3-5按键电路
3.6彩灯控制
LED工作条件2V的正向电压,流过的电流为4-10mA,显然不能直接用单片机的端口驱动,需在电路中串联限流电阻。
由于单片机I/O口的低电平驱动能力较强,用低电平使发光二极管点亮,高电平熄灭。
在流水灯电路中,电压Vcc直接接到发光二极管的正极。
本次设计的彩灯电路如图3-6所示。
图3-6彩灯控制电路
3.7整机电路工作原理
利用51单片机控制十六个发光二极管实现九种闪烁模式,具有加速减速模式以及数码管实现闪烁模式的个数。
本设计采用了51单片机来控制,原理图如3-7所示(见下页)。
图3-7整机电路原理图
第4章软件设计
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型的时候软件也基本定下拉了,从软件的功能不同,可以分为两的类:
一是监控软件(主程序)它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。
二是执行软件(子程序)它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等。
每一个执行软件就是一个小的执行模块,这里将每一个模块一一列出来,并为每个执行模块进行功能定义和接口定义。
各执行模块规划好以后,就可以规划监控软件了。
首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的条件,合理安排监控软件和执行软件之间的调度关系。
4.1主程序模块
主程序主要完成硬件初始化,子程序调用等功能
main()
{
unsignedcharKey;
InitialCPU();
InitialTimer2();
while
(1)
{
Key=GetKey();
if(Key!
=0x00)
{
KeyDispose(Key);
}
}
}
voidInitialCPU(void)
{
RunMode=0x00;
TimerCount=0;
SystemSpeedIndex=10;
P1=0x00;
P0=0x00;
P2=0xFF;
P3=0x00;
Delay1ms(500);
P1=0xFF;
P0=0xFF;
P2=0xFF;
P3=0xFF;
SetSpeed(SystemSpeedIndex);
Display(RunMode);
}
4.2定时器中断模块
UnsignedintTimerCount,SystemSpeed,SystemSpeedIndex;
voidInitialTimer2(void)//定时器初始
{
T2CON=0x00;//16BitAuto-ReloadMode
TH2=RCAP2H=0xFC;//重装值,初始值
TL2=RCAP2L=0x18;
ET2=1;//定时器2中断允许
TR2=1;//定时器2启动
EA=1;
}
voidTimer2(void)interrupt5using3//定时器
{
TF2=0;//中断标志清除(Timer2必须软件清标志!
)
if(++TimerCount>=SystemSpeed)TimerCount=0;
TimerEventRun();
}
}
4.3显示部分模块
voidLEDFlash(unsignedcharCount)
{
unsignedchari;
bitFlag;
for(i=0;i{
Flag=!
Flag;
if(Flag)
Display(RunMode);
else
Display(0x10);
Delay1ms(100);
}
Display(RunMode);
}
unsignedcharGetKey(void)
{
unsignedcharKeyTemp,CheckValue,
Key=0x00;
CheckValue=P2&0x32;
if(CheckValu