摘 要

随着国民经济的快速发展,我国城市人口高度集中并大幅增长, 交通需求不断扩大导致城市道路交通拥挤,乘坐公交车出行是解决我国城市交通发展问题和实践低碳环保绿色出行的有效途径,随着近年来城市公交事业迅速发展,之前靠售票员报站的方式已经不能满足实际需要,在到站后能够及时报站的公交车语音报站系统不但能解决这个实际问题也有助于提高公交服务质量。
本设计介绍了基于单片机的公交车语音报站系统的设计,对系统软件设计和硬件实现进行了详细的描述,主要内容是用51单片机为核心控制元件,WT588D语音芯片为录音模块,以液晶屏为显示模块,以独立按键为输入设备,扬声器为语音输出设备,设计一个带语音报站和液晶显示功能的公交车报站系统。先将语音内容通过录音键录入语音芯片中,当按下放音键时,语音模块进行放音同时通过液晶屏显示对应的文字信息。本系统运行稳定,硬件电路简单,软件功能完善,控制系统可靠,具有一定的实用和参考价值。

关键词: 单片机 语音提示 液晶屏 公交报站

一、硬件方案

硬件组成:单片机+语音模块+LCD12864液晶+按键+喇叭而成。

二、设计功能

1.本设计基于单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。
2.产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。
3.LCD12864液晶显示公交站名,并通过语音模块播放控制喇叭播放出来。
4.按键切换报站,可以实现向上报站、向下报站。
5.采用DS1302时钟芯片设计,可以显示年月日、时分秒星期,可以通过按键设置时间。
6.自带3V纽扣电池,当系统掉电后,纽扣电池供电给时钟芯片继续工作,再次上电无需重新设置时间,使用起来非常方便。

三、成品实物图

四、原理图 

五、PCB图

六、 程序源码

部分代码:

     if(num == 6)       //报第6个站{write_string(1,0,gj_ming);write_string(2,0,table6);}if(num == 7)       //报第7个站{write_string(1,0,gj_ming);write_string(2,0,table7);}if(num == 8)       //报第8个站{write_string(1,0,gj_ming);write_string(2,0,table8);}if(num == 9)       //报第9个站{write_string(1,0,gj_ming);write_string(2,0,table9);}}}if(menu_1 != 0){if(menu_1 == 1)          //设置年{if(key_can == 2)  //加键 {nian+=0x01;     //设置年加1 if((nian & 0x0f) >= 0x0a)nian = (nian & 0xf0) + 0x10;if(nian >= 0x9a)nian = 1;}      if(key_can == 1)  //减键      {if(nian == 0x01)nian = 0x9a;if((nian & 0x0f) == 0x00)nian = (nian | 0x0a) - 0x10;nian -- ;     //设置年减1}        }if(menu_1 == 2)        //设置月{if(key_can == 2)  //加键 {yue+=0x01;      //设置月加1if((yue & 0x0f) >= 0x0a)yue = (yue & 0xf0) + 0x10;if(yue >= 0x13)yue = 1;}        if(key_can == 1)  //减键      {if(yue == 0x01)yue = 0x13;if((yue & 0x0f) == 0x00)yue = (yue | 0x0a) - 0x10;yue -- ;       //设置月减1         }   }if(menu_1 == 3)        //设置日{if(key_can == 2)  //加键 {ri+=0x01;       //设置日加1if((ri & 0x0f) >= 0x0a)ri = (ri & 0xf0) + 0x10;if(ri >= 0x32)ri = 0;          }       if(key_can == 1)  //减键      {if(ri == 0x01)ri = 0x32;if((ri & 0x0f) == 0x00)ri = (ri | 0x0a) - 0x10;ri -- ;         //设置日减1}}if(menu_1 == 4)        //设置时{if(key_can == 2)  //加键 {shi+=0x01;      //设置时钟加1 if((shi & 0x0f) >= 0x0a)shi = (shi & 0xf0) + 0x10;if(shi >= 0x24)shi = 0;}      if(key_can == 1)  //减键 {if(shi == 0x00)shi = 0x24;if((shi & 0x0f) == 0x00)shi = (shi | 0x0a) - 0x10;shi -- ;       //设置时钟减1 }   }if(menu_1 == 5)        //设置分{if(key_can == 2)  //加键 {fen+=0x01;      //设置分钟加1 if((fen & 0x0f) >= 0x0a)fen = (fen & 0xf0) + 0x10;if(fen >= 0x60)fen = 0;}      if(key_can == 1)  //减键      {if(fen == 0x00)fen = 0x5a;if((fen & 0x0f) == 0x00)fen = (fen | 0x0a) - 0x10;fen -- ;      //设置分钟减1 }       }if(menu_1 == 6)        //设置秒{if(key_can == 2)  //加键 {miao+=0x01;     //设置秒钟加1 if((miao & 0x0f) >= 0x0a)miao = (miao & 0xf0) + 0x10;if(miao >= 0x60)miao = 0;} if(key_can == 1)  //减键      {if(miao == 0x00)miao = 0x5a;if((miao & 0x0f) == 0x00)miao = (miao | 0x0a) - 0x10;miao -- ;     //设置秒减1     }}if(menu_1 == 7)       //设置星期{if(key_can == 2) //加键 {week+=0x01;     //设置星期加1 if((week & 0x0f) >= 0x0a)week = (week & 0xf0) + 0x10;if(week >= 0x08)week = 1;}     if(key_can == 1)  //减键      {if(week == 0x01)week = 0x08;if((week & 0x0f) == 0x00)week = (week | 0x0a) - 0x10;week -- ;     //设置星期减1}   }write_shu16(1,1,nian);    //显示年write_shu16(1,3,yue);      //显示月write_shu16(1,5,ri);       //显示日write_shu16(2,1,shi);      //显示时write_shu16(2,3,fen);      //显示分write_shu16(2,5,miao);     //显示秒write_shu16(3,5,week);     //显示星期                   switch(menu_1)     // 光标显示{case 1:  write_guanbiao(1,1,1);  break;case 2:  write_guanbiao(1,3,1);  break;case 3:  write_guanbiao(1,5,1);  break;case 4:  write_guanbiao(2,1,1);  break;case 5:  write_guanbiao(2,3,1);  break;

资料包括:

需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

24、基于51单片机公交车语音播报加时间显示系统设计相关推荐

  1. 43、基于51单片机电子称16按键LCD 1602显示系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 1.1课题背景与研究意义 电子秤的工作原理 电子秤的计量性能 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Prote ...

  2. 51单片机LCD12864语音播报电子书语音听书TTS串口语音

    实践制作DIY- GC0082-语音播报电子书 一.功能说明: 基于51单片机设计-语音播报电子书 功能介绍: 基于STC89C52(AT89C51/52)单片机,LCD12864,TTS串口语音模块 ...

  3. 51单片机温度语音播报系统TTS播报DS18B20温度LCD1602显示

    实践制作DIY- GC0023-温度语音播报系统 一.功能说明: 基于51单片机设计-温度语音播报系统 功能介绍: 1.STC89C52单片机(STC89C51/52 AT89C51/52 任选其一) ...

  4. 基于51单片机的语音采集系统设计(录音笔选择方案)

    功能: 基于51单片机的语音实时采集系统 系统由STC89C52单片机+ISD4004录音芯片+LM386功放模块+小喇叭+LCD1602+按键+指示灯+电源构成 具体实现功能: (1)可通过按键随时 ...

  5. 基于51单片机的8位数码管显示的可调时电子时钟

     基于51单片机的8位数码管显示的可调时电子时钟 本人大二本科生,第一次发东西,功能比较简单,代码有点复杂,希望能有大神指正. 基于51单片机的不可调时间的时钟显示,晶振为11.0592MHZ,60H ...

  6. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  7. 基于51单片机农业土壤湿度监测及自动灌溉系统设计

    基于51单片机农业土壤湿度监测及自动灌溉系统设计 1开发环境 2 功能说明介绍 3 程序 3.1工程文件 3.2代码 4 资料清单 1开发环境 仿真图:proteus8.9以上 程序代码:KEIL4/ ...

  8. 基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s

    基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s (程序+仿真+参考报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J011 目录标题 基于5 ...

  9. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

最新文章

  1. python余弦相似度
  2. 包含了主机名到ip地址的映射关系的文件是什么 ?
  3. zabbix安装使用及监控案例(从头到尾)
  4. C语言实现斐波那契搜索Fibonacci search算法(附完整源码)
  5. mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
  6. c语言 freopen txt_C语言文件操作函数freopen详细解析
  7. php 静态成员(static)抽象类(abstract)和接口(interface)
  8. 8_python基础—高级变量类型(字符串、列表、元组、字典、集合)
  9. django1.8升级1.9的几个问题
  10. BZOJ 1632: [Usaco2007 Feb]Lilypad Pond
  11. 英文java简历模板下载_JAVA技术人员英文简历模板
  12. Python实现多重弹窗脚本 整蛊朋友
  13. 便宜的前端培训班都有哪些?
  14. python 3 三元表达式(三目表达式)
  15. python导入数据画折线图_Python学习第93课-导入csv数据并绘制折线图
  16. IS-IS快速收敛调优(三)——LSP快速洪范、SPF算法改进和按优先级收敛
  17. javascript数字转汉字中文数字
  18. 802.11 a/b/g/n的理解
  19. UML系列文章(6)---公共机制
  20. HDLBits-Circuits学习小结(二)解锁多路复用器(multiplexers)

热门文章

  1. Superset-轻量级开源可视化BI工具
  2. 在线cad版本转换_弱电机房工程设计图纸(CAD版本)
  3. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 31页省一等奖论文及代码
  4. 手机浏览器唤起支付宝并打开指定页面
  5. MEION:带通滤波器设计
  6. jdk新特性::作用
  7. 基于Java的客户管理系统的设计与实现
  8. JS-小案例 关于时间--实时时间
  9. 如何使用TPC-DS生成测试数据并导入MySQL
  10. ArcGIS拓扑面错误批量修改