当前位置: 首页 > news >正文

基于51单片机的公交自动报站系统

**单片机设计介绍, 基于51单片机的公交自动报站系统

文章目录

  • 一 概要
      • 公交自动报站系统概述
      • 工作原理
      • 应用与优势
  • 二、功能设计
    • 设计思路
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  很高兴为您介绍基于51单片机的公交自动报站系统:

公交自动报站系统概述

该系统利用51单片机(也称为8051单片机)作为核心控制器,实现公交车辆的自动报站功能。它通常包括以下组件和功能:

  1. 51单片机:作为主要的控制器,负责整个系统的运行和管理。
  2. GPS 模块:用于获取车辆的位置信息,以确定车辆当前所在位置。
  3. 语音模块:用于播放车辆到达的站点信息,向乘客提供即将到达的站点名称。
  4. LCD 显示屏:显示当前站点信息或其他相关信息,方便乘客查看。
  5. 按钮或触摸屏:用于手动触发报站或进行其他交互操作。
  6. 存储设备:存储车辆行驶路线和站点信息的数据库。

工作原理

  1. GPS定位:系统使用GPS模块获取当前车辆的经纬度信息。
  2. 位置匹配:通过比对获取的位置信息和预先存储的站点位置数据,确定车辆所在位置对应的站点。
  3. 触发报站:一旦确定车辆即将到达某一站点,系统通过语音模块播放该站点的名称,向乘客提示即将到站。
  4. 信息更新:LCD显示屏可以实时更新当前车辆位置和即将到达的站点信息,以便乘客随时了解行程进展。

应用与优势

  • 乘客方便:乘客无需频繁地询问司机或观察路标,系统自动提供站点信息,提升乘车体验。
  • 准确性:基于GPS定位,系统能够精准确定车辆位置,确保报站的准确性。
  • 自动化:减轻驾驶员负担,提高公交车运营的效率和安全性。

希望这个简要介绍能够帮助您对基于51单片机的公交自动报站系统有所了解。

二、功能设计

设计并制作一个基于单片机的智能公交自动语音报站系统,系统主要包含硬件和软件两个部分,系统采用STC89C52单片机、语音模块、液晶屏、按键、喇叭设计而成,从而实现自动语音报站。

基本要求:

1、液晶显示当前公交站

2、语音模块控制喇叭播报公交站况出来

3、按键切换报站,可以实现向上报站、向下报站

4、可以通过按键切换路线

设计思路

设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

在这里插入图片描述

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

相关文章:

基于51单片机的公交自动报站系统

**单片机设计介绍, 基于51单片机的公交自动报站系统 文章目录 一 概要公交自动报站系统概述工作原理应用与优势 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 很高兴为您介绍基于51单片机的公交自动报站系统: 公交自动报…...

NextJS开发:Image组件的使用及缺陷

Next.js 中的 Image 组件相比于传统的 img 标签有以下几个优点: 懒加载:Image 组件自带懒加载,当页面滚动到 Image 组件所在位置时才会加载图片,从而加快页面的渲染速度。自动优化:Image 组件会自动将图片压缩、转换格…...

网络安全面试经历

2023-11-22 X亭安全服务实习生面试 一面: 工作方向:偏蓝队 总结:实习蓝队面试没有什么难度,没有什么技术上的细节问题,之前准备的细节问题没有考 最后和面试官聊了聊对网安的认识,聊了聊二进制的知识…...

Rust语言入门教程(四) - 数据类型

标量类型(Scalar Types) 在Rust中,一共有4中标量类型, 也就是基本数据类型,分别是: 整型(Integers)浮点型(Floats)布尔型(Boolean)字符型(Chara…...

华为云人工智能入门级开发者认证学习笔记

人工智能入门级开发者认证 人工智能定义 定义 人工智能 (Artificial Intelligence) 是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 强人工智能 vs 弱人工智能 强人工智能:强人工智能观点认为有可能制造出真正能推理&#xff08…...

腾讯云发布新一代基于AMD处理器的星星海云服务器实例SA5

基础设施的硬实力,愈发成为云厂商的核心竞争力。 11月24日,腾讯云发布了全新一代星星海服务器。基于自研服务器的高密设计与硬件升级,对应云服务器SA5是全球首家搭载第四代AMD EPYC处理器(Bergamo)的公有云实例&#…...

算法通关村-----数论问题解析

最大公约数和最小公倍数 概念描述 最大公约数(GCD)是指两个或多个整数共有约数中的最大值。 最小公倍数(LCM)是指两个或多个整数共有的倍数中的最小值 方法介绍 碾转相除法 一种用于计算两个整数的最大公约数(GCD…...

wpf prism当中 发布订阅 IEventAggregator

先订阅后发布 private readonly IEventAggregator _eventAggregator; public LoginViewModel(ILoginService iloginService, IEventAggregator eventAggregator) {_iloginService iloginService;_eventAggregator eventAggregator;_eventAggregator.GetEvent<MessageEven…...

Angular中的getter函数

Angular 中的 getter 函数每次被调用时会返回一个新对象时&#xff0c;这些新对象并不使用同一个堆内存。详细解释一下&#xff1a; Getter 函数的作用是获取某个属性的值。在 Angular 中&#xff0c;getter 函数通常用于获取响应式数据&#xff08;例如 Observables 或 Signal…...

Python----函数的数据 拆包(元组和字典)

Python拆包&#xff1a; 就是把元组或字典中的数据单独的拆分出来&#xff0c;然后赋予给其他的变量。 拆包: 对于函数中的多个返回数据, 去掉 元组, 列表 或者字典 直接获取里面数据的过程。 元组的拆包过程 def func():# 经过一系列操作返回一个元组return 100, 200 …...

vim翻页快捷键

Vim翻页 整页 Ctrlf向下翻页&#xff0c;下一页&#xff0c;相当于Page DownCtrlb向上翻页&#xff0c;上一页&#xff0c;相当于Page Up 半页 Ctrld向下半页&#xff0c;下一半页&#xff0c;光标下移Ctrlu向上半页&#xff0c;上衣半页&#xff0c;光标上移 按行 Ctrle…...

死锁是什么?死锁是如何产生的?如何破除死锁?

1. 死锁是什么 多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。 2. 死锁的三种典型情况 一个线程, 一把锁, 是不可重入锁, 该线程针对这个锁连续加锁两次, 就会出现死锁. 两个线程…...

给虚拟机配置静态id地址

1.令人头大的原因 当连接虚拟机的时候 地址不一会就改变&#xff0c;每次都要重新输入 2.配置虚拟机静态id地址 打开命令窗口执行 : vim /etc/sysconfig/network-scripts/ifcfg-ens33 按下面操作修改 查看自己子网掩码 3.重启网络 命令行输入 systemctl restart netwo…...

Mybatis-Plus 租户使用

Mybatis-Plus 租户使用 文章目录 Mybatis-Plus 租户使用一. 前言1.1 租户存在的意义1.2 租户框架 二. Mybatis-plus 租户2.1 租户处理器2.2 前置准备1. 依赖2. 表及数据准备3. 代码生成器 2.3 使用 三. 深入使用3.1 前言3.2 租户主体设值&#xff0c;取值3.3 部分表全量db操作3…...

vue el-table (固定列+滚动列)【横向滚动条】确定滚动条是在列头还是列尾

效果图&#xff1a; 代码实现&#xff1a; html&#xff1a; <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//unpkg.com/element-ui2.15.14/lib/index.js"></script> <div id"app" style&quo…...

⑦【Redis GEO 】Redis常用数据类型:GEO [使用手册]

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ Redis GEO ⑦Redis GEO 基本操作命令1.geoadd …...

LeetCode 2304. 网格中的最小路径代价:DP

【LetMeFly】2304.网格中的最小路径代价&#xff1a;DP 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 给你一个下标从 0 开始的整数矩阵 grid &#xff0c;矩阵大小为 m x n &#xff0c;由从 0 到 m * n - 1 的不同整数组成。你可以…...

c 实用化的文本终端实时显示摄像头视频

因为采用yuv格式&#xff0c;帧率都很低。图像会拖影。把图像尺寸尽量缩小&#xff0c;能大大改善。现在最麻烦的是图像上有黑色的闪影&#xff0c;不知是为啥&#xff1f;如是framebuffer引起的就无解了。终于找到问题了&#xff0c;是在显示前加了一条用黑色清屏造成的&#…...

CSS中常用的伪类选择器

一 、伪类&#xff08;不存在的类&#xff0c;特殊的类&#xff09; -伪类用来描述一个元素的特殊状态 比如&#xff1a;第一个元素&#xff0c;被点击的元素&#xff0c;鼠标移入的元素 -特点&#xff1a;一般请情况下&#xff0c;使用&#xff1a;开头 1、 :first-child …...

【python学习】中级篇-数据库操作:SQLite

SQLite是一个轻量级的数据库引擎&#xff0c;它可以嵌入到各种应用程序中。以下是SQLite的基本用法&#xff1a; 创建数据库文件 import sqlite3# 连接到一个不存在的数据库文件&#xff0c;如果文件不存在&#xff0c;将会自动创建一个新的数据库文件 conn sqlite3.connect…...

Linux交叉编译避坑指南:PKG_CONFIG_LIBDIR和PKG_CONFIG_PATH的正确配置姿势

Linux交叉编译实战&#xff1a;PKG_CONFIG环境变量深度解析与避坑手册 在嵌入式开发领域&#xff0c;交叉编译就像一场精密的外科手术——我们需要在本机环境下为完全不同的目标平台构建可执行程序。而pkg-config工具及其相关环境变量的配置&#xff0c;往往是这场手术中最容易…...

别再只懂03/06功能码了!Modbus协议在智慧农业中的7个高级应用与避坑指南

别再只懂03/06功能码了&#xff01;Modbus协议在智慧农业中的7个高级应用与避坑指南 当清晨的阳光洒向连片的温室大棚&#xff0c;土壤湿度传感器悄然唤醒灌溉系统&#xff0c;风机根据二氧化碳浓度自动调节转速——这些看似简单的农业自动化场景背后&#xff0c;往往隐藏着工业…...

51单片机项目避坑实录:我的声光控灯为什么白天也亮?排查光照传感器和代码逻辑的常见问题

51单片机声光控灯项目调试实战&#xff1a;从“白天灯常亮”到稳定运行的排查指南 当你在深夜调试完代码&#xff0c;满心期待地等待天亮验证"白天灯不工作"的功能&#xff0c;却发现阳光洒进房间时LED依然倔强地亮着——这种挫败感我太熟悉了。作为经历过三次课程设…...

龙泉驿全屋智能选哪家?诺亚家总部直营+1小时服务圈,比本地店省30%

​在成都&#xff0c;说到“东进”和宜居&#xff0c;龙泉驿绝对是热门选项。这里的业主&#xff0c;多是追求生活品质的年轻家庭和改善型住户。随着装修季的到来&#xff0c;“全屋智能”几乎成了龙泉驿新家的标配。但问题也来了&#xff1a;市场品牌眼花缭乱&#xff0c;本地…...

武昌老酒回收电话

随着消费升级与收藏文化的兴起&#xff0c;名贵老酒已成为许多家庭和企业资产的一部分。在武汉武昌区&#xff0c;如何处理手中闲置或珍藏的老酒&#xff0c;实现其价值的安全、高效变现&#xff0c;是不少持有者关心的话题。本文将深入分析武昌老酒回收市场的现状&#xff0c;…...

CSS移动端实现自适应图片比例_设置height auto保证等比缩放

Max-Age 优先级高于 Expires&#xff0c;覆盖其设置&#xff1b;Expires 依赖客户端时间且需 GMT 格式&#xff0c;省略则为会话 Cookie&#xff1b;Max-Age 以秒为单位、不依赖本地时间&#xff0c;值为 0 或负数时立即删除。Cookie 的生命周期由 Expires 和 Max-Age 两个属性…...

从零构建你自己的CoreOS风格系统:使用rpm-ostree compose tree打造不可变基础设施镜像

从零构建CoreOS风格不可变系统&#xff1a;rpm-ostree全栈实践指南 当你在凌晨三点被生产环境突发的依赖冲突惊醒时&#xff0c;当容器集群因底层系统库版本不一致而集体崩溃时&#xff0c;不可变基础设施的理念便开始显现其价值。不同于传统Linux发行版中包管理器随意修改运行…...

从‘黑盒’到‘白盒’:深入理解sklearn StandardScaler的inverse_transform,让你的模型预测结果‘看得见’也‘回得去’

从‘黑盒’到‘白盒’&#xff1a;深入理解sklearn StandardScaler的inverse_transform&#xff0c;让你的模型预测结果‘看得见’也‘回得去’ 在机器学习项目中&#xff0c;数据标准化是预处理阶段不可或缺的一环。然而&#xff0c;许多从业者往往只关注如何将数据转换为标准…...

从Ptolemaic到Copernican模型:Statistical Rethinking 2023中的模型进化

从Ptolemaic到Copernican模型&#xff1a;Statistical Rethinking 2023中的模型进化 【免费下载链接】stat_rethinking_2023 Statistical Rethinking Course for Jan-Mar 2023 项目地址: https://gitcode.com/gh_mirrors/st/stat_rethinking_2023 Statistical Rethinkin…...

小白也能轻松搞定Oracle数据库自动备份

还在为 Oracle 数据库的备份头疼吗&#xff1f; 提到 Oracle 备份&#xff0c;很多 DBA 和运维人员的脑海里立刻会浮现出复杂的 RMAN 命令、繁琐的 expdp 导出脚本&#xff0c;以及需要反复调试的 Windows 任务计划或 Linux crontab。 一不小心&#xff0c;密码写错、路径不对…...