基于单片机公交语音报站系统设计 含源码,Proteus仿真原理图

资料下载地址:基于单片机公交语音报站系统设计 含源码,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回到开机显示的界面。 

资料内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661294.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache POI 在java中处理excel

介绍: Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 如何使用: 1.maven坐标引入 <depend…

java-常量池

public class ConstantTest {public static final String s1 "我爱北京天安门";public static final String s2 "我爱北京天安门";public static void main(String[] args) {ConstantTest constantTest new ConstantTest();} }

Kubernetes 弃用Docker后 Kubelet切换到Containerd

containerd 是一个高级容器运行时&#xff0c;又名 容器管理器。简单来说&#xff0c;它是一个守护进程&#xff0c;在单个主机上管理完整的容器生命周期&#xff1a;创建、启动、停止容器、拉取和存储镜像、配置挂载、网络等。 containerd 旨在轻松嵌入到更大的系统中。Docke…

stable diffusion controlnet前处理中的图像resize

在SD controlnet应用中&#xff0c;一般都要先安装controlnet_aux&#xff0c;并在项目代码中import相关前处理模块&#xff0c;如下所示。 在对control image进行前处理&#xff08;比如找边缘&#xff0c;人体特征点&#xff09;之前&#xff0c;往往会图像进行resize&#x…

【Linux系统编程】30.pthread_exit、pthread_join、pthread_cancel

目录 pthread_exit 参数retval 测试代码1 测试结果 pthread_join 参数thread 参数retvsl 返回值 测试代码2 测试结果 pthread_cancel 参数thread 返回值 测试代码3 测试结果 pthread_exit 退出当前线程。 man 3 pthread_exit 参数retval 退出值。 NULL&#xf…

JAVA面试专题-Redis

你在最近的项目中哪些场景使用了Redis 缓存 缓存穿透 缓存穿透&#xff1a;查询一个不存在的数据&#xff0c;mysql查询不到数据也不好直接写入缓存&#xff0c;导致每次请求都查数据库。 解决方案一&#xff1a;缓存空数据&#xff0c;即使查询返回的数据为空&#xff0c;也把…

学习 Rust 第 23 天:闭包

Rust 闭包提供了简洁、富有表现力的匿名函数来捕获周围的变量。它们简化了代码&#xff0c;提供了存储、参数传递和函数重构方面的灵活性。它们与泛型的交互增强了灵活性&#xff0c;而捕获模式则促进了有效的所有权和可变性管理。从本质上讲&#xff0c;闭包是 Rust 的基础&am…

(7)快速调优

文章目录 前言 1 安装脚本 2 运行 QuikTune 3 高级配置 前言 VTOL QuikTune Lua 脚本简化了为多旋翼飞行器的姿态控制参数寻找最佳调整的过程。 脚本会缓慢增加相关增益&#xff0c;直到检测到振荡。然后&#xff0c;它将增益降低 60%&#xff0c;并进入下一个增益。所有增…

24五一杯B题思路分享+分析问题

回顾问题 ### 问题1&#xff1a;小型交通网络的交通需求分配 1. **理解问题**&#xff1a;首先&#xff0c;需要理解交通网络的结构和各起点-终点对之间的交通需求。 2. **建立模型**&#xff1a;使用线性规划、动态规划或启发式算法来分配交通量到不同的路径上。 3. **优化目…

汽车制造业安全事故频发,如何才能安全进行设计图纸文件外发?

汽车制造业产业链长&#xff0c;关联度高&#xff0c;汽车制造上游行业主要为钢铁、化工等行业&#xff0c;下游主要为个人消 费、基建、客运和军事等。在汽车制造的整个生命周期中&#xff0c;企业与上下游供应商、合作商之间有频繁、密切的数据交换&#xff0c;企业需要将设计…

windows11安装nginx

1.解压nginx安装包到没有中文的目录 2.双击运行nginx.exe 3.任务管理器查看是否有nginx进程 4.任务管理器->性能->资源监视器 5.网络->侦听端口&#xff0c;查看nginx侦听的端口&#xff0c;这里是90端口

吴恩达2022机器学习专项课程(一)7.2 逻辑回归的简化成本函数课后实验 Lab5

问题预览/关键词 二分类问题的训练集&#xff08;多特征&#xff09;绘制训练集数据的散点图自定义plot_data() Python实现逻辑回归的成本函数自定义sigmoid() 调用成本函数不同的w&#xff0c;b&#xff0c;绘制逻辑回归模型的决策边界验证哪条决策边界效果好总结 二分类问题的…