基于单片机的报站器设计.docx
- 文档编号:5260959
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:27
- 大小:353.99KB
基于单片机的报站器设计.docx
《基于单片机的报站器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的报站器设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的报站器设计
基于单片机的报站器设计
摘要
本文介绍了一种的公交车自动报站系统的设计原理,提供了一种以AT89C52单片机为核心,控制大屏幕LED点阵显示的硬件设计方案。
系统主要通过AT89C52单片机做为系统CPU,处理包括键盘输入和LED显示屏显示站名的所有信号处理。
系统扫描到有键按下后给CPU一个脉冲信号,然后CPU处理信号,确定所到站的站名,再通过扫描驱动从LED显示屏上显示出所到站的站名。
达到自动报站的作用。
整个系统硬件设计包括键盘电路、复位电路、显示驱动电路、显示电路、内存扩展电路模块,语音控制模块。
设本系统很大程度上提高公交车报站的准确性,可靠性。
提高了公交系统的服务质量。
促进城市经济发展和交通变化的和谐发展。
关键词:
AT89C52单片机,LED点阵,自动报站,AT24C64
STOPBASEDONSINGLE-CHIPDESIGN
ABSTRACT
The Design of Automatic Bus Station-InformerThisarticleintroducesanewmethdetodesignthebus-stopreportingsystem。
Itprovidesanewscheme,whichisbasedAT89C52microcomputer,tocontrolthedisplayoftheLEDlattice。
ThesystemmainlythroughAT89C52asthecoresystem,controlskeyboard’sinputandLED’sdisplay.Theentiresystemthroughmanualoperationafterreceivingthekeystoasystemscanbuttonpress,Keysubcontractorsthatdeterminedasignaltothemicrocontroller,thenthemicro-processingofsignalsfromtheaccruedvalueaddedtodeterminethereliabilityofstationnames.DrivingthroughthescanningfromtheLEDdisplaybythearrivalstationnames.Reachedsemi-automaticstationsrole.Theentiresystemincludessomemodules;forexample,thekeysubcontractors,thesignalinputmicrocontroller,signalprocessing,LEDDriversandLEDdisplayprogram.LEDdisplayisthefocusofthesystem.Thesystemcangreatlyenhancebusstationsaccuracy,andimprovethequalityofserviceofthetransportationsystem.Itwillpromotethecity'seconomicdevelopmentandtheharmoniousdevelopmentoftraffic.
Keywords:
AT89C52chipmicrocomputer,LEDlattice,reportingsystem,
AT24C64
目 录
1.3课题方案的论述与确定4
2.2.2键盘的工作方式10
2.3显示和驱动电路的设计10
2.3.1显示电路设计10
2.3.2显示驱动设计10
2.4数据存储器的设计14
2.4.1内存扩展电路14
2.5串行通信电路的设计16
3.2下位机串行通信19
3.3存储读写程序的设计20
4.3软件电路连接24
附录31
前言
随着国民经济的快速发展,城市建设规模不断扩大,大城市人口高度集中并大幅度增长,同时汽车保有量急剧上升,交通需求迅速扩大,而道路交通基础设施建设的发展则相对滞后。
城市交通需求与供给之间的矛盾越来越突出,城市“乘车难”、“行车难”的局面在加剧,交通阻塞呈现出点到线、由线到面的扩展趋势,交通拥挤、交通延误、交通阻塞以及由此引起的噪音、废气污染严重影响着居民的正常的生活以及社会经济的持续、健康发展。
近年来,我国城市交通的现状已引起了政府、公众、社会各界的广泛关注,
有关专家学者和交通工程师们在吸取各国城市交通发展经验的基础上,找到了一条解决我国城市交通发展问题的有效途径,即优先发展城市公共交通,以公共交通为杠杆降低城市交通需求总量,实现道路交通基础设施发展与交通需求增长的均衡。
实施“公交优先”是解决我国城市交通发展问题的有效途径,也是我国目前城市交通发展的基本政策。
公交智能化是智能交通的一个重要的子领域,同时也是落实“公交优先”,使城市交通与社会经济和谐发展的重要组成部分。
实施公交智能化,必须提高公交服务质量,而到站后的准确、及时报站就是一个方面,本设计基于AT89C52单片机、LED点阵、AT24C64、制作的公交车自动报站系统就能解决这方面的问题。
从而,达到公共形象的提升。
当前国内主要大城市的公交车大都采用人工报站,即每到一站由司机或者乘务员来进行报站。
但有时由于受到各种因素如雨雪天路滑、车上拥挤、乘务员心情的变化等的影响,会出现报错站,漏报站的情况,给乘客特别是不熟悉本市地形的乘客带来了不必要的麻烦,从而影响到了一个城市的窗口形象工程建设。
于是开发研制自动报站系统成为必然。
第1章单片机的概述和设计方案
1.1单片机技术简介
1.1.1单片机技术的发展
所谓单片机是指在一个集成芯片中,集成微处理器、存储器、基本的I/0接口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。
1970年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。
美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,特别是1976年MCS-48单片机问世以来,在短短的二十几年间,经历了四次更新换代,其发展速度大约每二、丁三年要更新一代、集成度增加一倍、功能翻一番。
其发展速度之快、应用范围之广,己达到了惊人的地步。
尽管日前单片机的品种很多,但其中最具典型性的当数Intel公司的MCS-51系列单片机。
MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它仍然是8位的单片机,但其功能有很大的增强。
由于PHILIPS,ATMEL,WELBORD,LG等近百家IC制造商都主产51系列兼容产品,具有品种全、兼容性强、软硬件资料丰富等特点。
因此,MCS-51应用非常广泛,成为继MCS-48之后最重要的单片机品种。
直到现在MCS-51仍不失为单片机中的牡流机型。
国内尤以Intel的MCS-51系列单片机应用最广。
由于8位单片机的高性能价格比估计近十年内,8位单片机仍将是单片机中的主流机型。
1.1.2单片机技术的应用
随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出很强的生命力。
它和一般的集成电路相比有较好的抗干扰能力,对环境的温度和湿度都有较好的适应性,可以在工业条件下稳定工作。
且单片机广泛地应用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能。
如MCS-51系列单片机控制的“船舶航行状态自动记录仪”、“烟叶水分测试仪”、“智能超声波测厚仪”等。
单片机也广泛地应用于实时控制系统中,例如对下SID卜各种窑炉的温度、酸度、化学成分的测量和控制。
将测量技术、自动控制技术和单片机技术相结合,充分发挥其数据处理功能和实时控制功能,使系统工作处于最佳状态,提高系统的生产效率和产品质量。
从航空航天、地质石油、冶金采矿、机械电子、轻工纺织等行业的分布系统与智能控制以及机电一体化设备和产品,到邮电通信、日用设备和器械,单片机都发挥了巨大作用。
其应用大致可分为以下儿方面:
1机电一体化设备的控制核心
机电一体化是机械设备发展的方向。
单片机的出现促进了机电一体化技术的发展,它作为机电产品的控制器,充分发挥其自身优点,大大强化了机器的功能,提高了机器的自动化、智能化程度。
最典型的机电产品机器人,每个关节或动作部位都是个单片机控制系统。
2数据采集系统的现场采集单元
大型数据采集系统,要求数据采集的同步性和实时性要好。
使用单片机作为系统的前端采集单元,由主控计算机发出采集命令,再将采集到的数据逐一送到主计算机中进行处理。
如有些气象部门、油田采油部门以及电厂等均可采用这样的系统。
3分布控制系统的前端控制器
在直接控制级的计算机分布控制系统(DCS)中,单片机作为过程控制中每一分部操作或控制的控制器,进行数据采集、反馈计算、控制输出,并在上位机命令的指挥下进行相应协调工作。
4智能化仪表的机芯
自动化仪表的智能化程度越来越高。
采用单片机的智能化仪表可具有自整定、自校正、自动补偿和自适应功能,还可进行数字PID调节,软件消除电流热噪声等等,解决传统仪表所不能解决的难题。
单片机的应用使这种性能如虎添翼,如自动计费电度表、燃气表中己有这方面的应用。
许多工业仪表中的智能流量计,气体分析仪、成分分析仅等也采用了这项技术。
甚至有的保健治疗仪中也采用了单片机控制。
5消费类电子产品控制
该应用主要反映在家电领域,如洗衣机、空调器、保安系统、VCD视盘机、电子秤、IC卡、手机、BP机等。
这些设备中使用了单片机机芯后,大大提高了其控制功能和性能,并实现了智能化、最优化控制。
6终端及外围设备控制
计算机网络终端设备,如银行终端、商业POS(自动收款机)以及计算机外围设备如打印机、通信终端和智能化UPS等。
在这些设备中使用单片机,使其具有计算、存储、显示、输入等功能,具有和计算机连接的接口,使计算机的能力及应用范围大大提高。
本课题以单片机作为控制器之一,进一步研究单片机在自动化检测领域中的应用。
1.2课题任务及设计要求
1.课题任务
以单片机为核心,制作一个公交车自动报站系统。
其必要的功能为:
(1):
具有2个16*16的点阵汉字显示功能。
(2):
提示信息具有方便的可修改性。
2.课题设计要求
(1)硬件设计:
A:
汉字的显示(点阵),汉字显示模块采用(16*32)。
B:
串口通信:
设计PC机与单片机之间的通信电路,用于把站名信息发送到单片机内部。
C:
存储器的扩展:
采用大容量长寿命非易失存储器存储数据信息,可永久可靠的保存各项重要数据。
本设计才用ATMEL公司的AT24C64串行EEPROM存储器用中断来控制报站。
D:
用按键来控制报站的上下行和站名顺序。
3.软件设计:
A:
时钟的显示
B:
汉字的显示程序
C:
串口的通信
D:
存储器的扩展
E:
各种程序的初始化
1.3课题方案的论述与确定
报站器以单片机AT89C52为CPU来控制LED点阵显示屏显示所到站的站名,提高报站的准确性,高效性和直观性。
由于线路不同,报站系统中存储的站名需要通过更改来适用于各种线路,以阿此提高系统的通用性。
所以我们需要设计通信模块来实现PC机和单片机之间的通信。
并能通过单片机与PC机之间的通信来实现报站名的更改,使其成为多功能开发型报站器。
在内存方面,由于AT89C52的数据存储为256字节,由于站名的信息量比较大,片内数据存储空间有限,所以需要扩展一个片外数据存储,来满足要求,这就要求系统应设置内存扩展模块。
LED显示屏考虑系统只是一个演示作用,所以本设计采用了8块8*8的LED显示模块组成的16*32的LED显示屏,可以显示两个汉字,可以达到演示要求。
综上系统的框图如图1—1系统框图;
图1—1系统框图
1.方案的设计框图
本系统硬件可分为PC机,AT89C52单片机,EEPROM为AT24C64的存储模块,显示模块,串行通讯模块,CPU复位电路,外部振荡电路,按键组成。
硬件电路图如图1—2方案设计框图所示:
图1—2方案设计框图
2.方案的设计方法
基于AT89C52而设计的公交车自动报站系统,为了能够方便的报站和硬件设计的简单用两个外部中断来控制站台的”+”和“-“,通过记数来判断所到的站台,并且通过RESET来复位.由于汉字信息的存储量大,而单片机内部RAM比较少,不够用,为了提高可靠性可用串行E2PROM,它是可在线电擦除和电写入的存储器,该存储器具有体积小,接口简单,数据保存可靠,可在线改写和功耗低等特点。
在此,我们选用AT24C64,它是8K的串行EEPROM,是支持IIC总线数据传送协议的串行通信的片外存储CMOS,EEPROM。
而公交车要随时修改站台的信息,我们可以通过一个电平和逻辑关系转换的器件来使得单片机和PC机进行通信,EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。
因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。
实现这种变换的方法可用分立元件,也可用集成电路芯片。
目前较为广泛地使用集成电路转换器件,这里用MAX232。
为了显示汉字信息,可用LED点显示屏(16*32)来显示汉字,用晶体管来驱动。
3.方案优缺点:
方案采用两根普通口线串行输入输出片外数据存储器EPROM—AT24C64,采用了IIC总线,地址和数据都是通过由普通口线模拟IIC总线串行口送出,大大节省了MCU宝贵的口线,不需要地址锁存器和8255有利于对系统升级和扩展,此外器件较少,硬件设计简洁;此外,由于使用普通的口线来模拟IIC总线给程序设计带来一定的困难。
用晶体管驱动点阵也能达到比较好的效果。
对于站台的报站,通过外部中断来实现更加方便,这样可以减少硬件和软件的设计。
第2章系统硬件设计
2.1单片机的选择和外围电路的设计
因为公交车车自动报站系统设计需要较大的存储量,所以要选择一个数据和程序容量较大的单片机,这样就不用扩展数据和程序存储器。
在这里我们选用了ATMEL公司的AT89C52单片机作为本设计硬件电路的主控芯片,它是一个低电压,高性能CMOS8位单片机,片内8KBYTES的可反复擦写的只读程序存储器和56BYTES的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置有8位中央处理器和FLASH存储器单元,功能强大的AT89C52单片机可提供许多复杂系统控制应用场合。
2.1.1外部晶振的选用
AT89C52的内部有一个用于构成振荡器的高增益反相放大器。
通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器。
电容的值具有微调的作用,我们取30PF。
具体的接法如图2—1外部晶振电路:
图2—1外部晶振电路
AT89C52的工作频率范围在0-24MHZ。
我们选用的是12MHZ的晶振,振荡周期为1us机器周期为1us,所以这个晶振可以满足这个系统的要求。
并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。
2.1.2复位电路
复位有硬件和软件两种,复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C52单片机的RESET端加上一个高电平信号,并持续10ms以上即可,RESET端接有一个上电复位电路,它是由一个小的电解电容和一个接地的电阻组成的。
人工复位电路另外采用一个按钮来给RESET端加上高电平信号。
图2-2人工复位电路
我们采用放电型人工复位电路,如图2-2人工复位电路,上电时C通过R充电,维持宽度大于10ms的正脉冲,完成上复位功能。
C充电结束后,RESET端出现低电平CPU正常工作。
在此我们取了典型值R=10K,R1=1K,C=10uf。
上电复位实现的时间:
T=R*C
需要人工复位时,按下按钮K,C通过K和R1放电,RESET端电位上升到高电平,实现人工复位,K松开后C重新充电,充电结束后,CPU重新工作,R1是限流电阻,阻值不可以过大,否则不能起到复位作用。
2.2按键电路的设计
键盘实质上是一组按键开关的集合,控制CPU通过按键来识别特定的用户命令,从而转入相应的程序来执行用户命令。
键盘的软硬件的设计涉及下面几个方面的问题:
对于此设计来说我们要准确的显示我们所要对应的信息,每按下一次按键要显示所要显示的信息。
这按键是主要用来报站的而设计的。
这样比键盘操作方便,也比较实惠。
按键电路采用中断模式。
当有按键按下时,系统产生中断,CPU响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为:
第一个键为报站控制键S1用来控制站台“+”例如:
第一站为东华站,按下S1时显示第二站:
汽车站,其余的站台工作原理也一样。
S2用来控制站台的“-”,第二站为汽车站,在按下S2时这样就显示汽车站。
电路如图2—3按键电路:
图2—3按键电路
2.2.1判键及其接口电路设计
键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。
为了确保CPU对一次按键动作只确认一次,并且防止干扰信号的影响,必
需加入消除电平抖动的措施,下图3.3为按键抖动示意。
消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。
当按键较多时,我们多采用硬件件消抖法。
按键接口设计有两种方法,独立式按键和矩阵式键盘。
独立式按键各键相独立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。
这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。
由于该设计方案IO资源浪费大。
故此方法只适用于按键少或其他控制功能很简单的场合。
矩阵键盘适用于按键数量较多的场合,它把键盘输入线分为行线和列线,按键位于列的交叉点上。
按键的识别需要软件分别扫描行线和列线,根据扫描的结果判具体按下的按键。
由于本设计中的按键只有三个,考虑系统可靠性和键盘设计的简单所以采用独立式按键。
图2—4按键闭合及断开时的电压。
图2—4按键闭合及断开前后的电压
2.2.2键盘的工作方式
键盘扫描只是CPU的工作内容之一,CPU在忙于各项工作时,如何处理键盘输入取决于键盘的工作方式,键盘工作方式有三种,编程扫描、定时扫描和中扫描。
在编程扫描中,CPU反复地扫描键盘,等待用户的输入命令,而执行键入命令或处理输入数据时,CPU不再相应输入要求,直到CPU返回重新扫描键盘为止。
时扫描工作方式利用单片机内部定时器产生定时中断,CPU相应定时器中断后对键盘进行扫描,在有键按下时识别出该键并执行相应功能程序。
使用中断方式时要求在没有键按下时,不占用CPU处理时间,只有当有键按下时产生键盘中断,由于中断识别键并执行功能程序,这种方法使用最多。
2.3显示和驱动电路的设计
2.3.1显示电路设计
HS1088BS点阵式LED显示模块是8行8列64个LED组成。
单块点阵式LED显示模块能够显示各种字母,数字和常用的符号。
点阵式LED显示模块在8行8列的每一个交点上装有一个LED。
模块有共阳极和共阴极之分。
LED的正极接行引线,负极接列引线的称为共阳极LED显示模块,反之为共阴极LED显示模块。
由4个8*8的LED显示屏组成的16*16的LED汉字显示屏如图2—4,4个8*8的LED显示屏组成的16*16的LED显示屏,行引脚逐个连接而成。
图2—54个8*8的LED显示屏组成的16*16的LED显示屏
2.3.2显示驱动设计
单个LED器件的驱动:
从LED器件的发光原理可知,当向LED器件施加正向电压时,流过器件的正向电流使其发光,因此LED的驱动就是如何使它的PN结处于正偏置,而且为了控制它的发光程度,还要解决正向电流的调节问题,具体的驱动方法可以分为直流驱动和恒流驱动,脉冲驱动和扫描驱动,这里采用恒流驱动。
由于LED器件的正向特性比较陡,加上器件的分散性,使得在同样电源电压和同样的限流电阻的情况下,各器件的正向电流并不相同,引起发光强度的差异。
如果能够对LED正向电流直接进行恒流驱动,只有恒流值相同,发光强度比较接近,我们知道晶体管的输出特性具有恒流性质,所以用晶体管驱动LED,单个LED驱动如图2—5单个LED驱动电路。
P2,P1输出的电流约为400UA左右,LED点阵的工作电流大约为20MA,工作电压大约为2V为了不使LED烧坏R最大约为6.75千欧。
在此选R=4.7千欧。
图2—5单个LED驱动电路
本次设计中采用的是(16*32)的LED显示屏显示汉字,一次可以显示两
个汉字,由于站名的长度比显示屏长,所以必须实现移位的功能。
LED显示的三种方式:
(1)占空比控制驱动:
减少驱动电路。
在需要进行灰度级控制显示的情况下要求随时调整占空比使LED达到响应的发光强度。
(2)组合驱动:
按照行列进行驱动。
(3)扫描驱动:
所谓脉冲驱动方式,就是利用人眼的视觉暂留效应,以脉冲的方式对LED器件进行供电,使之间歇性地点亮。
采用这种驱动方式需要对以下两个方面进行考虑:
脉冲电流的幅值和其重复颇率。
首先,脉冲电流幅值的选择,当脉冲驱动的平均值与直流驱动的电流值相等时,我们人眼的感觉是相同的,也就是说两者的发光强度相当。
扫描驱动是通过数字逻辑电路,使若干LED器件轮流导通,用以节省控制驱动电路。
LED显示屏是将发光灯按行按列布置的,驱动时也就按行按列驱动。
在扫描驱动方式下可以按行扫描.
A:
按列控制也叫可按列扫描,按行控制。
所谓“扫描”的含义,就是指一行一行地循环接通整行的LED器件,而不问这一行的哪一列的LED器件是否应该点亮,某一列的LED器件是否应该点亮,由所谓的列控制电路来负责。
B:
按行扫描按列控制的方式。
一个m行n列结构的LED显示屏,当采用行扫描列控制的驱动方式时,从H1到Hm轮流将高电位接通各行线,使连接到各行的LED器件接通正电源,但具体哪一个LED导通,还要看它的负电源是否接通,这就是列控制所要完成的工作。
例如在LED显示屏上需要LED11熄灭,LED21点亮,那么当扫描到H1行时,L1列的电位就应该为高:
当扫描到H2行时,L1列的电位就应该为低。
根据驱动方式的不同,LED大屏幕显示方式可分为静态显示和动态扫描显示两种。
在实际的LED大屏幕显示中,很少有采用静态驱动的。
LED发光器件的数量巨大,不宜使用静态显示驱动电路。
扫描驱动电路一般采用多行的同名列驱动器。
行驱动器一行的行线连到电源的一端,列驱动器一列的列线连接到电源的另一端。
当行驱动选中第I行,列驱动选中第J列时,对应的LED器件根据列驱动的数据要求进行显示,控制电路负责有序的选通各行。
在选通每一行之前还要把该行各列的数据准备好。
一旦该行选通,这一行上的LED发光器件就可以根据列数据进行显示。
在本设计中LED点阵显示模块采用动态扫描方式显示,下图是列扫描的LED点阵显示的驱动接口,要显示一个清楚的汉字要求要4块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 报站 设计