单片机地铁或公交自动报站器设计_第1页
单片机地铁或公交自动报站器设计_第2页
单片机地铁或公交自动报站器设计_第3页
单片机地铁或公交自动报站器设计_第4页
单片机地铁或公交自动报站器设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的公交车自动报站系统设计第一章 绪 论本课题的研究意义近些年来,随着城市人口的不断增加,人们生活节奏的不断加快,公交车在大城市以及中小城市已经普及,并且有了日新月异的发展,在人民生活中起着重要作 用,因此,公交车的正常运行与人们的正常生活息息相关。传统公交车报站大多是 由乘务人员来人工报站,但是因为方言的差异或者人多时语音嘈杂,这种方式不利 于人民生活的和谐。所以根据这种需要市面上产生流行了多种公交车报站器也方便 人们的生活。目前虽然现在在一些大城市的公交车上已经采用GPS定位系统自动报站,但其造价昂贵,难以在一些中小城市实现普及。另外,现在也有一些城市正在使用的一 种半自动语音报站

2、系统,这种系统需要由司机在车子进出站的时候人工操作,由于 这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐LCD液晶显示,患。所以本设计针对目前常见公交车报站系统的主要缺陷,研究介绍了一种基于单 片机控制的公交车自动报站系统,实现在到站时的自动语音报站和 而且该系统造价廉价,可以在中小城市中普及。目前几种公交车报站器详细比较公交车对社会影响巨大,随着公交车的不断普及市面上也出现各种各样的公交车报站器,现在市面上流行的几种报站器主要有下列几种类型:GPS 公交车自动报站器利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装 了一台15英寸的液晶电视和 G

3、PS信号接收器,安装了这套设备后,公交车在语音报站的同时, 通过液晶电视还可以显示到站站名的字幕, 这样如果没听清报站的话, 通过显示屏,乘客也可以一目了然。当出现紧急情况时,调度中心将会给公交车发 出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音; 目前在美国部分城市 GPS卫星定位系统已经投入使用,国内也有此类产品的研制幵发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。手动式公交车自动报站器手动式公交车自动报站器通过主机上的汉字显示器,显示当前车站名称,即将 达到站名指示功能;通过主机屏幕的显示,可直观的观察到进站和下一站信息;通 过按键,可播放进

4、站,出站,服务用语等语音。但是该种报站器需要由司机在车子 进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也 给行驶中的车辆带来了安全隐患,不利于公交车的安全行驶。基于单片机的公交车自动报站系统基于单片机的公交车自动报站系统就是利用编码解码芯片P T2262/PT2272进行解码编码,利用无线数传模块 F05V/J05V 和天线进行发射和接收来实现的。在每个站牌上设置一个编码发送装置PT2262和无线数传模块F05V,通过公交车上设置的接收装置J05V和译码装置PT2272进行译码并传输到单片机。发送装置按照延时3到 5秒不断发送信号,公交车在距离站牌 10到 20米的时

5、候就能接收到信号,然后根据程序来实现语音报站,LCD液晶显示。这种报站系统软件编写比较简单,也容易修改,并且芯片价格低廉,大批生产能够获得比GPS系统达到更高的性价比,是公交车自动报站系统的较佳选择。系统各部分框图如下图所示图AT89C51单片机PT2662信号发射产接收天线 期i?无线数传模块J05VPT2272信号接 收单 控模块aT8F05Vi片机制站牌发射部分LC(Antennad1602液晶显示发射信号ISD4QQ4 语音晶振,外部中断复位电 路键控制图2公交车车载接收部分方框图第二章系统功能模块详细介绍单片机AT89C51随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特

6、的分支, 单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。纵观单片机发展的30多年来,单片机正往多功能、高性能、高速度、低电压、低价格、低噪声、低功耗、小体积、大容量、专用化和外围电路内装 化的方向发展。单片机的出现使的过去经常采用模拟电路、数字电路实现的电路系 统,转变成现在用单片机予以实现,并且传统的电路设计方法演变成硬件和软件相 结合的设计方法,并且许多电路设计问题将转化为纯粹的程序设计问题。主要特性:1、一个CPU 个片内振荡器以及时钟电路,2、4K ( RAM程序存储器,3、128B ( ROM数据存储器4、21 个特殊功能寄存器5、数据能够保存

7、的时间: 10年6、与MCS-5指旨令相兼容7、32个可编程 I/O 线( 4个8位并行 I/O 端口)8、16位定时器 / 计数器有两个9、5个中断源,两个优先级嵌套结构10、一个可编程全双工串行接口11 、低功耗的闲置和掉电模式12、片内振荡器和时钟电路尽管目前单片机种类多,各类单片机的指令系统各不相同,功能各有所长,但 市场占有率最高的是 51 系列单片机。单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的 运用。例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途,其中的51单片机系列发展规模最大。51单片的运用广泛,并且具

8、有优异的性能价格比,集成度高,体积小,有很高的可靠性,并且控制功能强。所以是核心控制期间的最佳选择。pa.ZAMXTALZPO.lifADlF0.2fAD2FD.aR3TPO.+.ACMPO.&ADQPOJfAD?PltUAflPMjAe1ALEP2.4/A12EAP2.aA13尸1.0P2.7/A15Pg.QfTOCD尸neoP1.2P? 2*1 WTDPi.3P3 SflOfTlP14P3 4/TBPliP3,&)T1PiePl .7P3.7/RDAT59C5JI图3-1 AT89C51单片机引脚图&S丄1亠亠亠亠亠亠亠亠亠亠亠药-遥亠5-亠亠晋F-峠-管脚说明F面对设计中用到的一些管脚进

9、行简要的介绍:VCC供电电压,一般接+5V电源正端。GND接地,一般接+5V电源地端。I/O扩P0 口( 3932脚):输入输出线统称为P0 口。可以用作准双向输入/输出口使 用,但由于内部无上拉电阻,一般外加上拉电阻:在进行片外存储器扩展或 展时,P0 口作为分时服用的低8位地址总线和双向数据总线。P1 口( 18脚):P1 口作为准双向I/O 口使用。P1 口管脚写入1后,被内部上 拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上 拉的缘故。P2 口( 2128 脚):口扩展时,P2 口用作高8 位地址总线。P3 口( 1017 脚):P3 口作为准双向I/O

10、口使用外,每一个端口还具有第二功能。P2 口也可作为准双向 I/O 口,当进行片外村春气扩展或 I/OP3 口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能RXD串行口输入端)TXD串行口输出端)/INT0外部中断 0)/INT1外部中断 1 )T0 (定时器 /计时器 0 计数脉冲输入)T1 (定时器 /计时器 1 计数脉冲输入)/WR (外部数据存储器写选通信号输出)/RD (外部数据存储器读选通信号输出)RST(9脚):复位输入。当振荡器复位器件时,要保持10ms高电平时间才能保证有效的复位。ALE/PROG(30 脚):地址锁存允许 /编程线。采用了地址 /数据总线

11、复用技术。/PSEN(29 脚):片外程序存储器读选通信号输出端,低电平有效。1 时,FLASH/EA/VPP( 31 脚):片外程序存储器选用端,低电平有效。注意加密方式/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。在编程期间,此引脚也用于施加 12V编程电源(VPP。XTAL1:外接晶体振荡器一端。XTAL2外接晶体振荡器另一端。外部晶振的选择AT89C51的内部有一个用于构成振荡器的高增益反相放大器。通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器。电容的值通常 30PF。具体的接线电路如图 3 2外部

12、晶振电路:AT89C51单片机外接的是12MHZ勺晶振,则机器周期为1us。U1C141抑歼 XJj一CPVSTALC2 1?tJPFORSTR5T图3-2外部晶振电路复位电路复位的作用是使程序自动从0000H幵始执行,因此我们只要在AT89C51单片机的RST端加上一个高电平信号,并持续10ms以上即可,RST端接有一个上电复位电路,它是由一个小的电容和一个接地的电阻组成的。按键复位电路另外采用一个按钮来给RST端加上高电平信号。本设计采用放电型的进行人工复位的电路,如图按键复位电路,上电时C3通过R2充电,维持宽度大于10ms的正脉冲,就可以完成复位操作。当C3结束充电后,RST端出现低电

13、平,这是 CPU各正常的工作。在本次设计中如果需要按键进行复位,就按下按钮BUTTON,C3通过BUTTON3和R2放电,RST端电位将会上升到高电平,从而实现人工复位,BUTTON松幵后C3重新充电,当结束充电后,CPU将会重新工作。下图中,R2是限流电阻,阻值不可 以过大,否则不能起到复位作用。图3-3 按键复位电路按键电路设计对于此设计来说要准确的显示设计所要对应的信息,每按下一次按键要显示所要显示的信息。这按键是主要用来模拟无线信号的收发而设计的,即PT2262/PT2272 的无线信号收发。功能的实现主要是通过程序来实现,BUTTO N控制顺向报站,当报站系统启动后,按下BUTTON

14、开始按预先设置好的站名进行顺向报站,本设计设置的是从站名“AAAAAA”到“ EEEEEE”依次报站,每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。BUTTO N按键是实现公交车逆向返回时的报站,即从站名“EEEEEE”到“AAAAAA”的依次报站,也满足每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫 7 次。图 3-4 按键设置如果使用过程中出现错误时, 可以使用按键复位, 重现选择正向或者逆向报站。同时,为了防止一次按键产生站名的漏报,在软件设计中使用了延时函数,防止站 名的漏报。. PT2262/PT2272 引脚图在 PT2262/2272 这种器件的使用,根据资料一般将会使

15、用 8 位的地址码和 4 位 的数据码。 PT2262 编码电路引脚的选择是:第 l8 脚作为地址的设定脚,他可以选 择三种状态:悬空 接正电源 接地。 3 的 8 次方为 6561,即地址编码的不重复度是 6561 组。PT2262/2272的配对使用是要求发射端 PT2262和接收端PT2272的地址编码需要完全相同,用户如果想改变地址编码,只要将PT2262和PT2272设置相同即可,两者的地址的编码相同时,P T2272输出端将会输出大约 4V左右的互锁的高电平的控制信号。图 3-5 PT2262/PT2272 引脚图PT2262/2272 接线图以及工作原理发射电路主要由AT89C5

16、1编码模块PT2262无线数传模块F05V和一片74LS04(六输入非门,实际上就是六个非门集成在一块74LS04里面了)构成,发射部分电路如图3-6所示。接收电路主要由 AT89C51译码模块PT2272无线数传模块J05V和一片74LS04构成,接收部分模拟电路如图3-7所示图3-6 PT2262发射部分模拟接线图图3-7 PT2272接收部分模拟接线图发射的部分主要用于形成一个周期的编码信号。编码信号的内容包括三个部分,分别是起始标志、数据编码和结束标志,而无线收发模块是四路的,即因为每次收发半个字节的数据,所以一帧数据至少是16位的,其编码数据格式如表 3-4所示。0123456789

17、101112131415D0 D1D2D3 D0D1D2D3 D0D1D2D3D0D1D2D34位起始标志8位编码数据4位起始标志表3-4 16位编码数据格式无线数传模块F05V/J05V无线数传模块F05V/J05V (典型遥控应用电路):F05V采用的SMT工艺,优点是低电压微功率、体积小、低功耗发射模块,适合单片机数据传输以及短距离无线遥控报警。J05V作为接收模块优点是低电压、体积小,两者连接在PT2262/2272配合使用F05V引脚定义:仁正电源3V; 2二接地;3二数据信号输入;Y二外接天线。J05V引脚定义:仁正电源3V; 2二接地;3二数据信号输出;Y二外接天线.图3-8 f

18、05V/J05V引脚接线图显示模块LCD1602我们知道的用来显示的器件很多。比如数码管、LCD点阵式LED数码管只能显示数字,LCD可以显示汉字、符号、数字和图形,为了报站器的人性化LCD1602能够同时显示16列2行的字符,可以显示数字、字母、以及各种符号。这种液晶模块由若干个 5X7或者5X11等点阵字符位组成,这种点阵字符显示字符并且自带间隔,也就是有自然的间距和行间距,也是因为这个特性不能很好地显示 图形(用自定义 CGRAM显示效果也不好)。排阻 Res pack-8Res pack-8接在51单片机的P0 口,因为P0 口内部没有上拉电阻,不能输出高 电平,所以要接上拉电阻,1端

19、为公共端接VCCLCD1602的引脚定义字符型LCD一般是16条引脚线14条引脚线,多出来的两条线是背光电源线 VCC(15脚)和地线GND( 16脚),与14脚LCD的控制原理基本完全一样,定义如下表所示:表3-5 LCD1602引脚定义引脚号引脚名电平输入/输出作用1VSS电源地2VCC电源(+5V)3VEE进行对比的调整电压4RS0/1输入0进行输入1指令1进行输入0数据5R/W0/1输入0=向LCD写入指令以及数据1=从LCD中来读取信息6E1,1 0输入使能信号,1是进行读取信息10下降沿执行指令7DB00/1I/O数据总线Iine0 (最低位)8DB10/1I/O数据总线Iine0

20、9DB20/1I/O数据总线Iine010DB30/1I/O数据总线line011DB40/1I/O数据总线line012DB50/1I/O数据总线line013DB60/1I/O数据总线line014DB70/1I/O数据总线line015A+VCCLCD背光灯电源正极16K接地LCD背光灯电源负极LCD1602引脚接线图在LCD模块上固化了字模存储器,这就是CGROI和 CGRAMHD44780内置了 192个常用字符的字模,存于字符产生器CGROI中,另外还有8个允许用户自定义的字符产生RAM成为CGRAM下图3-10说明了 CGRO和CGRA与字符的对应关系。读列,ooooOO IO(

21、K)l 1 103!仃1 IOot 111 t廿RV1exrI(2)!1AA町口V*、_A-qxxxx(MI t C)(J )4-12ItKhrrJll=AjfL-ft ,KXXKllO 1 1t J )5t:sr-1HCE审*41JI 11工卜七4Tfc xKxxaio15KuVJE 11KKVMni|GA6FVrV力hhhkOI 1 T! - - .i K 7Cw*A苻JXHMK 1 (HMK(1 jSHTChTf-f尹f-JXKJCKK- 1 (Hl 9心Jb -YI1yvV110 toJ)JN弗工nJXXXNI O I 1td)KLk吋矿匕Jjxxxv 1 T-fX)tVLJ1皂KKK

22、X P I 1MJthlJXWKK)910)nZ-in.r?1 41KkKX!11K )1-ziriJ时候,先左边那再读上面行。3 CGROM和CGRA中字代码与字符图形对应关系液晶LCD1602常用的11条指令表3-6 液晶LCD1602常用指令指令功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0执行时间清屏0000000001功能详解:清除液晶显示器的内容。光标归位000000001X功能详解:光标撤回到显示器的左上方,地址计数器(AC值为0, DDRA值不变进入模式设置0000000 1I/DS40us功能详解:I/D当为0时写入数据后光标左移,当为1时与入数据后光标右移S

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

24、符,1时5*10点阵/每个字符设定CGRAM地址指令0 00 1CGRA的地址(6 位)40us功能详解:设定下个要存入的数据的CGRAM的地址设定DDRAM地址指令0 01CGRA啲地址(7 位)40us功能详解:设定下个要存入的数据的DDRA的地址读取忙碌信号或AC地址0 1BFAC内容(7 位)40us功能详解:BF为1表示液晶显示器忙,为 0时,液晶显示器可以接收单片机送来的数据或指令数据写入到1 0要写入的数据D7D040usDDRAM或CGRAM功能详解:(1)将字符码写入 DDRAM液晶显示屏并显示对应的字符(2)使用者设计的图形存入 CGRAM从CARA威DDRAM读取数据要读

25、出的数据D7D040us功能详解:读取 DDRAM或 CGRA的内容在本次设计后续设计中,也可以利用AT89C51控制该芯片,实现语音的存储以及语音报站。1、电源端(VCCA,VCCD)为了使噪声最小,芯片内部的数字和模拟电路要使用不同的电源的总线,并且分别引出到外封装的不同的管脚上。数字和模拟电源端最好走不同的线,比如,选择在离供电端相近的地方相连,而去耦电容就应尽量选 择离器件近。2、地线(VSSD,VSSA):芯片的内部的模拟和数字电路也使用不同的地线。32mVW3、同相的模拟输入(ANA IN+):即录音信号同相输入端。这时输入放大器采用单端或差分驱动。当采用单端时,在耦合电容中输入信

26、号,最大的幅度是峰值,芯片频带的低端截止频率决定耦合电容和本端的3KQ电阻的输入阻抗。作为差分的驱动时,信号最大幅度 是16mV峰峰值,这是和ISD33000系列一样的。4、反相的模拟输入(ANA IN-):作为差分驱动是录音信号的反相的输入端。信5、号是通过耦合电容来输入,最大幅度是16mV峰峰值音频输出(AUD OUT):作用是提供音频的输出,可以驱动5KQ的负载。6、片选(SS):此端为低电平,在向ISD4004芯片发送指令时,并且该两条指令间应该为咼电平。7、串行输入(MOS):此端是串行的输入端。 主控制器应该在串行时钟的上升沿前半周期把数据放到这个端口,来让ISD 输入。8、串行输

27、出 ( MISO) :作为ISD的串行的输出端。当 ISD 没有选中时本端会呈04高阻态 。9、串行时钟(SCLK):作为ISD的时钟的输入端。从主控制器中产生,可以用于同步的MOSI和MISO的数据传输。10、中断 (/INT) :本端作为漏极的 开路输出。 ISD 在任何操作过程 ( 比如 快进 )中检测到了 EOM或 OVF时,本端会变低电平并保持。并且中断的 状态在下一个SPI 周期开始 时清除。 中断状态 也可以用 RINT 的指令读取。OVF标志-指示ISD的录放操作是否已经到存储器未尾状态。EOM标志-只在放音过程中检测到内部的EOM标志时,状态才会置1。11、行地址时钟(RAC

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

29、部分。并且与内部设定阈值和峰值电平来作比较,从而决定自动 静噪的功能的翻转点。大信号时,自动静噪的电路不衰减,静音时衰减的电容也影响自动静噪的电路对信号幅度的响应速度。本端接VCCA则应该禁止自动静噪。蜂鸣器和LED指示灯蜂鸣器鉴于用Proteus仿真,语音模块用蜂鸣器代替如图3-7,采用三极管NPN当P11为高电平时电路导通,通过程序使P11进行短时间内高低电平转换,以达到断到站LED提示灯鉴于用Proteus仿真,语音模块用蜂鸣器代替如图3-7,采用三极管PNP当203051P5EIALEEAPNP7P1.0Pl.tpiPl .3Pl/PI .5Pl.ePl .7ATSeC续蜂鸣提示的效果

30、。为低电平时电路导通,到站提示灯亮。图3-12 LED提示灯接线图第三章系统程序设计系统仿真主程序流程图幵始界面P35=0?2示第一行字符蜂鸣器提示顺序扌报站,蜂鸣器提示,液凰显示当指示灯亮占名统仿真主程序流程图逆序报站,蜂鸣器提 示,液晶D下车指示灯站站名系统仿真,初始化运行程序时,LCD第 一行显示欢迎字符,蜂鸣器蜂鸣,选择BUTTON或者BUTTON2通过控制P35,P34)选择顺序或者逆序报站,按下按键之后,蜂鸣器提示,LED指示灯亮,延迟一段时间后显示站名。随后可以每到一个站依次 显示公交车站名,如果出现错误或者重新选择另一顺序报站,可以使用按键复位, 重新选择报站方式。第四章系统仿

31、真实现开发环境KeilC51介绍KeilC51是集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,易学易用。在KeilC51集成开发环境下使用工程的方法来管理文件,所有 的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。本次设计使用KeilC51的开发工具大致流程如下:(1)运行Keil C51 软件,进入Keil C51集成开发环境。2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令建立一个新的U Vision2工程。这时会弹出所示的工程文件保存对话框,选择工程目录并输入文件名后,单击保存。3)本次设计建立好一个空白工程,现在

32、需要人工为工程添加程序文件,如果还没有程序文件则必须建立它,可以选择工具栏的 File 选项,在弹出的下拉菜 单中选择 New 目录。这次设计我采用的是将 .c 的文件导入工程。4)输入程序,完毕后点击“保存”命令保存源程序,KeilC51 支持汇编和 C语言,u Vision2会根据文件后缀判断文件的类型,进行自动处理。(5)不断纠正源文件错误,检查无误后生成HEX文件,并将HEX文件导入Proteus 中的 51 单片机来运行实现。仿真环境PROTEU介绍Proteus是英国Labcenter公司幵发的电路分析与实物仿真软件(EDA工具软件)。它运行于 Windows操作系统上,可以仿真、

33、分析(SPICE)各种模拟器件和集成电路,该软件的十分适用于仿真设计。仿真运行结果截图初始化运行界面图 4-1 初始化运行界面仿真结果本次课题用 Proteus 设计出硬件电路,用 KeilC51 编写程序共同完成课题的仿 真,基本完成了公交车的模拟报站。功能的实现主要是通过程序来实现,BUTTO N控制顺向报站,当报站系统启动后,按下BUTTON开始按预先设置好的站名进行顺向报站,每次按键按下时实现LED 提示灯亮,蜂鸣器连续鸣叫 7 次。BUTTO N按键是实现公交车逆向返回时的报站,也满足每次按键按下时实现 LED提示灯亮, 蜂鸣器连续鸣叫 7 次。如果使用过程中出现错误时, 可以使用机

34、械复位, 重现选择正向或者逆向报站。同时,为了防止一次按键产生站名的漏报,在软件设 计中使用了延时函数,防止站名的漏报图 4-2 系统正向报站结束语通过了这次设计,我知道了在做一个系统之前很重要的是要做好需求分析,为 此,我在网上查看了大量的相关资料,对目前市面上流行的几种公交车报站器进行 了分析和比较,来为此次设计个方案确定来做了充足的准备。我深入了解了单片机 的工作原理和机制,对它的各个模块功能有了更深层认识和更本质的理解,并且在 这个过程中,我更加深入认识了 Proteus 和 KeilC51 这两个软件,对这软件的基本 操作能够熟练的使用,了解了软件的优缺点,并且熟练了对C语言的使用和

35、LCD1602 程序设计。在做课程设计的过程中我遇到了很多困难,很多方案确定不下来,编写 代码时也总是出现这样或者那样的错误,并且有些功能自己也不知道该用什么方法 来实现,经过向同学的请教和讨论,我克服了这一些困难。最终基本完成了用PT2262/2272Proteus 来实现公交车的模拟报站,但是模块还是很简陋,也需要进一步的优化。该系统还存在着一些不足,主要体现在:仿真过程没有办法使用 和 ISD4004 语音模块,用了按键和蜂鸣器来代替,只对这两个模块根据资料进行了相应的介绍。如果以后做实物的过程,那应该完善这两部分。并且在设计过程中也 暴露了很多的缺点,比如编程能力有待提高,需要通过不断

36、的编译仿真调整才能最 终得到想要的结果。附录 A 系统仿真全部代码数据口无线信号接收端(控制反向) 无线信号接收端(控制正向) 到站指示灯 蜂鸣器使能读写数据/ 命令检测#include #include #define uchar unsigned char #define uint unsigned int #define port P0 /DB0-DB7 sbit P 31= P3M;/ sbit P 32=P3八5;/ sbit led二 P19/ sbit fmp二P Ml;/ sbit e=P2A2;/ sbit rw=P2A1;/ sbit rs二P 2八0;/ sbit bus

37、y 二P0 八7;/uchar code dis1=bei jing; uchar code dis2=shang hai ; uchar code dis3=tian jing; uchar code dis4=cang zhou; uchar code dis5=huan hua; uchar num=welcome to;/* 延时 */ void delay(uint n) uint i;for(;n0;n-) for(i=200;i0;i-);/* 判断是否忙 */void check()rs=0;rw=1;port=0x00;e=1;while(busy);e=0;/* 写指令 *

38、/void send(uchar command) check();rs=0;rw=0;port=command;e=1;_nop_();_nop_();e=0;/* 写数据 */void write(uchar dat)check();rs=1;/ 数据rw=0;port=dat;e=1;_nop_();_nop_();e=0;/* 光标位置 */void pos(uint P)send(P|0x80);/ 第一行个第一个 0x80;/* 初始化 */void init()send(0x38);/8位数据,delay(1);send(0x0c);/开 0x08 关delay(1);send(

39、0x06);/地址加 1delay(1);send(0x01);/清屏delay(1);void main()int i=0,j=0,k=0,s=0;uchar n;init();delay(10);pos(0x00);delay(1);/或者用 i=0,for(n=0;n18;n+)write(numn);delay(1);双列, 5*7 字形while(1)if(P32=0)j+;if(j=1)loop1:s=s+1; led=0; fmp=1;delay(100); led=1; fmp=0; if(s=7) goto loop1; s=0; pos(0x40); delay(1); for(n=0;n9;n+) write(dis1n); delay(5); if(j=2)

温馨提示

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

评论

0/150

提交评论