单片机地铁或公交自动报站器设计_第1页
单片机地铁或公交自动报站器设计_第2页
单片机地铁或公交自动报站器设计_第3页
单片机地铁或公交自动报站器设计_第4页
单片机地铁或公交自动报站器设计_第5页
免费预览已结束,剩余31页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机地铁或公交自动报站器 设计作者:日期:基于单片机的公交车自动报站系统设计目录第一章绪论1 .1本课题的研究意义1.2 . 2手动式公交车自动报站器 21. 2.3基于单片机的公交车自动报站系统2?系统功能模块详细介绍3.2. 1 单片机 AT89C5 13?2.1.1管脚说明5.2.1.2外部晶振的选择?62 .1.3复位电路6?2.1 . 4按键电路设计7?2. 2 . PT 2 262/PT22 72 引脚图 82.2.1PT2262/2272接线图以及工作原理 92. 2.2无线数传模块F 05V/J0 5 V101. 2目前几种公交车报站器详细比较1.2 . 1G PS公交车自动

2、报站器第二章2. 3 显示模块LCD160 22 .3.1 排阻 Respack -8 2. 3. 2 LC D1602的引脚定义1.12.3.3 液晶LC D1602常用的1 1条指令2.4 蜂鸣器和L ED指示灯15第三章系统程序设计1?73.1 系统仿真主程序流程图第四章系统仿真实现?1 84 .1开发环境Kei 1 C51介绍4.2 仿真环境PROEU S介绍4.3 仿真运行结果截图 1.8错误!未定义书签。4. 4 仿真结果19?结束语20?附录A 系统仿真全部代码.第一章绪论1.1本课题的研究意义近些年来,随着城市人口的不断增加,人们生活节奏的不断加快,公交车在大城市以及 中小城市

3、已经普及,并且有了日新月异的发展,在人民生活中起着重要作用,因此,公交车 的正常运行与人们的正常生活息息相关。传统公交车报站大多是由乘务人员来人工报站, 但是因为方言的差异或者人多时语音嘈杂,这种方式不利于人民生活的和谐。所以根据这 种需要市面上产生流行了多种公交车报站器也方便人们的生活。目前虽然现在在一些大城市的公交车上已经采用GP S定位系统自动报站,但其造价昂贵,难以在一些中小城市实现普及。另外,现在也有一些城市正在使用的一种半自动语 音报站系统,这种系统需要由司机在车子进出站的时候人工操作,由于这两个时间点往往 是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患。所以本设计针对

4、目前 常见公交车报站系统的主要缺陷,研究介绍了一种基于单片机控制的公交车自动报站系统 实现在到站时的自动语音报站和 LCD液晶显示,而且该系统造价廉价,可以在中小城市中普及。1. 2目前几种公交车报站器详细比较公交车对社会影响巨大,随着公交车的不断普及市面上也出现各种各样的公交车报站 器,现在市面上流行的几种报站器主要有下列几种类型1. 2 .1 GPS公交车自动报站器利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台1 5英寸的液晶电视和 GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显

5、示屏,乘客也 可以一目了然。当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式 传送到显示屏上,同时车载台会发出相应的提示音;目前在美国部分城市GPS卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。1 . 2. 2手动式公交车自动报站器手动式公交车自动报站器通过主机上的汉字显示器, 显示当前车站名称,即将达到站名 指示功能;通过主机屏幕的显示,可直观的观察到进站和下一站信息;通过按键,可播放进 站,出站,服务用语等语音。但是该种报站器需要由司机在车子进出站的时候人工操作, 由于这两个时间点往往是路面情况最复杂

6、的时刻,因此也给行驶中的车辆带来了安全隐 患,不利于公交车的安全行驶。1.2.3 基于单片机的公交车自动报站系统基于单片机的公交车自动报站系统就是利用编码解码芯片PT2 262/PT 2272进行解码编码,利用无线数传模块F05V/J05V和天线进行发射和接收来实现的。在每个站牌上设置 个编码发送装置PT22 6 2和无线数传模块F0 5V,通过公交车上设置的接收装置 J05V和译码装置PT 2272进行译码并传输到单片机。发送装置按照延时3到5秒不断发送信号,公交车在距离站牌10到2 0米的时候就能接收到信号,然后根据程序来实现语音报站,LCD液晶显示。这种报站系统软件编写比较简单,也容易修

7、改,并且芯片价格低廉,大批生产能够获得比GPS系统达到更高的性价比,是公交车自动报站系统的较佳选择。系统各部分框图如下图所示AT89CP T266无线»通过天512数传线>号模块图2-1公交车站牌发射部分方框图图2公交车车载接收部分方框图第二章系统功能模块详细介绍2. 1单片机 AT 89C51随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角 色。纵观单片机发展的3 0多年来,单片机正往多功能、高性能、高速度、低电压、低价格、低噪声、低功耗、小体积、大容量、专用化和外围电路内装

8、化的方向发展。单片机的出现使的过去经常采用模拟电路、数字电路实现的电路系统,转变成现在用单片机予以实现,并且传统的电路设计方法演变成硬件和软件相结合的设计方法,并且许多电路设计问题将转化为纯粹的程序设计问题。主要特性:1、一个CPU 一个片内振荡器以及时钟电路,2、4K( RAM程序存储器,3、12 8 B (R OM)数据存储器4、21个特殊功能寄存器5、数据能够保存的时间:10年6、与MCS-5指令相兼容7、32个可编程1/ O线(4个8位并行I /O端口)8 16位定时器/计数器有两个9、5个中断源,两个优先级嵌套结构10、一个可编程全双工串行接口1 1、低功耗的闲置和掉电模式12、片内

9、振荡器和时钟电路尽管目前单片机种类多,各类单片机的指令系统各不相同,功能各有所长,但市场占 有率最咼的是51系列单片机。单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的运用。例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品 中都有重要的用途,其中的51单片机系列发展规模最大。5 1单片的运用广泛,并且具有优异的性能价格比,集成度高,体积小,有很高的可靠性,并且控制功能强。所以是核心控制期间的最佳选择。XTAL1POA'AMXTAL2PO.T/ADlRSTP0.+/AD4 POLADS PCi.AOe PO.7/AD7PlWAflPLI

10、j'AeP2.2A1I0P2.avAl 1ALEEAP2.aA13proF.QAHE円-伽W(DPl.2Pf.3P3 3X1 i*mPI 4円斗TQP1k5吃討riPl«Pl 7P17W图3-1A T 8 9C51单片机引脚图&2.1. 1管脚说明F面对设计中用到的一些管脚进行简要的介绍:VCC供电电压,一般接+ 5V电源正端。GND接地,一般接+5V电源地端。P 0 口( 3 932脚):输入输出线P0 .0P 0 .7统称为P0 口。可以用作准双向输入/输出口使用,但由于内部无上拉电阻,一般外加上拉电阻:在进行片外存储器扩展或I /O 扩展时,P0 口作为分时服用

11、的低8位地址总线和双向数据总线。P1 口( 18脚):P1 口作为准双向I/O 口使用。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。卩2口( 2 1 2 8 脚) : P2 口也可作为准双向I/O 口,当进行片外村春气扩展或I/O 口扩展时,P 2 口用作高8位地址总线。P 3 口 (10 17脚):P 3 口作为准双向I/O口使用外,每一个端口还具有第二功能。P3 口也可作为AT8 9C 5 1的一些特殊功能口,如下表所示:口管脚备选功能P 3.0 RXD (串行口输入端)P3 .1TXD (串行口输出端)P 3.2/I

12、N T0 (外部中断0)P 3.3 /INT1 (外部中断1)P3. 4 T0 (定时器/计时器0计数脉冲输入)P3.5T1(定时器/计时器1计数脉冲输入)P3.6/WR (外部数据存储器写选通信号输出)P3 .7 /RD(外部数据存储器读选通信号输出)RST( 9脚):复位输入。当振荡器复位器件时,要保持10ms高电平时间才能保证有效的复位。ALE/PR OG(30脚):地址锁存允许/编程线。采用了地址/数据总线复用技术。/PS EN(29脚):片外程序存储器读选通信号输出端,低电平有效。/EA/V P P(31脚):片外程序存储器选用端,低电平有效。注意加密方式1时,/ E A将内部锁定为

13、RESET当/EA端保持高电平时,此间内部程序存储器。在FLAS H编程期间,此引脚也用于施加12V编程电源(VPP)bXTAL1外接晶体振荡器一端。XTAL2外接晶体振荡器另一端。2.1. 2 外部晶振的选择AT89C51的内部有一个用于构成振荡器的高增益反相放大器。通过XTAL1, A TA L2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡 器。电容的值通常3 0 PF。具体的接线电路如图3 2外部晶振电路:AT8 9C51单片机外接的是1 2MHZ的晶振,则机器周期为1u s。C1Thx:IRSTC2SOPFU1JCTAL:RST图3- 2 外部晶振电

14、路2.1.3复位电路复位的作用是使程序自动从0000H开始执行,因此我们只要在AT8 9C 51单片机的RST端加上一个高电平信号,并持续10ms以上即可,RS T端接有一个上电复位电路,它是由一个小的电容和一个接地的电阻组成的。按键复位电路另外采用一个按钮来给RST端加上高电平信号。本设计采用放电型的进行人工复位的电路,如图按键复位电路,上电时C 3通过R2充电,维持宽度大于10ms的正脉冲,就可以完成复位操作。当C 3结束充电后,RST端出现低电平,这是C PU将正常的工作。在本次设计中如果需要按键进行复位,就按下按钮B UTTON3,C 3通过BUT T0N3和R2放电,RST端电位将会

15、上升到高电平,从而实现人工复位,BUTTOM松开后C 3重新充电,当结束充电后,C PU将会重新工作。下图中,R 2是限流电阻,阻值不可以过大,否则不能起到复位作用。H5v图3-3 按键复位电路2.1.4 按键电路设计对于此设计来说要准确的显示设计所要对应的信息,每按下一次按键要显示所要显示的信息。这按键是主要用来模拟无线信号的收发而设计的,即P T2262/PT2272的无线信号收发。功能的实现主要是通过程序来实现,BUTT 0N1控制顺向报站,当报站系统启动后,按下BUT T0N1开始按预先设置好的站名进行顺向报站,本设计设置的是从站名“ AA朋AAA”到“ EE EEEEE依次报站,每次

16、按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。BU TT0N2$键是实现公交车逆向返回时的报站,即从站名“ EEEEEEE到“A AAAAA A”的依次报站,也满足每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。17P 3.4fr0P3.5friF3.e/WRP37fiD1314BUTTON 2O 0 YBUTT0N1 T图3-4按键设置如果使用过程中出现错误时,可以使用按键复位,重现选择正向或者逆向报站。同时, 为了防止一次按键产生站名的漏报,在软件设计中使用了延时函数,防止站名的漏报。2 2 P T226 2 / P T2272 引脚图在PT 2 262/2272这种器件的使用,

17、根据资料一般将会使用8位的地址码和4位的数据码。P T2262编码电路引脚的选择是:第18脚作为地址的设定脚,他可以选择三种状态:悬空、接正电源、接地。3的8次方为6561,即地址编码的不重复度是 6 5 61组。P T2262/2272的配对使用是要求发射端PT2262和接收端PT2272的地址编码需要完A (厂1 J/ 18lVdd1Al-217DourA|-217-VT2316- OSCiA2 3169SC|Z4PT2262 -15-Ik-OSC2Al4PT227215-OSC3Aa"514-TEA4-514rDJAx613lAh/D*A5-613- D5Ab/Dn -712-

18、A10/D4Dg -712- 6A?/D8)1"A9/D3D _8IID.Vss'910-A/D2Vss-9104V左右的互锁的高电平的控制信号。址的编码相同时,PT22 72输出端将会输出大约全相同,用户如果想改变地址编码,只要将PT22 62和PT2272设置相同即可,两者的地图 3- 5 PT 2 26 2 / PT 2 2 72 引脚图22 1 PT22 6 2/2272接线图以及工作原理发射电路主要由AT89C 51、编码模块P T226 2、无线数传模块F05V和一片74LS 04 (六输入非门,实际上就是六个非门集成在一块74LS04里面了)构成,发射部分电路如

19、图3-6所示。接收电路主要由A T8 9C 51、译码模块PT2272、无线数传模块J05V和一片74 LS04构成,接收部分模拟电路如图3-7所示R?1116BVCCrH. rLPTKS n 1 t ti 图3-6PT 22 62发射部分模拟接线图PL4'IIIYT &5D5 1 532 m5 DO02DIVTDO !nsvccPT2272图3-7 PT 2 272接收部分模拟接线图发射的部分主要用于形成一个周期的编码信号。编码信号的内容包括三个部分,分别是起始标志、数据编码和结束标志,而无线收发模块是四路的,即因为每次收发半个字节 的数据,所以一帧数据至少是1 6位的,其编

20、码数据格式如表 3- 4所示。表3-41 6位编码数据格式D0D 1 D2 D 3 D0D1D2D3 D0D 1 D2D 3DD0 D 1D234位起始标志8位编码数据4位起始标志2 . 2 .2无线数传模块F0 5V/J05V无线数传模块F0 5V/ J 05V(典型遥控应用电路):F 0 5 V采用的S MIT工艺,优点是低电压微功率、体积小、低功耗发射模块,适合单片机数据传输以及短距离无线遥控报警。J0 5 V作为接收模块优点是低电压、体积小,两者连接在PT226 2/ 2 272配合使用F05V引脚定义:1=正电源3V; 2 =接地;3=数据信号输入;Y=外接天线。J 05V引脚定义:

21、1=正电源3V; 2二接地;3=数据信号输出;丫=外接天线.E"GNDGND图3 -8f05V/J0 5 V引脚接线图2.3显示模块LCD1602我们知道的用来显示的器件很多。比如数码管、LCD点阵式LED数码管只能显示数字丄CD可以显示汉字、符号、数字和图形,为了报站器的人性化LCD 16 02能够同时显示16列2行的字符,可以显示数字、字母、以及各种符号。这种液晶模块由若干个5 X7或者5X11等点阵字符位组成,这种点阵字符显示字符并且自带间隔,也就是有自然的间距和行间距,也是因为这个特性不能很好地显示图形(用自定义CGRAM,显示效果也不好)02. 3. 1 排阻 Respac

22、 k-8Res pack-8接在5 1单片机的P 0 口 ,因为P0 口内部没有上拉电阻,不能输出高电平, 所以要接上拉电阻,1端为公共端接VCC2. 3. 2 LCD1 6 0 2的引脚定义字符型LCD般是1 6条引脚线14条引脚线,多出来的两条线是背光电源线 VCC (15脚)和地线G ND( 16脚),与14脚LCD的控制原理基本完全一样,定义如下表所示表3 - 5 L CD 160 2引脚定义引脚号引脚名电平输入/输出作用1VSS电源地2V CC电源(+5V)3VEE进行对比的调整电压4RS0/1输入0进行输入I指令1进行输入O数据5R/W0/1输入0 =向LCD写入指令以及数据仁从L

23、CD中来读取信息6E1,1 0输入使能信号,1是进行读取信息10下降沿执行指令7DB00/1I/O数据总线Iine0 (最低位)8DB10 /1I / O数据总线1 i ne09DB20/ 1I/O数据总线li n e010DB30/1I / O数据总线1 i ne01 1DB40/1I/O数据总线line01 2DB50/1I/ O数据总线1 ine013DB60/ 1I/ O数据总线1 ine014D B70 /1I/O数据总线li ne015A+ V CCLC D背光灯电源正极16K接地LC D背光灯电源负极LCD1RiP1RESPAOOaH口El和S丞0存朴臂kAAtSittruJiz

24、iQQCjo QOjzi11 a)(X>CISoI 4"*LTeflUJOEftjm 寸和 weE 盂 Daaaooac寸P0.CVAD0TO.LADIIP0.2JAD2PC.SMCaP0.4M&4 PQ创心 PQ .&*'ADe PC.7AD7320D1D2D160 2引脚接线图在LCD模块上固化了字模存储器,这就是C® OMffi C® AM,HD44B 0内置了192个常用字符的字模,存于字符产生器C GRO中,另外还有8个允许用户自定义的字符产生RAM成为CGRAJM下图3-10说明了 C®OM和C® AM

25、与字符的对应关系。读的时候先读左边那列,再读上面那行。盂二ZP <>ooootw IO<K>I 1OKX>oi()rn 1,1(5(1( 11Hi IO1 QT 11 If申1 |<) 1l1 I Ifl1 T 11xkmm<XXjOCl ;H AM< J >t>aRVexrI<2)r1AQA口厶UqxxxxCHI t C)(,i)4-12ItKhrrJll飞=ft 1Kxx>d)O L 1t J)415CSr-HI ywxx»cxaifXi15 i»41Jr 11工卜P-JI xKxxOJO 1<

26、;6>9fc5l>11VJE 1*h兀(>KKXXOI i|<1<?>A6FVrV力3kkhkOI 1 T1- Ij(«>>7GwEw-STAHMXK 1 fMX,f英H'JChTf-ff-JKJCKK- 1 (Hl !12 >'1Y1yVKKXX n o to(J)J乂j3.nJ>XXNXim 1td)-*-KLk厂一*矿匕Jj"WXMV 1 I-fX)t J)<I.¥J1VKKKX f 1<)14JMJXKKXl 1 1l<l炸)Azflurj1击< >K

27、KKX!11<K )/? I <1t-zrl图3 CGROM和C GR A M中字符代码与字符图形对应关系2. 3.3 液晶LCD16)2常用的1 1条指令表3- 6 液晶LCD16 0 2常用指令指令功能R/RSWD BD B 6 DB 5 D B47DB 3DB2DB1DB0执行时间清屏.64ms功能详解:清除液晶显示器的内容。光标归位0 00 0 0 0001X1.64 m s功能详解:光标撤回到显示器的左上方,地址计数器(A C)值为0 , D DR/M值不变进入模式设置0 00 0 0 001I/ DS40us功能详解:I /D当为0时写入数据后光标左移,当为1时写入数据

28、后光标右移S为0时写入新数据后显示屏不移动,为1时写入新数据后显示屏整体右移1字符显示开关控制0 00 0 0 01DCB40us功能详解:D为0时显示功能关,为1时显示功能开C为0时无光标。1时有光标B为0时光标闪烁,1时光标不闪烁S/CR/L设定的情况00光标左移1格,且AC值减101光标右移1格,且AC值加110显示器上字付全部左移一格,但光标不移动11显示器上字符全部右移一格,但光标不移动功能设定00001D LNFXX40u S设定显示屏或光标移动000001S/CR /LXX40us方向功能详解:功能详解:DL为0时数据总线为 4位,1时数据总线为8位N为0时显示1行,1时显示两行

29、F为0时5 * 7点阵/每个字符,1时5 *1 0点阵/每个字符设定CG RAM地址指令0 001CGRAM的地址(6位)40u s功能详解:设定下个要存入的数据的 CGRAM的地址设定DDR AM地址指令0 01CG RAM的地址(7位)40us功能详解:设定下个要存入的数据的 DD R AM的地址读取忙碌信号或A C地址0 1BFAC内容(7位)40us功能详解:BF为1表示液晶显示器忙,为0时,液晶显示器可以接收单片机送来的数据或指令数据写入到DDRAMH 或 CGRAM1 0要写入的数据D7D040u s功能详解:(1)将字符码写入 D D RAM,液晶显示屏并显示对应的字符(2)使用

30、者设计的图形存入 CGRA M从 CARAM或 DDR A M读取数据1 1要读出的数据D 7 D040us功能详解:读取DDRAM或CGR AM的内容在本次设计后续设计中,也可以利用AT89 C51控制该芯片,实现语音的存储以及语音报站。1、电源端(VC CA ,V CC D):为了使噪声最小,芯片内部的数字和模拟电路要使用不同的电源的总线,并且分别引出到外封装的不同的管脚上。数字和模拟电源端最好走不同的线,比如,选择在离供电端相近的地方相连,而去耦电容就应尽量选择离器件近。2、地线(V SSD,VSSA):芯片的内部的模拟和数字电路也使用不同的地线。3、同相的模拟输入(ANA IN + )

31、:即录音信号同相输入端。这时输入放大器采用单端或差分驱动。当采用单端时,在耦合电容中输入信号,最大的幅度是3 2mV峰峰值,芯片频带的低端截止频率决定耦合电容和本端的3KQ电阻的输入阻抗。作为差分的驱动时信号最大幅度是16nV峰峰值,这是和ISD3 30 0 0系列一样的。4、反相的模拟输入(A NA IN-):作为差分驱动是录音信号的反相的输入端。信号是通过耦合电容来输入,最大幅度是16 mV峰峰值5、音频输出(AUD O UT):作用是提供音频的输出,可以驱动5KQ的负载。6、片选(S S):此端为低电平,在向ISD40 04芯片发送指令时,并且该两条指令间应该为咼电平07、串行输入(MO

32、S):此端是串行的输入端。主控制器应该在串行时钟的上升沿前半周期把数据放到这个端口,来让ISD输入。8串行输出(MIS 6作为I SD的串行的输出端。当ISD没有选中时本端会呈 高阻 态。9、串行时钟(S CLK):作为I SD的时钟的输入端。从主控制器中产生,可以用于同步的MOSI和MISO的数据传输。10、中断(/INT):本端作为漏极的开路输出。I S D在任何操作过程(比如快进)中检测到了 ECM 或OVF 时,本端会变低电平并保持。并且中断的状态在下一个SPI周期开 始时清除。中断状态也可以用R INT的指令读取。OVF标志-指示I SD的录放操作是否已经到存储器未尾状态。E3 标志

33、 只在放音过程中检测到内部的E OM标志时,状态才会置1o11、行地址时钟(R AC :漏极的开路输出。每经过一个 RAC周期,表示ISD存储器操作进行了一行。该端口并且可以用于存储的管理技术。12、外部时钟(XCLK):本端内部带有下拉元件。工业级的芯片在整个温度和电压范围内,频率变化范围在-6/+4%内,此时建议使用稳压电源。如果要求更高精度,可从本端来 输入外部时钟(如前边所描述)。并且由于内部的防混淆及平滑滤波器已经设定好 ,所以上述推荐时钟频率不应该再改变。输入时钟占空比是无关紧要的,因为内部首先进行了分频。并且在不外接地时钟时,此端是必须接地的。1 3、自动静噪(AMCAP : 一

34、般本端对地会接1mF的电容,来构成内部信号的电平峰值 检测电路一部分。并且与内部设定阈值和峰值电平来作比较,从而决定自动静噪的功能的翻转点。大信号时,自动静噪的电路不衰减,静音时衰减6dB。1mF的电容也影响自动静噪的电路对信号幅度的响应速度。本端接 VCCA则应该禁止自动静噪。2.4 蜂鸣器和LED指示灯蜂鸣器鉴于用P ro t eus仿真,语音模块用蜂鸣器代替如图 3-7,采用三极管NPN当P11为高电平时电路导通,通过程序使P 11进行短时间内高低电平转换,以达到断续蜂鸣提示的效果。图3-1 1蜂鸣器接线图到站L ED提示灯鉴于用P roteus仿真,语音模块用蜂鸣器代替如图3-7,采用

35、三极管P NR当P1. 0为低电平时电路导通,到站提示灯亮。QJ22077PSEIALEEAP11Pi.D PlJ PlJ Pl .3PI .4P1.&pi.ePl .74TS9C图3-12 LE D提示灯接线图第三章系统程序设计3.1系统仿真主程序流程图图3 -1系统仿真主程序流程图系统仿真,初始化运行程序时,LCD第 一行显示欢迎字符,蜂鸣器蜂鸣,选择B UTTON1或者BUTT 0N(通过控制P 35,P34)选择顺序或者逆序报站,按下按键之后,蜂鸣器提示,LED指示灯亮,延迟一段时间后显示站名。随后可以每到一个站依次显示公交车站名,如果出现错误或者重新选择另一顺序报站,可以使用

36、按键复位,重新选择报站方式。第四章系统仿真实现4.1 开发环境Ke ilC 5 1介绍KeilC 5 1是集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,易学易用。在KeilC51集成开发环境下使用工程的方法来管理文件,所有的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。本次设计使用KeilC 5 1的开发工具大致流程如下:(1 )运行K ei 1 C 5 1软件,进入 Keil C51集成开发环境。(2)选择工具栏的Proje C t选项,弹出下拉菜单,选择New Pro je c t命令建立一个新的卩Vision2工程。这时会弹出所示的工程文件保存对话框,

37、选择工程目录并输入文件名后,单击保存。(3 )本次设计建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它,可以选择工具栏的File 选项,在弹出的下拉菜单中选择New目录。这次设计我采用的是将.C的文件导入工程。(4)输入程序,完毕后点击“保存”命令保存源程序,K ei lC 5 1支持汇编和C语言,Vi sion2会根据文件后缀判断文件的类型,进行自动处理。 不断纠正源文件错误,检查无误后生成HEX文件,并将HEX文件导入Prote u s中的51单片机来运行实现。4.2仿真环境PROT EUS介绍P r ot eus是英国La bce nter公司开发的电路

38、分析与实物仿真软件(EDA工具软件)。它运行于Win dow s操作系统上,可以仿真、分析(SPICE )各种模拟器件和集成电路,该软件的十分适用于仿真设计。4. 3仿真运行结果截图初始化运行界面 11 -114*3曲n*i|仕EE Toc 3歹 Sn 由 £Euns Cmtu 号 lLtipv T«np 士KmQ占Ab Ian; + +%之監q r P 14 3占 亀*_-、丨囲勲/ tf; -1 n “ .r 3COR * t f L * - M & u“同确注 A 刁-h 4#» 代 e *p.II a ;4 L * u h " Hh &q

39、uot; H nE匕一晝Ffcr?lwz tiIII I I- Exx±zak : 'I * I_|下3 N r応咕*产卅陆丁i-五1订ITU宁乔打=qIE咛厂 EQ图4 -1初始化运行界面4.4 仿真结果本次课题用Proteus设计出硬件电路,用Ke il C 5 1编写程序共同完成课题的仿真,基本完成了公交车的模拟报站。功能的实现主要是通过程序来实现,BUT TO N1控制顺向报站,当报站系统启动后,按下BUTON1开始按预先设置好的站名进行顺向报站,每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。BUTT ON2按键是实现公交车逆向返回时的报站,也满足每次按键按下

40、时实现 LE D提示灯亮,蜂鸣器连续鸣叫7次。如果使用过程中出现错误时,可以使用机械复位,重现选择正向或者逆向报站。同时,为了防止一次按键产生站名的漏报,在软件设计中使用了延时函数,防止站名的漏报:s杆扌4巒.!«L引H? tl F H=:3;tEE wi?-a2H-nsa-kj-i=rmwaA0>口/0.weliDH* Lw Pm 討 h “I3 AB+az 才z«吟c fr T3 *厂 圧*+ 宅f 出SrantutskF TCi 口 R 癲 a i 事- -一一 - - - J 蠱蔻気4焉4轻一B '-1 Ni< 乐斗*irvi呻IFlfl 占 E

41、<A Tack EWn Gr* IfluuiJLwf TnLita- :|nm HdpD«l« a a I! * +鬟g«tQ o A A f Hi iL 求 r?广 立*:冃r_、51国rjjfjnjis-结束语通过了这次设计,我知道了在做一个系统之前很重要的是要做好需求分析,为此 在网上查看了大量的相关资料,对目前市面上流行的几种公交车报站器进行了分析和比 较,来为此次设计个方案确定来做了充足的准备。我深入了解了单片机的工作原理和机制,我更加深入认对它的各个模块功能有了更深层认识和更本质的理解,并且在这个过程中识了 Proteus和Kei 1C 5 1这

42、两个软件,对这软件的基本操作能够熟练的使用,了解了软 件的优缺点,并且熟练了对 C语言的使用和LCD1 6 0 2程序设计。在做课程设计的过程中我遇到了很多困难,很多方案确定不下来,编写代码时也总是出现这样或者那样的错误并且有些功能自己也不知道该用什么方法来实现,经过向同学的请教和讨论,我克服了这一些困难。最终基本完成了用Pro te us来实现公交车的模拟报站,但是模块还是很简陋,也需要进一步的优化。该系统还存在着一些不足,主要体现在:仿真过程没有办法使用P T226 2/22 7 2和ISD400 4语音模块,用了按键和蜂鸣器来代替,只对这两个模块根据资料进行了相应的介绍。如果以后做实物的

43、过程,那应该完善这两部分。并且在设计过程中也暴露了很多的缺 点,比如编程能力有待提高,需要通过不断的编译仿真调整才能最终得到想要的结果。附录A系统仿真全部代码#i n c 1 udevreg51. h>#in c lu d e< i nt r in s .h>#de fine uc har un sig ned ch ar#defi n e uint un si gned int#defi n e p ort P 0 /D B0-DB 7 数据口sbit P31= P3人4 ;/无线信号接收端(控制反向) sbit P32 =P3八5;/无线信号接收端(控制正向) sbit

44、led= P 1八0;/ /到站指示灯sbit fmp=Pl 人 1;/ 蜂鸣器s bit e=P2八2;/使能sb it rw=P2 八1; /读写sbi t rs =P 2八0;/数据/命令sb it b usy=PO 八7; / / 检测uch a r co de d i s1="bei j i ng"; uchar c ode d is2=" s hang ha i " uch a r c ode dis3=" ti a n j in g " u c har code di s 4 = "cang zhou"

45、;uch a r c od e d is 5 ="huan h u a" uch a rnum= " w e lcom e t o"?/* * * 延时 * 衣 */voi d d e 1 ay (u i nt n)u i nt i ;f o r (; n>0;n-) for(i=200;i>0;i-);/* * *判断是否忙*/id ch eck()rs=0 ;r w=1;port=OxOO;e= 1;w hile(busy);e=0 ;/*写指令* /voi d send(uchar c o mmand) c h e c k ();rs=

46、0 ;rw=0;po r t =comm a nd ;e = 1 ;nop_() ;_nop_();e= 0;/* * * 写数据 * * */oi d write(uchar dat)check ();r s =1; /数据r w=0;p o r t=d a t;e=1;_n op_ ();_nop_();e=0;/* *光标位置*/V oi d p os(u i nt P)s end(P|0x80);/第一行个第一个 0x80;/*衣*初始化*/ void init()se nd(0x 38);/8位数据,双列,5*7字形 d el a y(1);s end (OxOc);/ 开 0 x

47、0 8关delay(1);sen d (0 x06); /地址加 1del ay( 1 );send(0x 01);/清屏delay(1); void m ain()i n t i=O,j=O,k = 0, s =0;u ch ar n;ini t ();de lay(1 0 );pos(0x0 0);del ay( 1) ;/或者用i =0,删除后会发现不能显示第一个数for(n= 0 ;nv 1 8 ;n+ +)w ri t e (numn);delay(1);while (1) i f(P32= 0 )j + +;1 f (j 二=1)1 oop1: s= s+1;led=0;f m p=1;de 1 ay(1 0 0);led=1;fmp=0; if(s< =1 )goto 1 oop 1 ;s =0;pos( 0 x40);delay (1);for(n= 0 ; n< 9;n+) w rite(d 1 s1n); delay(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论