基于单片机的流水灯系统设计.doc
《基于单片机的流水灯系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的流水灯系统设计.doc(26页珍藏版)》请在三一文库上搜索。
1、基于单片机的交通控制系统模拟设计1. 设计思路21.1 电源模块21.2 显示模块31.3 花样灯模块32 单片机花样灯与数码显示系统总体设计3 2.1三个模块的阐述2.2单片机花样灯与数码显示控制系统的通行方案设计32.3单片机花样灯与数码显示控制系统的功能要求42.4单片机花样灯与数码显示控制系统的基本构成及原理53花样灯与数码显示系统的硬件设计53.1 AT89C51单片机简介53.1.1 AT89C51单片机的主要特性63.1.2 主要引脚功能63.2 系统硬件总电路构成及原理93.2.1系统硬件电路构成93.2.2系统工作原理94系统软件程序的设计124.1 程序主体设计流程124.
2、2 理论基础知识134.2.1数组及while、switch等语句134.2.2软件延时原理144.3程序模块设计144.3.1花样灯的设计144.3.2 LED数码管显示154.4 系统软件调试184.4.1 proteus仿真184.4.2keil仿真18 参考文献.17 设计心得体会.18 附录19基于单片机的花样流水灯及其数码显示技术摘要:自计算机问世以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式市发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在
3、单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。本文主要讲的是单片机,课题名称为多按键花样流水灯,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。 关键词:花样灯 单片机 数码管1. 设计思路(1)为了使设计具有更强的针对性和实用性,使用单片机设计的控制方案,基于AT89C51的单片机设计方案。(2)确定系统控制的总体设计,包括流水灯变化方案设计以及系统应拥有的各项功能,在这里,本设计除了有流水
4、灯状态控制能实现基本的变化功能,还增加了数码管显示提示。 (3)设计分为3个模块,分别为电源模块,数码显示模块,花样灯模块,并对3个模块进行充分的校正和完善。(4)进行软件系统的设计,对于本系统,本组采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解延时原理,总体上完成了软件的编写。2 花样流水灯与数码显示系统总体设计2.1三个模块的阐述 2.1.1电源模块电源提供的方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采
5、用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我选择第二种方案。电源模块仿真效果图1-12.1.2 显示模块数码管显示方案该系统要求完成计数功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。综上所述,我选择第一种方案。数码管显示模块仿真图1-2:2.1.3 花样灯模块:本方案采用3种变化形式,且3种方式依次按顺序变化,采用8个LED灯作为一个系统。 花样灯仿
6、真效果图1-3:图1-1图1-2 图1-32.2单片机花样流水灯与数码显示系统的通行方案设计1) 系统采用8个LED灯,一个数码显示器,及电源。2) 流水灯有3种变化方式。 第一种:LED灯由L1-L8逐个变亮;第二种;L1,L8亮,接着L2,L7亮,再接下来L3,L6亮,然后L4,L5亮,再这样反循环一次。第三种;L1,L3,L5,L7,L2,L4,L6,L8依次亮。 且三种方式按顺序执行,成花样流水灯状。 3)方式1.2数码显示管是用来记录亮灯的个数,方式3是用来记录哪一个灯亮。 4)具体的数据及其显示如表2-1所示。2.3 单片机花样灯与数码显示系统的功能要求系统要满足稳定,准确,快速的
7、三个基本要求。1) 稳定:就是基本上实现了方案设计思路上的变化样式,并且不会出现错误和紊乱。2) 准确; 即系统的偏差接近可允许范围之内,方可认为准确。3) 快速:顾名思义,就是系统的运行速度可以调整,并且不会影响到系统的其他性能指标即可。2.4单片机花样灯与数码显示系统的基本构成及原理单片机设计流水灯控制系统,可用单片机直接控制流水灯的状态变化,不同的程序控制不同的变化状态,本次仅仅分为3种形式变化,当然还可以有更多的变化。据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,流水灯模块,数码管显示模块接受输出。系统的总体框图如上1-4所示。单片机最小系统外围接口电路L
8、ED数码管显示LED流水灯按键控制电路图1-4系统的总体框图L1L2L3L4L5L6L7L8数码管计数方式1100000001110000002111000003111100004111110005111111006111111107111111118方式210000012110000114110001116111111118111111118111001116110000114100000012方式3100000001001000003000010005000000107010000002000100004000001006000000018表2-1表2-13花样灯与数码显示系统的硬件设计3
9、1 AT89C51单片机简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本
10、AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.1 AT89C51单片机的主要特性 与MCS-51 兼容 ,4K字节可编程闪烁存储器 ,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源) ,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。 定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中
11、断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC 可得到如下计算通式:TC=M-C式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算通式变为:T=(MTC)T0模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式最大延时只有8.129毫秒,采用方式最大延时也只有65.536毫秒。这就是
12、为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。图3 AT89C51系列单片机的内部结构示意图3.1.2 主要引脚功能 图4 AT89C51引脚图VCC:电源电压GND:接地P0口:P0口是一组8位双向I0口。P0口即可作地址数据总线使用,又可以作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。在访问期间激活要使用上拉电阻。P1口:Pl 是一个带内
13、部上拉电阻的8准位双向IO口,P1作为通用的I/O口使用。P2 口:P2 是一个带有内部上拉电阻的8 位准双向IO 口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。P3 口:P3 口是一组带有内部上拉电阻的8 位准双向I0 口。P3 口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表2表2 具有第二功能的P3口引脚端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/ INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数
14、器1外部输入)P3.6/ WR(外部数据存储器写选通)P3.7/ RD外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉
15、冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是
16、如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vcc。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。3.2 系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,8个发光二极管分成3种变化方式,数码显示管进行计数。3.2.1系统硬件电路构成本系统以单片机为核心,系统硬件电路由状态灯,数码管显示,按键,组成。其具体的硬件电路总图如图1-5所示。实物图如1-6所示。3.2.2系统工作原理 先对系统进行初始化,之后
17、再调用子程序入单片机内。分别控制循环彩灯及其数码管显示模块。(以上两个模块及其工作方式都已经在上面提到)之后就是对程序的无限循环了,达到3种方式不停循环的目的,可以实现手动关闭。图1-5 基于单片机的流水灯控制系统电路图图1-6,硬件结构4系统软件程序的设计 4.1 程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序紧停程序等。整个软件程序、流程图如图1-7所示。 开始 初始化 调用子程序 循环彩灯数码管显示无限循环手动关闭4.2 理论基础知识4.2.1数组及while,switch,等语句数组:所谓数组,就是相同数据类型的元素按一定顺序排列的集合
18、就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。While语句:while语句格式为:while(表达式)语句;/*循环体*/这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句。switch语句switch语句格式为:switch(表达式)case 常量表达式1
19、 语句1case常量表达式2: 语句2.case常量表达式n: 语句ndefault: 语句n+1说明switch后面的括号内的表达式,ANSI标准允许为任何类型.当表达式与某一个case后面的常量表达式相等时,就执行case后面的语句,若没有匹配,则执行default后面的语句.每一个case的常量表达式的值须互不相同,否则便会出现矛盾.各个case和default的出现次序不影响结果.执行完一个case语句,流程就转移到下一个case并继续执行.因此在case的分支后,加break语句来跳出switch语句.4.2.2软件延时原理单片机因具有体积小、功能强、成本低以及便于实现分布式控制而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 流水 系统 设计
