大学单片机课程设计40;999999显示与出租车计费器_包含汇编与C语言41;

合集下载

基于单片机的出租车计费器设计课程设计(论文)

基于单片机的出租车计费器设计课程设计(论文)

课程名称单片机原理及应用目录摘要 (2)1 方案论证 (2)1.1 方案一 (2)1.2 方案二 (3)1.3 方案比较 (3)1.4 系统的主要功能及算法公式 (3)2 出租车计费器系统设计 (4)2.1 硬件设计 (4)2.1.1 整体硬件电路图 (4)2.1.2 74LS27和74LS02芯片简介 (5)2.2 软件设计 (5)2.2.1 模块介绍 (5)2.2.2 程序流程图 (6)3 单片机89C51的简介 (7)3.1 主芯片89C51的硬件资源 (7)3.2 89C51中断系统 (8)3.3 单片机定时器/计数器的使用 (9)4 电路仿真结果 (10)5 课程设计总结 (12)参考文献 (12)致谢 (13)附录 (14)摘要单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

本课设主要了解应用单片机的定时器/计数器,以及中断。

这是一个比较小的系统,故采用汇编语言来编辑。

汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。

本系统假设速度恒定60Km/h(1Km/min),单价一定1.2元/Km,起步价6.0元,超过三公里开始计费,每公里加1.2元。

关键词:出租车计费器;AT89C51;定时器/计数器1、方案论证1.1 方案一采用数字电路控制。

其原理方框图如图 1-1所示。

采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。

图1-1采用数字电路控制方法移位寄存器,译码电路,驱动电路等等电源部分显示所需价格显示所用时间1.2 方案二采用单片机控制。

利用单片机丰富的I/O 端口,及控制灵活性,实现基本的里程计价功能和几个调节、时间显示功能。

单片机课程设计报告-出租车计价器

单片机课程设计报告-出租车计价器

微机原理及单片机接口技术实验报告学院:专业班级:学生姓名:学号:指导教师:一、验目的及实验实现的功能:(一)流水灯实验1、实验目的:1)简单I/O引脚的输出2)掌握软件延时编程方法3)简单按键输入捕获判断2、完成功能要求1)开机是点亮12发光二极管,闪烁三下2)按照顺时针循环依次点亮发光二极管3)通过按键将发光二极管的显示改为顺逆时针方式(二)定时器或实时时钟实验1、实验目的1)数码管动态显示技术2)定时器的应用3)按键功能定义2、完成功能要求1)通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。

2)实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。

上述二个功能至少完成一种功能。

(三)双机通信实验1、实验目的UART 串行通信接口技术应用2、完成功能要求用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。

(四)交通灯实验1、实验目的1)按键、数码管、发光二极管综合应用编程技术2)数据存储于EEPROM的技术(也可以不使用)3)定时中断技术4)按键中断技术2、完成功能要求1)对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。

2)设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。

3)紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。

再按该键,恢复正常显示。

二、系统硬件设计硬件设计仿真图三、系统软件设计系统流程图(程序见附录)四、实验过程中遇到的问题及解决方法1.定时器0调试过程中:a)建好工程后,操作太快,忘了将保存过的C文件添加到工程里面,提示无效module。

b)初始化函数init_0() 声明时后面的‘;’忘记了,调试后出现了很多错误与警告,里面的变量及端口都提示重复定义。

数码管显示过程中:a)函数编写好后调用提示:uncalled segment ,ignored for overplay.原因:有函数未调用,可是我已经调用所有函数,后来检查一段时间后发现,count_down ()被我写成了count_dowm().b)FLAG标志位应用时,当FLAG=1时应该立即执行正常时钟程序clock(),可是当按键稍微晚些按时会出现:延时一段时间后才执行。

单片机课程设计论文---出租车计价器

单片机课程设计论文---出租车计价器
2.3 方案的选取 .................................................................................................... - 5 -
2.4硬件设计 ......................................................................................................... - 6 -
2.4.1 AT89S52单片机及最小系统..................................................................- 6 -
2.4.2 测距单元.................................................................................................- 8 -
5课程设计体会 ............................................................................................... - 14 -
参考文献 ......................................................................................................... - 16 -
规模较大用到的器件多造成故障率高难调试。而采用单片机进行的设计
相对来说功能强大是深化单片机应用的良好途径用较少的硬件和适当的软件
相互配合可以很容易地实现设计要求且灵活性强可以通过软件编程来完成更

单片机课程设计---出租车计费系统

单片机课程设计---出租车计费系统

课程名称:单片机系统课程设计设计题目:出租车计费系统完成期限:自2011 年12 月19 日至2011 年12 月31 日共 2 周1一、设计任务1.1 外部脉冲自动计数,自动显示。

1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示)。

1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前三位显示数码管显示里程数,后三位数码管显示价钱(角,元,十元)二、设计目的1、掌握寄存器、存储器读写等汇编指令;2、掌握软件编程、编译、调试等基本操作;3、学会程序的基本调试方法;4、熟悉Proteus仿真软件的使用;5、学会单片机最小系统电路原理设计分析,程序设计、调试分析与修改,程序调试等实际操作。

三、硬件资源※89S51单片机;※6位共阳极数码管;※段码驱动器74HC573,位选译码器74HC138;※4路独立式按键;※外部晶振电路;※ISP下载接口(In system program,在系统编程);※DC+5V电源试配器(选配);※ISP下载线(选配)。

四、电路原理分析与设计P1为外部电源输入座(DC+5V),S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。

D1为系统电源指示灯。

J2为ISP下载接口,S7系统复位按键。

CRY1,C1,C2为外部时针电路。

IC1为89S51(DIP-40),左上角为第一脚。

PRE1,PRE2。

为上拉排阻(阻值4.7k—10k)。

J5,J9,J6,J10分别对应单片机的P0,P1,P2,P3口。

便于二次开发。

6路共阳极数码管动态显示电路,P0口通过74HC573(起驱动和隔离作用,让电流通过74CH573流入公共地),来控制数码管的8路段码,P20-P22通过74HC138译码器(使用其中的6路)控制数码管的公共端(中间还有三极管做驱动器)。

基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、设计目标:设计一个基于单片机的出租车计价器,能够准确计算乘客的乘车距离和费用,并能显示当前的计价信息。

二、设计原理:1. 距离测量:使用速度传感器和车轮直径来测量出租车行驶的距离。

2. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算。

3. 显示:使用LCD显示屏显示当前的计价信息和距离。

三、硬件设计:1. 单片机:选择合适的单片机,如ATmega8,作为主控制器。

2. 速度传感器:选择合适的速度传感器,如霍尔传感器,用于测量车轮转速。

3. LCD显示屏:选择合适的LCD显示屏,如16x2字符LCD,用于显示计价信息和距离。

4. 按键开关:设计合适的按键开关,用于启动计价器和调整设置。

四、软件设计:1. 初始化设置:在计价器启动时,进行LCD显示屏和速度传感器的初始化设置。

2. 距离测量:通过速度传感器读取车轮转速,根据车轮直径计算出租车行驶的距离。

3. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算,并将计算结果显示在LCD上。

4. 设置调整:设计按键开关用于调整计价规则和费率设置。

5. 实时显示:将计价信息和距离实时显示在LCD上,方便乘客查看。

五、测试和验证:进行功能测试和实地验证,确保计价器的准确性和稳定性。

包括距离测量的准确性、费用计算的准确性以及LCD显示的正确性。

六、优化和改进:根据测试结果和用户反馈,对计价器进行优化和改进,提高其性能和用户体验。

总结:基于单片机的出租车计价器是一个实用的设计,能够帮助出租车司机和乘客准确计算乘车距离和费用。

通过合理的硬件设计和软件编程,可以实现距离测量、费用计算和实时显示等功能。

在实际使用中,需要进行充分的测试和验证,以确保计价器的准确性和稳定性。

通过不断优化和改进,可以提高计价器的性能和用户体验,满足用户的需求。

基于单片机出租车计价器课题设计(c语言编写)

基于单片机出租车计价器课题设计(c语言编写)

单片机系统课程设计报告完成日期:2010年12月28日系:电子信息工程系专业:通信工程班级:071班设计题目:出租车计价器学生姓名:谢明七王勉指导教师:董玉华、许爽目录一、设计任务和性能指标 (2)1.1设计任务 (2)1.2性能指标 (2)二、设计方案 (3)2.1任务分析 (3)2.2系统设计 (4)三系统硬件设计 (6)3.1电源电路 (6)3.2单片机的最小系统 (7)3.3 DS1302时钟电路 (8)3.4显示电路的设计 (9)3.5按键控制的设计 (10)3.7复位电路 (12)四、系统软件设计 (13)4.1主程序设计 (13)4.2 子程序设计 (14)4.2.1 DS1302子程序 (14)4.2.1 DS1302子程序流程图 (14)4.2.2 显示子程序 (16)4.2.2 显示子程序流程图 (18)4.3 修改时间子程序 (19)五、调试及性能分析 (20)5.1调试步骤 (20)5.1.1硬件调试 (20)5.1.2软件调试: (20)5.2性能分析 (20)六、心得体会 (22)七、参考文献 (23)八、附录 (24)附录1、程序清单 (24)附录2 系统硬件电路图 (34)一、设计任务和性能指标1.1设计任务出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中等待来调节营运参数、计量数据查询等。

要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。

1.2性能指标1.不同情况具有不同收费标准:白天、晚上、途中等待(>10min开始收费);2.数据输出:单价输出、路程输出、总金额输出;3.按键:启动计时开关、数据显示切换、白天/晚上切换、复位;4.能手动进行修改单价,但单价设定需密码进入。

出租车计价器单片机课程设计

出租车计价器单片机课程设计

出租车计价器单片机课程设计
一、课程设计背景
1.1 项目简介
出租车计价器是一款用来计算出租车费用的设备,它可以根据客户乘坐出租车的里程数、所在城市、车辆等级等信息,计算出乘客应付的出租车费用。

本课程设计主要以单片机实现出租车计价器的功能,采用单片机控制电容屏和按键,实现出租车客户输入数据和进行相关计算的功能。

1.2 基本要求
(1)设计出租车计价器的硬件模块,包括控制电容屏、按键等;
(2)设计出租车计价器的软件模块,编写出租车计价器的源程序;
(3)实现出租车计价器的测试功能,包括输入数据、计算费用等。

二、课程设计步骤
2.1 硬件设计
(1)材料准备:本课程设计所需的主要硬件设备有:单片机主
控板及其配件、电容屏和按键等。

(2)电路设计:根据课程设计的功能要求,设计出租车计价器
的硬件电路,实现主控板与电容屏、按键等设备的连接。

(3)原理图设计:根据电路设计,绘制出租车计价器的原理图,包括主控板、电容屏和按键等设备的结构。

2.2 软件设计
(1)源程序设计:编写单片机的源程序,实现出租车计价器的计算功能。

(2)组合程序设计:根据源程序,编写出租车计价器的组合程序,实现出租车计价器的实际应用。

2.3 课程实施
(1)硬件实施:根据原理图,把主控板、电容屏和按键等硬件设备安装在一起,组装成出租车计价器。

(2)软件实施:把编写的源程序和组合程序烧写到主控板上,运行程序,实现出租车计价器的功能。

(3)测试实施:运行出租车计价器,输入相关的参数,检验程序的正确性,确保出租车计价器正常工作。

(完整版)单片机毕业课程设计出租车计价器

(完整版)单片机毕业课程设计出租车计价器

《单片机原理与接口技术》课程设计题目:基于单片机的出租车计价器的设计学院:管理科学与工程学院专业:电子信息工程学号:姓名:夏念念初始条件:1.运用所学的单片机原理与接口技术知识和数字电路知识;2.52单片机应用开发系统一套;3.PC机及相关应用软件。

要求完成的主要任务:以目前生活中正在使用的出租车计价器为原型进行设计,要求具有按时间和里程综合计算车价的功能,能显示时间、里程、单价、总车价等相关信息。

1.完成出租车计价器的设计和调试。

2.撰写课程设计说明书,说明书使用A4打印纸计算机打印,用Proteus等绘图软件绘制电子线路图纸。

基于52单片机原理出租车计价器的设计摘要本设计的是一个基于单片机AT89C52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。

复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。

时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。

在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。

通过按键模拟出租车的运行,暂停,停止。

在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。

在这里主要是以AT89C52单片机为核心控制器,P0口接1602液晶显示模块,P1口接按键的,通过按键输入。

关键词:单片机AT89C52;1602液晶;出租车计费器;目录前言 (1)第一章出租车计价系统的设计要求与设计方案 (2)1.1出租车计价器设计要求 (2)1.2系统主要功能 (2)1.3方案论证与比较 (2)第二章出租车计价系统的硬件设计 (4)2.1振荡电路 (4)2.2复位电路设计 (4)2.3键盘接口电路 (5)2.4显示电路 (5)2.5路程测量部分 (6)2.6单片机各引脚功能说明 (6)2.71602液晶的简介 (8)第三章出租车计价系统的软件设计 (10)3.1单片机资源使用 (10)3.2中断子函数 (10)3.3判键子函数 (11)3.4显示子程序 (11)3.5总程序流程框图 (13)第四章PROTEUS的简介 (14)4.1P ROTEUS介绍 (14)第五章设计体会与小结 (15)参考文献 (15)附录 (16)一.源程序 (16)二.设计总图 (2)前言出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。

基于单片机的出租车计价器的设计(课程设计)

基于单片机的出租车计价器的设计(课程设计)

课程设计基于单片机的出租车计价器院系:物电学院专业:电气工程及其自动化*者:** 121154010刘攀 121154024李占伟 121154021孙梅艳 121154032王丽丹 121154033班级:12电气专升本指导教师:***日期:2013年6月26日摘要随着出租车行业的发展,出租车已经是城市交通的重要组成部分,出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

而随着单片机性能不断提高而价格不断下降,单片机控制在越来越多的领域得以应用。

本设计按照传统的模式,在整个项目开发过程中,先根据控制系统要求设计原理图,PCB电路图绘制,电路板制作,元器件的焊接,然后进行软件编程,通过仿真器对系统硬件和软件调试,最后将调试成功的程序固化到单片机中。

这一过程中的主要问题是,应用程序需要在硬件完成的情况下才能进行调试。

本系统是由89C52单片机、数码管显示模块、计数脉冲发生器、及里程计算等模块组成。

关键字:单片机数码管显示计费控制Abstractwith the development of the taxi industry, a taxi is an important part of urban transportation, taxi drivers and passengers the message accounting device is both sides of the trading standards, it is an important symbol of development of the taxi trade, is the most important tool in a taxi. It was about trading the interests of both parties. Has good performance both for the message accounting device taxi driver friend or passengers alike is very necessary. Therefore, the research is also very smart meter car has a application value. But along with single-chip microcomputer with improving performance and prices falling, SCM control in more and more field to the application. This design according to the traditional model, in the whole project development process, according to the control system requirements to design principle diagram, PCB draw circuit diagram, circuit board production, components of welding and software programming, through the simulation of the system hardware and software debugging, will ultimately successful program to cure debugging in single chip microcomputer. This process is the main problem, application needs to finish in the hardware can debugging. This system is made of 89 C52 single chip computer, digital pipe display module, counting pulse generator, and mileage calculation module.目录绪论 (6)第1章计价器控制器的背景及方案的比较 (7)1.1 选题背景和意义 (7)1.2国内外研究现状、发展动态 (7)1.3研究的内容及可行性分析 (8)1.3.1研究的内容 (8)1.3.2可行性分析 (8)1.4系统整体的方案 (8)1.4.1 系统整体的方案选择 (8)1.4.2方案确定 (9)1.5 显示模块的方案 (9)1.5.1显示模块的方案选择 (9)1.5.2方案确定 (10)第2章出租车计价器的硬件构成 (11)2.1 硬件部分的原理图 (11)2.2硬件设计 (11)2.2.1 单片机模块 (11)2.2.2 AT89S52单片机及其引脚说明 (12)2.3脉冲发生器模块 (15)2.4显示模块 (15)第3章出租车几家系统的软件设计 (17)3.1 系统主程序设计 (17)3.2 里程计算的设计 (18)3.3 显示程序的设计 (18)第4章系统调试 (19)4.1 使用的仪器仪表和工具 (19)4.2 调试方法 (19)第5章致谢 (20)参考文献 (21)附录 (22)绪论随着出租车行业的发展,对出租车计费器的要求也越来越高。

基于单片机的出租车计价器设计--课程设计

基于单片机的出租车计价器设计--课程设计

出租车计价器摘要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

该系统由AT89S51单片机控制,满足计程、计时、计费、存储等多种计量功能为一体的出租车计价器的实用要求。

相比于普通的模拟电路控制,采用单片机进行的设计相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

针对计费模式的切换,通过软件编程就可以轻易而举的实现。

避免了机械开关带来的不稳定因素。

关键词:出租车计价器单片机控制目录第一章前言 (1)第二章设计要求 (2)2.1基本功能 (2)2.3扩展功能 (2)第三章系统的组成及工作原理 (3)3.1 系统的硬件构成及功能 (3)3.2 AT89S51单片机及其引脚说明 (4)第四章硬件电路方案设计 (7)4.1 方案比较与确定 (7)4.2 里程计算、计价单元的设计 (7)4.3 显示单元电路设计 (9)4.4键盘显示模块设计 (10)第5章系统的软件设计 (12)5.1 系统主程序设计 (12)5.2 定时中断服务程序 (14)5.3 显示服务程序 (14)5.4 键盘服务程序 (15)第6章系统调试与测试结果分析 .................................................. 仃6.1 使用的仪器仪表和工具 (17)6.2 调试的方法 (17)第7章结论 (18)参考文献 (19)附录......................................................... 错误!未定义书签。

附录1总体设计电路图.................................... 错误!未定义书签。

基于单片机的出租车计费器的毕业设计

基于单片机的出租车计费器的毕业设计

基于单片机的出租车计费器的毕业设计在现代社会中,出租车已经成为人们出行的重要交通工具之一、为了提高出租车计费的准确性和便捷性,本文将基于单片机来设计一个出租车计费器的毕业设计。

出租车计费器是指能够根据乘客的乘车时间和里程来计算出乘车费用的设备。

传统的出租车计费器通常采用机械式的结构,需要运营人员手动操作计费器的按钮来记录里程和时间,计算费用。

而基于单片机的出租车计费器可以实现更加准确和自动化的计费过程。

首先,本设计将采用单片机来记录乘车时间和里程。

通过设置两个红外传感器,一个用于检测车轮的转动次数从而计算里程,另一个用于检测乘客上车和下车的时间,用以计算乘车时间。

通过单片机的计算和储存功能,可以准确记录并保存乘车时间和里程。

其次,本设计将使用单片机来自动计算乘车费用。

根据不同地区或国家的计费标准,可以通过设置相应的计费算法来计算费用。

计费算法可以根据乘车时间和里程进行综合计算,还可以考虑到夜间加价和过路费等因素。

通过单片机的计算功能,可以更加快速和准确地计算出乘车费用。

同时,本设计还将使用单片机来显示乘车费用和其他相关信息。

通过连接LCD液晶显示屏,可以实时显示乘客的乘车费用,以及其他相关信息,如当前时间、里程数等。

这样可以方便乘客和司机随时查看乘车费用,避免争议和误解。

最后,本设计还将提供数据存储和查询功能。

通过连接存储器,可以将每次乘车的相关信息储存起来,包括乘车时间、里程、费用等。

这样可以方便运营人员进行统计和查询,了解每辆出租车的运营情况,并可以根据数据进行合理的调整和优化。

综上所述,基于单片机的出租车计费器可以大大提高计费的准确性和便捷性。

通过自动化的记录和计算功能,可以准确地计算出乘车费用,并通过LCD显示屏进行实时展示。

同时,还提供数据存储和查询功能,方便管理和优化运营。

这样设计的出租车计费器将有助于提高出租车行业的服务质量和运营效率。

单片机课程设计(999999显示与出租车计费器,包含汇编与C语言)

单片机课程设计(999999显示与出租车计费器,包含汇编与C语言)

湖南工业大学课程设计资料袋电气与信息工程学院(系、部)2012~2013 学年第 2 学期课程名称单片机系统课程设计指导教师职称学生姓名甘显豪专业班级自动化1004 学号10401701305题目出租车计费系统成绩起止日期2012 年12月31日~2013 年1 月11 日目录清单湖南工业大学课程设计任务书电气与信息工程学院(系、部)自动化专业1004 班级课程名称:单片机系统课程设计设计题目:出租车计费系统完成期限:自2012 年12月31日至2013 年 1 月11 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日附件三(单片机应用系统)设计说明书(题目)出租车计费系统起止日期:2012 年12 月31 日至2013 年 1 月11日学生姓名甘显豪班级自动化1004学号10401701305成绩指导教师(签字)电气与信息工程学院2012年12 月31 日一、设计任务:1.1 外部脉冲自动计数,自动显示。

1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示)。

1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m 刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元)二、设计原理及思路1.设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

设计原理:这个用汇编和C语言都比较简单。

首先我确定用的是T0(TMOD=0x06)定时计数器,用查询计数模式,工作方式2(8位,可自动重新装初值),总中断不用开,赋初值255,来一个脉冲直接溢出,只要判断溢出标志位TF0是否为1即可,TF0为1则说明溢出,然后再用指令清0就OK了,然后给数码管显示加1(当然这里要先判断是否加到了255,若>255就显示清0)。

单片机与嵌入式系统课程设计出租车计价器设计

单片机与嵌入式系统课程设计出租车计价器设计

华北电力大学《单片机原理与嵌入式系统》课程设计题目:基于51单片机的出租车计价器设计学院:控制与计算机工程学院专业:测控技术与仪器学号:学生姓名:指导教师:摘要随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。

于是,出租车行业以低价高质的服务给人们带来了出行的享受。

但是总存在着买卖纠纷困扰着行业的发展。

而在出租车行业中解决这一矛盾的最好方法就是改良计价器。

用更加精良的计价器来为乘客提供更加方便快捷的服务。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

本课设主要了解应用单片机的定时器/计数器,以及中断。

这是一个比较小的系统,故采用汇编语言来编辑。

汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。

关键字:出租车计价器电子线路51单片机目录1.出租车计价器的方案设计及实现1.1 设计方案及电路 (6)1.1.1 AT89C51单片机及最小系统 (6)1.1.2 振荡电路 (5)1.1.3 按键单元 (5)1.1.4 显示单元 (6)1.1.5 存储单元 (7)1.1.6里程测试单元 (8)1.3 系统总程序 (9)1.3.1系统总程序…………………………………………………1.3.2 行驶路程子程序 (9)1.3.3 等待时间子程序 (10)1.4主要电路图及工作原理 (12)2. 仿真结果分析 (13)3. 分析测试数据 (14)4.收获、体会、建议 (14)5.元器件清单 (15)5.1单片机主板BOM 清单 (15)5.2 显示部分器件 (17)6.主要参考文献资料 (27)附录 (19)1.出租车计价器的方案设计及实现出租车计价器是利用单片机计算总价并送显示端显示的智能仪器。

汇编语言计数器出租车计费课程设计

汇编语言计数器出租车计费课程设计

《单片机原理与应用》课程设计报告院系:湖南工业大学理学院专业(级):12电子科学(1)班*名:***学号:指导教师:职称:讲师完成日期:2014 年 12 月 12日目录1 引言 ------------------------------------------------------------------------------------------------------------------- 3 2设计任务与要求---------------------------------------------------------------------------------------------------------- 22.1 设计任务 ----------------------------------------------------------------------------------------------------------- 22.2 设计要求 ----------------------------------------------------------------------------------------------------------- 33 方案总体设计 -------------------------------------------------------------------------------------------------------------- 33.1 显示时间方案的选择-------------------------------------------------------------------------------------------- 43.2 总体设计 ---------------------------------------------------------------------------------- 错误!未定义书签。

单片机出租车计价器课程设计

单片机出租车计价器课程设计

嵌入式系统基础课程说明书设计题目:出租车计价器学院:太原理工大学现代科技学院班级:电子信息姓名:学号:一、设计题目:出租车计价器二、设计思路:如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。

在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。

我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。

三、设计任务●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。

●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。

●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。

●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。

四、里程计数器的原理(光电式)在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。

在隔光盘两侧分别装有与车体固定的光源和感光元件。

当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。

这就是对里程转换为计数值的基本原理。

其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。

在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。

五、LED显示电路对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。

显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。

六、计价器的●计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。

每公里元。

●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。

单片机课程设计出租车

单片机课程设计出租车

单片机课程设计出租车一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握其在出租车系统设计中的应用。

2. 使学生掌握出租车系统中的传感器数据采集、处理和显示方法。

3. 帮助学生了解出租车系统的基本功能,如计价、导航和紧急求助等。

技能目标:1. 培养学生运用单片机编程实现对出租车系统各功能模块的控制能力。

2. 提高学生运用相关软件(如Keil、Proteus等)进行单片机程序设计和仿真测试的能力。

3. 培养学生团队协作、沟通表达和解决问题的能力。

情感态度价值观目标:1. 培养学生对单片机技术应用于实际问题的兴趣,激发学习热情。

2. 培养学生严谨、细致的科学态度,注重实践操作的安全性和准确性。

3. 增强学生的社会责任感和创新意识,关注单片机技术在智能交通领域的应用。

课程性质:本课程为实践性较强的单片机应用课程,结合出租车系统设计,注重理论联系实际。

学生特点:学生具备一定的单片机基础知识和编程能力,对实际应用具有较强的兴趣。

教学要求:教师应注重启发式教学,引导学生主动探究,关注学生个体差异,鼓励团队合作,提高学生的实践操作能力和创新能力。

通过课程学习,使学生达到预定的学习成果,为后续相关课程和实际工作打下坚实基础。

二、教学内容1. 单片机基础回顾:C51语言编程、I/O口编程、中断系统、定时器/计数器应用等。

教材章节:第一章至第四章进度安排:2课时2. 出租车系统硬件设计:传感器选择、LCD显示、键盘输入、GPS模块等。

教材章节:第五章、第六章进度安排:4课时3. 出租车系统软件设计:程序框架设计、功能模块编程、系统调试等。

教材章节:第七章至第九章进度安排:6课时4. 出租车系统功能实现:计价器、导航、紧急求助等功能实现。

教材章节:第十章至第十二章进度安排:8课时5. 实践操作与仿真测试:使用Keil、Proteus等软件进行程序设计和仿真测试。

教材章节:第十三章进度安排:4课时6. 课程总结与展示:对所学内容进行总结,展示学生作品,交流经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南工业大学课程设计资料袋电气与信息工程学院(系、部) 2012~2013 学年第 2 学期课程名称单片机系统课程设计指导教师职称学生姓名专业班级自动化1004 学号题目出租车计费系统成绩起止日期 2012 年 12月31日~ 2013 年 1 月 11 日目录清单湖南工业大学课程设计任务书电气与信息工程学院(系、部)自动化专业 1004 班级课程名称:单片机系统课程设计设计题目:出租车计费系统完成期限:自 2012 年12月31日至2013 年 1 月 11 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日附件三(单片机应用系统)设计说明书(题目)出租车计费系统起止日期: 2012 年 12 月 31 日至 2013 年 1 月 11日学生姓名甘显豪班级自动化1004学号10401701305成绩指导教师(签字)电气与信息工程学院2012年 12 月31 日一、设计任务:1.1 外部脉冲自动计数,自动显示.1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示).1.1.2设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示).1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km。

要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元)二、设计原理及思路1.设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示).设计原理:这个用汇编和C语言都比较简单.首先我确定用地是T0(TMOD=0x06)定时计数器,用查询计数模式,工作方式2(8位,可自动重新装初值),总中断不用开,赋初值255,来一个脉冲直接溢出,只要判断溢出标志位TF0是否为1即可,TF0为1则说明溢出,然后再用指令清0就OK了,然后给数码管显示加1(当然这里要先判断是否加到了255,若>255就显示清0).因为我这里定义要显示地数temp,用unsigned char(无符号字符型),范围刚好是0到255,所以不用判断是否大于255也可以直接循环又从0开始计数.C语言流程图:NY2.设计一个999999计数器:0-999999计数,计满后自动清0,重新计数(在数码管中显示).这个用C语言和255一样地原理,只是定义要显示地数temp范围要大于999999,所以我这里直接定义unsigned long temp(范围为0到2地32次方减1),后面必须加多判断是否大于999999.C语言流程图:NY3.设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km。

要求每500m刷新计费一次,在8为数码管中,前3为显示数码管显示里程数,后3位数码管显示价钱(角,元,十元)原理:计数器每计数100个外部脉冲就产生中断,里程加1百M,大于两千M百位就和5和0比较,如果相等就调用价格计算子程序,价格加0.8元.然后返回中断,调用里程和价格显示.这个用C语言和上面两个差不多,也就多个价格显示,但是用汇编复杂点,改动价格起来麻烦点,很多运算必须经过中间缓冲单元才行.汇编流程图三、PROTEUS硬件电路图1.255计数器C语言流程图:2.9999993.出租车计费器(汇编)(1).(小于2KM与大于2KM),第一个按键是复位功能,右边地开关是暂停/继续功能(2).这个是进入第二个按键(设定价格)地功能,然后按第三或四个按键可以加减价格,从而设定价格起步价(时间有限,程序未全部完全),这个按键是我自己额外加地,想让它功能更完善,更人性化.以下这个是插入四个扫描独立键盘按键地程序小模块MAIN:LCALL DISPM 。

调用价格子程序LCALL DISPL 。

调用里程子程序。

LJMP MAINMOV A ,#0FFHMOV P1,AB1: MOV A,P1CJNE A,#0FFH,B3SJMP B1B3: LCALL DELAY10MSMOV A,P1CJNE A,#0FFH,B2SJMP B1B2:JNB ACC.0,TAB0JNB ACC.1,TAB1。

JNB ACC.2,TAB2。

JNB ACC.3,TAB3SJMP B1TAB0: LJMP OPR0TAB1: LJMP OPR1。

TAB2: LJMP OPR2。

TAB3: LJMP OPR3OPR0: LJMP START。

MOV P2,#0FH。

MOV SHIQIAN,#00H。

MOV QIANMI ,#00H。

MOV BAIMI,#00H。

MOV SHIYUAN,#00H。

MOV YUAN,#03H 。

低于2KM,价格显示3元。

MOV JIAO,#00H。

LCALL DELAY10MS。

MOV P0,#3FH。

MOV P2,#00HLJMP MAINOPR1: MOV YUAN,#00HMOV P2,#0EH。

LJMP MAIN…………………….(3)以下.这个是我在上面6位数码管中扩展地,在8位数码管中,前4位显示数码管显示里程数,后4位数码管显示价钱(这个其实也很简单,也就加多两个位选,判断下进位等就OK了)四.源程序1.255(C语言)#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar temp,bai,shi,ge。

//uchar是无符号字符型,范围为0到255uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。

//共阴极段码表void delay(uint z)。

void main(){temp=0。

TMOD=0x06。

//0000 0110 T0计数模式,工作方式2(8位,自动重装初值)TH0=255。

TL0=255。

//赋初值//EA=1。

用地是查询方式计数,不用开总中断//ET0=1。

TR0=1。

//开定时计数器T0P0=0x00。

temp=0。

//数码管初值while(1){if(TF0==1){temp=temp+1。

//加计数if(temp>255)temp=0。

TF0=0。

}bai=temp/100。

shi=temp%100/10。

ge=temp%10。

P2=0xf3。

P0=table[bai]。

delay(1)。

P0=0x00。

P2=0xf4。

P0=table[shi]。

delay(1)。

P0=0x00。

P2=0xf5。

P0=table[ge]。

delay(1)。

P0=0x00。

}}void delay(uint z) //延时zMS{uint x,y。

for(x=z。

x>0。

x--)for(y=110。

y>0。

y--)。

}1.255(汇编)ORG 0000HAJMP STARTORG 000BHAJMP TINT0ORG 0030HSTART: MOV TMOD,#06H 。

计数模式,工作方式2(自动重新赋值) MOV TH0,#00H 。

初值0MOV TL0,#00HSETB TR0SETB ET0SETB EALOOP: LCALL DISPSJMP LOOPTINT0:RETIDISP:MOV A,TL1MOV B,#64H 。

64H=100DIV AB 。

A为百位,商存放在A,余数存放在BMOV DPTR,#SEGTABMOVC A,@A+DPTRMOV P2,#03H 。

位选4 (Y4) ,百位数码管打开MOV P0,A 。

送百位数据ACALL DELAYMOV A,BMOV B,#0AH 。

0AH=10DIV AB 。

A为十位,B为个位MOVC A,@A+DPTRMOV P2,#04H 。

位选5 (Y5) ,十位数码管打开MOV P0,A 。

送十位数据ACALL DELAYMOV A,BMOVC A,@A+DPTRMOV P2,#05H 。

位选6(Y6) ,个位数码管打开MOV P0,A 。

送个位数据ACALL DELAYRETDELAY: MOV R5,#01H 。

延时1ms ,晶振6MHzLOOP1: MOV R6,#248DJNZ R6,$DJNZ R5,LOOP1RETSEGTAB: DB 3FH,06H,5BH,4FH,66H 。

0,1,2,3,4 ;共阴极LED 数码管地段码表DB 6DH,7DH,07H,7FH,6FH 。

5,6,7,8,9END2.999999(C语言),用共阴极数码管#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar bai,shi,ge,shiwan,qian,wan。

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。

//段码表void delay(uint z)。

unsigned long temp。

//定义要显示地数为无符号长整形(范围:0到2地32次方减1)void main(){TMOD=0x06。

//0000 0110 T0计数模式,工作方式2(8位,自动重装初值)TH0=255。

TL0=255。

//赋初值255,来一个脉冲直接溢出TR0=1。

//开定时计数器T1(用地是查询方式,总中断不用开)temp=0。

//数码管初值while(1) //一直在while里面循环{if(TF0==1){temp=temp+1。

//加计数if(temp>999999)temp=0。

TF0=0。

//溢出标志位TF0清0}shiwan=temp/100000 。

wan=temp%100000/10000 。

qian=temp%10000%10000/1000 。

bai=temp%10000%10000%1000/100。

shi=temp%10000%10000%1000%100/10。

ge=temp%10。

P2=0xf0。

//位选(十万位)P0=table[shiwan]。

//段选delay(1)。

//延时1MSP0=0x00。

//段选全关,消影,防止乱码P2=0xf1。

P0=table[wan]。

delay(1)。

P0=0x00。

P2=0xf2。

P0=table[qian]。

delay(1)。

相关文档
最新文档