资料下载地址:基于单片机公交语音报站系统设计 含源码,Proteus仿真原理图
1、前言
系统的总体设计需要充分运用STC单片机作为主控控制芯片,完成主控控制电路的基本设计,辅助控制电路是语音控制电路、12864显示电路、按键控制电路、GPS电路、LED显示、温度和时钟模块。仿真用串口模拟语音播报,gps没法仿真
DS1302的引脚排列,其中VCC2为主电源,VCC1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。P1.0~P1.2作为控制引脚,DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,开启备用电源。P3.2接DS18b20的数据输出引脚DQ,进行数据采集。
3.5 指示灯模块
本次设计二极管两端接电源和单片机P2.6,P2.7为低电平,采用发光二极管LED指示灯亮来提醒公交车上下行。红灯表示上行,绿灯表示自动模式。
3.6 显示模块
LCD12864是一种新型的图形点阵LCD其显示分辨率为128×64,本次设计采用LCD12864作为显示模块的显示输出。采用LCD12864接P0的8位并行数据接口,P2.0~P2.5作为控制12864的GPIO。
3.7 按键模块
报站器在正常使用的时候完全不需要人工的介入,可以正确的播报进、出站语音及相关服务用语。P3.7和P1.7分别作为站台信息和公交车信息显示控制按键。但是报站器在时间调试及切换上下行的时候需要人工介入操作,P1.3和P1.4分别作为公交上行和下行控制,会有红绿的LED进行显示是否切换,所以报站器需要加入按键控制系统,P1.5和P1.6作为手动播报的开关控制,P3.6~P3.3分别接K4~K1按键作为时间的调整按键。
3.8 软件设计
3.8.1 主程序
主程序包括给报站控制变量赋初值、初始化单片机I/O口、初始化实时时钟芯片、初始化定时器0、初始化12864液晶屏。然后开始检测两个模式按键是否按下包括:站台信息显示、公交车信息显示两个模式,若按键按下则执行相应程序,接着判断时间设置按键是否按下执行时间设置程序,程序还每200ms刷新一次时间和温度显示数值。
3.8.2
初始化12864液晶屏,开机只显示时间和温度信息。如果按站台显示按键,则会显示站台信息,如一号站,二号站,三号站,四号站。按下公交车信息显示按键,则会显示公交车内信息。按上下行设置键则会显示到达和下站,再按下手动播报键会接着显示本站和下站是哪站,按下关闭播报键回到开机只显示时间和温度界面。按下K1选择键会进入时间设置界面,反复按K1黑格会在年月日时分秒上跳动,再按加减键K2,K3进行数值调节,设置完毕按确定键K4回到开机显示的界面。
元件清单:
名称 型号 数量
单片机 STC89C52 1
显示屏 LCD12864 1
温度传感器 DS18B20 1
时钟模块 DS1302 1
LED灯 / 2
独立按键 / 10
杜邦线 / 若干
主程序包括给报站控制变量赋初值、初始化单片机I/O口、初始化实时时钟芯片、初始化定时器0、初始化12864液晶屏。然后开始检测两个模式按键是否按下包括:站台信息显示、公交车信息显示两个模式,若按键按下则执行相应程序,接着判断时间设置按键是否按下执行时间设置程序,程序还每200ms刷新一次时间和温度显示数值。
液晶显示程序
初始化12864液晶屏,开机只显示时间和温度信息。如果按站台显示按键,则会显示站台信息,如一号站,二号站,三号站,四号站。按下公交车信息显示按键,则会显示公交车内信息。按上下行设置键则会显示到达和下站,再按下手动播报键会接着显示本站和下站是哪站,按下关闭播报键回到开机只显示时间和温度界面。按下K1选择键会进入时间设置界面,反复按K1黑格会在年月日时分秒上跳动,再按加减键K2,K3进行数值调节,设置完毕按确定键K4回到开机显示的界面。
资料内容