基于单片机的出租车计价器实验教学案例设计

news2025/1/18 3:22:55
摘 要 为了让学生加深单片机的理解,加强学生的单片机技术应用、实践动手、创新能力的培养,根据单片机课程设计教学情况精心设计了基于单片机的出租车计价器实验教学案例。本教学案例的基本原理是速度的检测,里程、价格的计算和显示。学生通过全程参与项目的构思、设计、实现和制作环节,掌握了单片机应用系统的整个开发过程,培养了硬件设计和软件设计技能,开发了学生的创新思维,提高了学生的自学能力、分析问题和解决问题的能力。
关键词 单片机;出租车计价器;实验教学案例

1 引言

《单片机原理与应用》课程是电子信息相关专业一门重要的专业基础课程,也是一门理论和实践结合非常紧密、突出动手能力的课程。课程设计是单片机课程教学过程中非常重要的实践教学环节之一,通过课程设计可以锻炼并提高学生综合运用知识、分析问题解决问题、实践动手能力、软硬件设计能力、系统测试、团队合作、撰写报告等相关能力。为了让学生加深单片机的理解,加强学生的单片机技术应用、实践动手、创新能力的培养,根据单片机课程设计教学情况精心设计了基于单片机的出租车计价器实验教学案例 [1-3]。

2 教学案例设计

2.1 实验内容与任务

本实验任务是设计制作一个基于单片机的出租车计价系统。具体实验内容:
(1) 键盘扫描,通过单片机检测用户按下的是哪个按键并执行相应的功能;
(2)通过传感器检测出租车的实时速度以及走过的路程,并在屏幕上显示;
(3) 用户可以通过按键设置白天和夜间头三公里的起步价,和三公里后每公里的价格,最终会在屏幕上显示价格;
(4) 系统还带有时钟显示,能实时显示时间和等待时间,能调节时间;
(5) 扩展功能:系统还带有超速报警,门限速度可以用户自己设置,超速后会语音提醒,语音提醒内容可自行录制。

2.2 实验原理、方案和设计

2.2.1 实验原理

本实验的基本原理是速度的检测,里程、价格的计算和显示。为实现整个设计,先将设计分为七个模块:主控模块、按键模块、显示模块、时钟模块、速度检测模块、语音模块、电源模块,然后分别完成各模块原理图及程序设计,最后连接各模块电路,整体调试、验证设计结果。系统总体硬件结构图如图 1 所示。

2.2.2 实现方案

本系统实现方案很多,每个模块在设计实现过程中都有
多种选择。
(1) 单片机选择,可供选择的单片机有 51 系列、MSP430系列、AVR 系列、STM32 系列等。
(2) 按键模块,可供选择的有独立按键和矩阵键盘。
(3) 显示模块,可供选择的显示模块有 LED 数码管和LCD 液晶显示屏。
(4) 时钟模块,可供选择的有时钟芯片和程序计数计时。
(5) 速度检测模块,可供选择的有光电传感器和霍尔传 感器。
(6) 语音模块,可以实现录放功能的语音芯片有 ISD、APR、WT、PM 等系列。
(7)系统供电,可供选择的方式有:电池盒供电、USB供电、电源接口供电。
综合考虑实验室现有资源和成本,本系统选用 51 系列单片机作为主控芯片,选择独立按键实现功能选择,选用 LCD1602 液显示屏显示时间、里程、价格,选用 DS1302 时钟芯片提供时钟信号,选择霍尔传感器进行检测电机转速,选择常用语音芯片 ISD1820 实现语音信号的录入和播放,选择 USB 供电。

2.2.3 系统设计

根据选择的系统实现方案设计电路图如图 2 所示。
根据设计好的电路原理图绘制 PCB 板图如图 3 所示 :
再经过打印、热转印、腐蚀、焊接元器件等环节,出租车计价器的成品图如图 4 所示。

3 实验教学过程与指导

3.1 实验教学

本实验体现了一个完整的系统设计过程,需要经历学习研究、方案论证、系统软硬件设计、仿真调试、实物制作与测试、设计总结等过程。在实验进行前,教师需要讲解的主要内容:
(1) 学习查阅资料。充分利用网络、电子图书馆等资源获取知识、查阅芯片技术资料和手册。
(2)模块化设计思想。将出租车计价的功能分成 7个模块,主控模块、按键模块、显示模块、时钟模块、速度检测模块、语音模块、电源模块。
(3) 结合出租车计价系统框图,介绍单片机应用系统的设计思路和方法。简要介绍各个模块的多种实现方案及优缺点。
(4) 介绍 KEIL C、PROTEUS 软件的功能、开发环境,介 绍基于 KEIL C、PROTEUS 软件搭建的仿真平台的使用和注意事项;介绍 PROTEL 软件的功能、开发环境,如何画原理图、PCB 板图,讲解元件布局、布线规则等方面的注意事项;介绍制板过程中注意事项;介绍焊接注意事项。
(5) 衡量电子产品的标准:满足任务指标要求,电路的稳定性、可靠性,电路简单、成本低、元件品种少,便于调试与维修等
(6) 提出撰写课程设计总结报告的基本要求。

3.2 实验指导

在实验教学过程中,教师主要指导、检查的内容:
(1) 指导学生查阅与使用器件数据手册。
(2) 指导学生选择合理电路方案。
(3) 检查实验方案、电路原理图。
(4) 指导学生使用 Keil 软件编程,Proteus 软件画仿真图,在仿真过程中,注意硬件原理图和软件程序的紧密结合,检查仿真现象及结果。
(5) 指导学生利用 Protel DXP 软件画原理图、PCB 板图,指导学生制板、焊接电路。
(6) 引导学生找出在调试和测试过程中遇到具体问题的解决方法。
(7) 验收实物。验收内容包括检查功能的完成程度、性能是否稳定可靠,有无自制 PCB 板,有无创新,设计方案的合理性,电路设计的规范性,焊接质量,组装工艺,实验数据,是否充分利用实验室资源,材料与元器件选择合理性,成本核算等。
(8) 检查实验报告完成的规范性、完整性。

4 结束语

本实验要求学生综合运用所学过的模拟电路、数字电路、传感器、单片机原理及其相关接口的理论知识完成出租车计价器的系统设计和制止。以学生为中心,让学生全程参与单片机应用系统的整个开发过程。通过对项目的构思、设计、实现和制作环节,让学生主动获取知识,培养硬件设计和软 件设计技能,开发学生的创新思维,提高学生的自学能力、分析问题和解决问题的能力

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

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

相关文章

redis客户端基本操作命令

1 key结构 *1、模糊匹配 keys 值 2、删除 del key DEL key [key …]:删除一个或多个key,如果key本身不存在,则会忽略 3、查询 get “key” key加双引号 Redis的key允许有多个单词形成层级结构,多个单词之间使用:隔开。 例如&…

交互未来入选“北京市通用人工智能产业创新伙伴计划”模型伙伴

在“开启数智新时代,共享数字新未来”的宏大主题下,2024全球数字经济大会于近日盛大开幕,汇聚全球智慧,共谋数字经济新篇章。大会首日,备受瞩目的人工智能专题论坛率先拉开帷幕,以“应用即未来——大模型赋…

Python列表创建使用心得详解

概要 列表是Python中最常用的数据结构之一,它用于存储有序的元素集合。Python提供了多种方式来创建和操作列表,使得列表在数据处理、存储和操作中非常灵活。本文将详细介绍Python列表创建的各种技巧,包括基础创建方法、列表推导式、内置函数和高级创建技巧,并包含具体的示…

重塑绿色共享消费新纪元:共融增值模式

在当今时代浪潮中,绿色消费与共享经济已成为推动社会可持续发展的重要力量。为此,我们精心打造了“共享购”这一前沿消费增值生态体系,它不仅深度联结了商家资源,更通过独特的价值循环机制,促进了商家与消费者的共同繁…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥生成介绍及算法规格】

密钥生成介绍及算法规格 当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥。 注意: 密钥别名中禁止包含个人数据等敏感信息。 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harm…

proverif报错Error: File error: test1.pv: No such file or directory.

当执行proverif时候出现如下报错时候 解决方案如下,使用命令 proverif …/test1.pv

软件测试必问必背面试题

01 软件测试理论部分 1.1 测试概念 1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码集成测试:通过测试发现与…

软件确认测试和系统测试包括哪些测试内容?有什么区别?

一、软件确认测试 软件确认测试,顾名思义,是为了确认软件的正确性和完整性而进行的测试过程。它旨在验证软件是否符合用户需求和软件开发规范。测试内容包括: 1、功能确认:通过对软件各项功能进行测试,验证其是否按照…

初出茅庐的小李博客之C语言文件操作

C语言文件操作 在C语言中,文件操作主要是通过标准库函数来实现的。 今天有时间就来学习下一些常用的文件操作函数: C 语言提供了一个 FILE 数据结构,记录了操作一个文件所需要的信息。该结构定义在头文件stdio.h,所有文件操作函…

Blender渲染慢?那是你还不知道这5个技巧

Blender是一款功能强大且用途广泛的软件,可帮助 3D 艺术家和动画师创作出色的视觉内容。如果您使用过 Blender,您就会知道渲染可能非常耗时。渲染时间过长可能会令人烦恼并限制创造力。 在这篇文章中,我们将提供一些专家提示和想法以加快 Bl…

Elasticsearch:Painless scripting 语言(二)

这是继上一篇文章 “Elasticsearch:Painless scripting 语言(一)” 的续篇。 使用 field API 访问文档中的字段 警告:Field API 仍在开发中,应视为测试版功能。API 可能会发生变化,此迭代可能不是最终状态。…

用Vue3和Plotly.js绘制交互式3D烛形图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Plotly.js实现交互式K线图 应用场景 K线图广泛应用于金融领域,用于展示股票、外汇等金融产品的价格走势。它直观地呈现了开盘价、收盘价、最高价和最低价等信息,帮助投资者分析市场趋势…

Codeforces Round 955 (Div. 2, with prizes from NEAR!)(A~C题解)

这场比赛怎么说呢,一开始打的还算好,能进前1000,但是后面就被卡住了,这个确实没办法水平还是不够,学过的还是没想起来,后面继续练 A. Soccer 题解:水题一个,想要在过程中出现平局的…

1.HI3559AV100 官方开发板sample运行

1.内核、文件系统部分 有关uboot,kernel,rootfs部分就不赘述,直接在SDK提供的镜像文件进行烧录即可。2.编译MPP下的sample运行 实验前准备:通过NFS方式挂载到开发板与主机通信传输文件 驱动和库的部署:把MPP目录下的…

windows搭建mqtt服务器,并配置DTU收集传感器数据

1.下载并安装emqx服务器 参考:Windows系统下本地MQTT服务器搭建(保姆级教程)_mqtt windows-CSDN博客 这里我下载的是emqx-5.3.0-windows-amd64.zip版本 下载好之后,放到服务器的路径,我这里放的地方是:C…

day03-numpy数据类型

numpy数据类型 名称描述名称描述bool_布尔型数据类型(True 或者 False)float_float64 类型的简写int_默认的整数类型(类似于 C 语言中的 long,int32 或 int64)float16/32/64半精度浮点数:1 个符号位,5 个指…

Day64 代码随想录打卡|回溯算法篇---组合总和

题目(leecode T39): 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 …

Vulnhub靶场DC-5练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 利用burpsuite爆破文件包含的参数2. 文件包含3. nginx日志挂马4. 反弹shell5.漏洞利用和提权 0x04 总结 0x00 准备 下载链接:https://download.vulnhub.com/dc/DC-5.zip 介绍: …

论文学习——基于类型检测的动态自适应多目标优化算法

论文题目:Dynamic adaptive multi-objective optimization algorithm based on type detection 基于类型检测的动态自适应多目标优化算法(Xingjuan Cai a,b, Linjie Wu a,∗, Tianhao Zhao a, Di Wu c, Wensheng Zhang d, Jinjun Chen e)Inf…

经典链表算法题:找到环的入口。清晰图示推导出来

Leetcode题目链接 原理 重画链表如下所示,线上有若干个节点。记蓝色慢指针为 slow,红色快指针为 fast。初始时 slow 和 fast 均在头节点处。 使 slow 和 fast 同时前进,fast 的速度是 slow 的两倍。当 slow 抵达环的入口处时,如…