【TB作品】51单片机,语音出租车计价器

news2024/12/22 21:01:15

西交大题目
1.语音出租车计价器
一、功能要求:
1.具有可模拟出租车车轮转速传感器的硬件设计,可计量出租车所走的公
里数。
2.显示和语音播报里程、价格和等待红灯或堵车的计时价格:
3.具有等待计时功能
4.具有实时年月日显示和切换功能。
5.操作简单、界面友好。
二、设计建议:
1.单片机自选(C51、STM32或其他单片机)。
2.时钟日历芯片选用DS1302(多功能模块)。
3.模拟出租车车轮转速可使用555振荡器。(自行设计)
4.显示可选液晶或者数码管。
5.语音可选"语音模块"或其他音频控制电路。
6.按键输入信息(多功能模块)。
三、加分设计项
1.定位功能。
2.网络约车功能。
3.行驶路线功能等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源代码打开下载:

http://dt3.8tupian.net/2/28880a59b30000.pg3

这个程序是为基于8051微控制器的出租车计价器系统编写的。程序包含了实时时钟(RTC)、温度监测、按键输入处理、距离和时间计算以及使用ISD1760语音记录模块进行语音播放等功能。

让我们详细解释程序的主要组成部分和功能:

包含的头文件

  • reg52.h:用于8051微控制器的头文件。
  • 其他标准C库:stdio.hstdlib.hintrins.hstring.h
  • 自定义头文件:delay.hds1302.hkey.hDS18B20.hlcd.hisd1760.h

宏定义

  • uintunsigned int的别名。
  • ucharunsigned char的别名。

引脚配置

程序定义了各种组件的引脚配置,包括LCD、DS18B20温度传感器、DS1302 RTC、按键和ISD1760语音记录器。

函数原型

  • void play(int number):根据给定的编号播放特定的音频录音。
  • void play_number(unsigned int n):播放数字的语音表示。
  • void play_naduanhua(unsigned int licheng, unsigned int time, unsigned int price):根据距离、时间和价格播放特定的语音消息。
  • unsigned int calc_price(char hour, unsigned int licheng, unsigned int time):根据一天中的时间、行驶距离和时间计算出租车费用的函数。

全局变量

  • struct RTCTIME rtctime:存储实时时钟信息的结构体。
  • char set:标志,指示系统是否在设置界面中。
  • int wendu:温度变量。
  • unsigned char num2:计数变量。
  • 与出租车计价器系统相关的各种变量(dache_statusdache_lichengdache_timedache_pricedache_miaoamaichong_cnt)。

LCD显示函数

  • void user_lcd_display(void):在LCD上显示信息的函数,包括日期、时间、温度和出租车相关信息。

按键处理函数

  • void user_pro_key(int key):处理按键输入并控制出租车计价器的状态。

主函数

  • 硬件组件和外设的初始化。
  • 处理键盘输入、更新实时时钟、处理出租车的距离和时间计算以及刷新LCD显示的主循环。

定时器中断

  • 定时器1中断,定期更新显示。

ISD1760语音模块函数

  • ISD_Init():初始化ISD1760语音模块。
  • 语音播放函数(playplay_numberplay_naduanhua)。

温度传感器和RTC初始化

  • 初始化DS18B20温度传感器和DS1302 RTC。

出租车费用计算

  • 函数calc_price根据行驶距离、时间和一天中的时间计算出租车费用。

外部中断

  • 外部中断被注释掉(/* ... */)并未在程序中使用。

总体流程

主函数不断更新实时时钟、处理按键输入、计算出租车相关信息,并相应地刷新LCD显示。根据特定事件(如启动、停止或复位出租车计价器),会播放语音消息。

该程序整合了各种硬件组件和传感器,创建了一个具有语音反馈的出租车计价器系统。它展示了嵌入式系统如何编程以处理多个任务并与不同的外围设备交互。

是这个板子的东西,认识这个板子再看。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

委托线程安全

委托线程安全是指将对共享数据的访问委托给线程安全的类,从而避免在调用方代码中进行额外的同步控制。这可以通过将线程安全性限定在一个类内部来实现。以下是一个简单的例子: 假设有一个计数器类 Counter,它不是线程安全的。 public class…

数据手册Datasheet解读-MOS管笔记

数据手册Datasheet解读-MOS管笔记 NMOS应用场景一般特征第一个参数Vdss第二、三个参数Rds(on)、IdMOS管的散热绝对最大额定值第一个参数-Vd第二个参数-Vdgr第三个参数-Vg(栅源电压)第四个参数-Id第五个参数-Idm第六个参数-Ptot第七个参数-Viso第七和八的…

【合成数字】合成类游戏-uniapp项目开发流程详解

以前玩过2048游戏,从中发现规律,想到跟合成类游戏相似,知道为什么很相似吗,在这里,做一个数字合成游戏玩玩吧,感兴趣的话可以看看,这里给大家讲一讲数字合成游戏的开发过程。 文章目录 创建项目…

四. 基于环视Camera的BEV感知算法-BEVDet

目录 前言0. 简述1. 算法动机&开创性思路2. 主体结构3. 损失函数4. 性能对比总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习下课程第四章——基于环视Cam…

【Java】智慧工地系统:让建筑行业管理更简单

概述 智慧工地管理平台面向房建、能源、交通各类工地的管理者,通过AI视频、物联感知技术对工地场景中的施工机械、建筑材料、施工规范、施工环境监管、完善施工现场项目管控。实现项目管控、特种设备管理、绿色施工、工地巡检等业务功能,沉淀工地监管数…

6.鸿蒙app_hap_DevEco如何真机调试模式_app安装在手机中

真机调试 手机》设置》关于手机》HarmonyOS版本》软件版本,连续单击10次启动开发者模式 然后:设置》系统和更新》开发人员选项》打开USB调试功能。 电脑USB连接手机,手机USB连接类型,传文件(不要选择仅充电&#xf…

CAD 审图意见的导出

看图的时候喜欢在图上直接标注意见,但是如果还要再把意见一行一行的导出到word里面就很麻烦,在网上看了一个审图软件,报价要980,而且那个审图意见做的太复杂了。 我的需求就是把图上标的单行文字和多行文字直接导出来就行&#x…

MybatisPlus进阶,UUID VS SnowFlake(雪花算法)

目录 一、什么是MybatisPlus 为什么要学MybatisPlus? 特性: 二、快速入门 2.1快速初始化一个空的spring boot 项目 2.2配置依赖 2.3配置(连接数据库) 2.4在spring boot启动类中添加MapperScan注解,扫描Mapper文件夹: 2.5…

自动驾驶学习笔记(二十)——Planning算法

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 参考线平滑 双层状态机 EM Planner …

Sherlock:社交媒体账号搜索工具 | 开源日报 No.111

sherlock-project/sherlock Stars: 45.1k License: MIT 这个项目是一个社交媒体账号搜索工具,名为 Sherlock。它可以通过用户名在不同的社交网络上追踪用户的账号。 支持单个或多个用户搜索提供 Docker 容器化部署方式开放源代码并欢迎贡献者参与开发包含详细测试…

LeetCode(62)删除排序链表中的重复元素 II【链表】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 删除排序链表中的重复元素 II 1.题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1…

2020年第九届数学建模国际赛小美赛D题石头剪刀游戏与合作解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 D题 石头剪刀游戏与合作 原题再现: 小时候你可能至少玩过几次石头剪刀游戏。在这个游戏中,你几乎有三个选择,每一个都有一个项目要打败,一个项目输给。石头打败剪刀,剪刀剪纸和布覆…

二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现

二分查找的概念 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 实现原理 首先,假设表中元素是按升序…

FinalShell的下载、安装及基本使用

一:引言 FinalShell 是一体化的的服务器,网络管理软件,不仅是 ssh 客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 主要特性: 1.多平台支持 Windows,macOS,Linux 2.多标签,批量服务器管理. 3.支持登录 ssh 和 Windows 远程桌面. 4.漂亮的…

elementUi表单验证 上一下两项都有必填校验,添加v-if后失效

需在el-form-item 在不一样的key区分就在页面会生效

12、ble_mesh_vendor_model 服务端,自定义模型

1、初始化流程,存储初始化,nvs擦除, board_init();初始化LED。 2、bluetooth_init();ble协议栈初始化 3、ble_mesh_get_dev_uuid(dev_uuid);//获取设备uuid加载到mac,后两位dev uuid 4、ble_mesh_init();//ble mesh协议栈初始化。…

springboot229基于Spring Boot的企业员工薪酬关系系统的设计

springboot229基于Spring Boot的企业员工薪酬关系系统的设计 源码获取: https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

2023年度佳作:AIGC、AGI、GhatGPT、人工智能大语言模型的崛起与挑战

目录 前言 01 《ChatGPT 驱动软件开发》 内容简介 02 《ChatGPT原理与实战》 内容简介 03 《神经网络与深度学习》 04 《AIGC重塑教育》 内容简介 05 《通用人工智能》 目  录 前言 2023年是人工智能大语言模型大爆发的一年,一些概念和英文缩写也在这一…

【MyBatis-Plus】常用的插件介绍(乐观锁、逻辑删除、分页)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于MyBatis-Plus的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.为什么要使用MyBatis-Plus中的插…

day01-报表技术POI

前言 报表[forms for reporting to the higher organizations],就是向上级报告情况的表格。简单的说:报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表 多样的格式 动态的数据”。 1、开发环境搭建 功能说…