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

西交大题目
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显示。根据特定事件(如启动、停止或复位出租车计价器),会播放语音消息。

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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习算法---异常检测

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…

计算机网络:自顶向下第八版学习指南笔记和课后实验--运输层

记录一些学习计算机网络:自顶向下的学习笔记和心得 Github地址,欢迎star ⭐️⭐️⭐️⭐️⭐️ 运输层 TCP: 传输控制协议 报文段 UDP: 用户数据包协议 数据报 将主机间交付扩展到进程间交付被称为运输层的多路复用与多路分解 将运输层…

饥荒Mod 开发(十三):木牌传送

饥荒Mod 开发(十二):一键制作 饥荒Mod 开发(十四):制作屏幕弹窗 一键传送源码 饥荒的地图很大,跑地图太耗费时间和饥饿值,如果大部分时间都在跑图真的是很无聊,所以需要有一个能够传送的功能,不仅可以快速…

docker文档转译1

写在最前面 本文主要是转译docker官方文档。主题是Docker overview,这里是链接 Docker概述 Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使你能够将应用程序与基础设施分离,从而可以快速交付软件。你可以使用相同的方法像管理应用程序…

HarmonyOS4.0从零开始的开发教程18HarmonyOS应用/元服务上架

HarmonyOS(十六)HarmonyOS应用/元服务上架 简介 随着生活节奏的加快,我们有时会忘记一些重要的事情或日子,所以提醒功能必不可少。应用可能需要在指定的时刻,向用户发送一些业务提醒通知。例如购物类应用&#xff0c…

急速上手搭建单节点 k8s集群实战

Minikube搭建 是一种轻量化的Kubernetes集群,是k8s社区为了帮助开发者和学习者能够更好学习和体验k8s功能而推出的,使用个人PC的虚拟化环境就快速构建启动单节点k8s机器准备:阿里云 CentOS 7.x ,2核4g 安装 安装Docker # 1.先…

Eclipse 自动生成注解,如果是IDEA可以参考编译器自带模版进行修改

IDEA添加自动注解 左上角选择 File -> Settings -> Editor -> File and Code Templates&#xff1b; 1、添加class文件自动注解&#xff1a; ​/*** <b>Function: </b> todo* program: ${NAME}* Package: ${PACKAGE_NAME}* author: Jerry* date: ${YEA…

liunx之Samba服务器

环境&#xff1a;虚拟机CENTOS 7和 测试机相通 一、Samba服务器_光盘共享&#xff08;匿名访问&#xff09; 1.在虚拟机CENTOS 7安装smb服务&#xff0c;并在防火墙上允许samba流量通过 2. 挂载光盘 3.修改smb.conf配置文件&#xff0c;实现光盘匿名共享 4. 启动smb服务 5.在…

电子电器架构( E/E) 演化 —— 大算力

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

计算机网络(1):开始

计算机网络&#xff08;1&#xff09;&#xff1a;开始 计算机网络在信息时代中的作用 21世纪的一些重要特征就是数字化、网络化和信息化&#xff0c;是一个以网络为核心的信息时代。要实现信息化就必须依靠完善的网络&#xff0c;因为网络可以非常迅速地传递信息。因此网络现…

【UML】第5篇 UML中的视图和图

目录 一、视图和图 二、图的种类 2.1 结构图 2.2 行为图 图是UML中最重要的概念了&#xff0c;起码我是这么认为。 上篇关于低代码的文章&#xff0c;我也说了&#xff0c;未来也许AI编码&#xff0c;我们更重要的工作&#xff0c;是能够为业务进行建模&#xff0c;拆解&a…

WPF Icon矢量库 MahApps.Metro.IconPacks

文章目录 前言MahApps.Metro.IconPacksIconPacks.Browser简单使用简单使用案例代码Icon版本个人推荐 Icon自定义版权问题 前言 为了更快的进行开发&#xff0c;我找到了一个WPF的矢量图库。这样我们就不用去网上找别人的矢量库了 MahApps.Metro.IconPacks MahApps.Metro.Icon…

Elasticsearch的使用总结

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。 put/post请求&#xff1a;http://localhost:9200/索引库名称 {"settings":{"index":{"number_of_shards":1, # 分片数量…

数据仓库与数据挖掘小结

更加详细的只找得到pdf版本 填空10分 判断并改错10分 计算8分 综合20分 客观题 填空10分 判断并改错10分--错的要改 mooc中的--尤其考试题 名词解释12分 4个&#xff0c;每个3分 经常碰到的专业术语 简答题40分 5个&#xff0c;每道8分 综合 画roc曲线 …

neuq-acm预备队训练week 9 P3916 图的遍历

题目描述 给出 N 个点&#xff0c;M 条边的有向图&#xff0c;对于每个点 v&#xff0c;求 A(v) 表示从点 v 出发&#xff0c;能到达的编号最大的点。 题目限制 输入格式 第 1 行 2 个整数N,M&#xff0c;表示点数和边数。 接下来 M 行&#xff0c;每行 22 个整数 Ui​,Vi​…

[足式机器人]Part4 南科大高等机器人控制课 Ch08 Rigid Body Dynamics

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;CLEAR_LAB 笔者带更新-运动学 课程主讲教师&#xff1a; Prof. Wei Zhang 南科大高等机器人控制课 Ch08 Rigid Body Dynamics 1. Spatial Vecocity1.1 Spatial vs. Conventional Accel1.2 Plueker Coordinate System and…

STM32F103RCT6开发板M3单片机教程04--按键检测

原画图讲解 本教程使用是&#xff08;光明谷SUN_STM32mini开发板&#xff09; 首先了硬件连接原理&#xff0c;STM32F103RCT6开发板是mini最小系统板&#xff0c;板子在没并有按键。需要自行用面包板搭建。 硬件连接&#xff1a; PC10 -> KEY1 &#xff08;MCU内部上拉…

MATLAB图像处理技巧

MATLAB图片处理------动态绘图 1. 动态绘图2. XXXXX 1. 动态绘图 主要用到四个函数&#xff0c;分别为getframe、frame2im、rgb2ind以及imwrite&#xff1a; 1.getframe&#xff1a;获取当前绘图窗口的图片作为影片帧&#xff1b; 2.frame2im&#xff1a;从单个影片帧 F 返回索…

数据仓库与数据挖掘c5-c7基础知识

chapter5 分类 内容 分类的基本概念 分类 数据对象 元组(x,y) X 属性集合 Y 类标签 任务 基于有标签的数据&#xff0c;学习一个分类模型&#xff0c;通过这个分类模型&#xff0c;可以把一组属性x映射到一个特定的类别y上 类别y 提前设定好的--如&#xff1a;学生…

安全密码(字符串)

#include <stdio.h> #include <stdbool.h> #include <string.h> bool is_secure_password(const char* password); int main() {int M;char password[51];// 读取输入中的密码数量 Mscanf("%d", &M);// 处理每个密码for (int i 0; i < M; …