ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:521.74KB ,
资源ID:6904532      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6904532.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(出租车计价器设计资料文档格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

出租车计价器设计资料文档格式.docx

1、参考文献 14附1:源程序代码 15附2:系统原理图 231.1 引言单片机课程设计是单片机技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。出租车保证乘客快速、轻松地到达目的地,已经成为城市交通的重要组成部分。从加强行业管理以及减少司机与乘客纠纷的角度考虑,一台性能良好的计价器是很有必要的。采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件较多,故障率较高,因此在实现上有一定的困难。而采用单片机作为核心的设计,相对来说容易实现并且功能强大。要将出租车计价计价系统产品化,应该根据客户不同的需求进行不同的设计,以便根据实际情况改变计

2、价模式。1.2 功能要求(宋体、小四,固定值22磅。以下相同要求)1.3 设计目的与意义汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的。2.1 系统原理出租车计价器的计价结果是乘客的乘坐方式与行驶路程共同决定的。例如单程乘坐与往返乘坐的价格是不同的,这可在软件上设置不同的参数实现。而行驶路程可通过出租车的车轮周长与一段时间内的车轮旋转圈数相乘得出。现利用电机的转片的旋转来模拟车轮的转动,霍尔传感器可感应出附着小磁

3、铁的旋转圈数并将该信号传至STC89C52单片机中处理后便可计算出当前的行驶路与速度(低于5KM/H)时进入等待模式。键盘通过扫描方式实现计价模式切换、暂停/启动、显示模式切换等功能。作品主要由四部分构成,分别是主控模块、数据采集模块、显示模块和按键模块。图12.2 单片机介绍课程设计中采用的主控芯片STC89C52型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。图2(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可以擦写,故可重复使用。如果更改程序内容,可

4、将芯片拿下重新烧写。(3)该单片机与工业标准的MCS51型机的指令集和输出引脚兼容。2.3 最小系统本系统主要由STC89C52单片机,振荡电路,复位电路等组成,作为核心来控制整个系统的正常运作。图32.4 数据采集模块霍尔传感器以霍尔效应为工作机理,作为一种磁感应传感器,可灵敏地检测到磁场及其变化,因而经常在与磁场有关的场合用到它。霍尔传感器有着众多优点,如结构牢固、重量轻、体积小、寿命长、功耗小、频率高、耐震动、安装方便、不易腐蚀等。数据采集模块便是将霍尔传感器的集成电路安装在车轮上方的铁板上,将磁铁安装在车轮上,旋转的车轮将磁铁对准集成电路时,霍尔传感器会输出一个脉冲信号,送至单片机,经

5、过单片机的计算处理,将行驶路程送到显示模块显示出来。其原理示意图如图所示。霍尔传感器图42.5 显示模块本设计显示模块使用的是四位八段共阴极数码管图52.6 按键模块本设计采用2*3按键组,共6个按键。其功能分别为:Key1:清零键Key2:程切换显示等待时间和里程Key3:往返计费方式Key4:暂停键Key5:切换显示金额与里程其原理图如图所示:图63.1 总体流程 系统的流程图如图所示图73.2 数据计算部分计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:总金额=起步价+等待时间*等待单价。对

6、于里程数采用外部中断零来记录,车轮没转一周,霍尔传感器发一个脉冲然后进入中断子程序,对相应的变量进行更新。子程序如下:void jisuan() distance=round/10+wait_ten_ms/3000; /车轮转57圈为100m,等待时间30s为100m if(distance30) cost=price*(distance-30)/10+50; wait=minute*100+second; 3.3 键盘扫描部分键盘扫描才用查询方式,当有按键按下时就对相应的标志进行取反,或调用其他子函数,在消抖过程中,这里将数码管显示程序潜入以保证显示的稳定。void keyscan() H1

7、=0; H2=1; if(L1=0) delay(5); key0=0;initial_data();key0=1; if(L2=0) if( L2=0 )key1=0; key1_flag=!key1_flag; key1=1; if(L3=0) delay(5); key2=0;key2_flag=!key2_flag;key2=1; H1=1; H2=0; key3=0; zanting(); key3=1; key4_flag=!key4_flag;led1=! / 指示,单程还是往返,灯低电平点亮; 往返亮; led2=key3_flag; / 指示,暂停时亮; led3=flag;

8、 / 指示是否等待; led4=key1_flag; /切换指示,显示路程还是等待时间; led6=key4_flag; /切换指示,熄灭代表金额 delay1(); 3.4 显示部分显示程序利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。本设计采用两个四个一组的八位数码管来显示,一组显示金额,另一组显示路程与等待时间配合按键来切换。数据端都用单片机P1口,片选端分别接在P2口的高四位和低四位。void led_show() /-显示路程或者等待时间- if(!key4_flag) if(key1_flag) fenli(distance); else f

9、enli(wait); P0=0xf7; P1=dulgewei; delay1(); P0=0xfb; if(key1_flag) P1=dulshiwei|0x80; /如果是路程,点亮小数点儿 P1=dulshiwei; /如果是时间,不需要点亮小数点儿 P0=0xfd; if(key1_flag) P1=dulbaiwei; else P1=dulbaiwei|0x80; P0=0xfe; P1=dulqianwei; P0=0xff; /-显示价格- if(key4_flag ) fenli(cost); P0=0xfd; P1=dulbaiwei; P0=0xfe; 4 Prote

10、us软件仿真4.1 Proteus软件介绍Proteus软件是来自英国Labcenter electronics公司的EDA工具软件 它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。4.2 调试与测试利用软

11、件画出整体电路图如下图所示。通过调试,我们很好地实现了对整个系统的模拟,同时,我们做了一些测试,来检验本设计的精确程度。假定乘客的乘车方式为单程,没有等待时间,则理论与实际的乘车费用对比如下表所示。2KM4KM6KM8KM10KM理论(元)57111519实际(元)设置乘车方式为双程时,没有等待时间,理论与实际乘车费用对比如下表所示。6.59.512.515.5下面设置乘车方式为单程,假设汽车行驶5KM后进入等待,之后的理论与实际乘车费用之比如下表所示。3Min5Min7Min9Min910.2经过以上三个表的对比,可以看出,本设计准确可靠,很好地实现了实验的功能要求。5 课程设计体会作为电气

12、工程及其自动化专业的大三学生,我们觉得做单片机课程设计是十分有必要的。在已度过的大学时间里,我们大部分是仅仅学习了专业课的理论知识,但实践能力却没有什么提高。如何把专业课理论知识运用到实践中去呢?课程设计为我们提供了良好的实践平台。在做本次课程设计的过程中,为了让设计完善,我们查阅了大量的已有设计资料了。我们发现,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路。在设计课程过程中遇到问题是很正常的,但我

13、们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们在小组中互相讨论,交流经验,遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大,这也激发了我今后努力学习的兴趣,我想这将对我们以后的学习产生积极的影响!参考文献1.

14、何希才,传感器及其应用电路,北京,电子工业出版社2.邱关源,电路,北京,高等教育出版社3.孙余凯,传感器应用电路300例,北京,电子工业出版社4.余发山、王福忠,单片机原理及应用系统,徐州。中国矿大出版社附1 源程序代码#include #define uchar unsigned char #define uint unsigned int uchar qianwei,baiwei,shiwei,gewei; unsigned char code dul10 = 0x3f,0x06,0x5b,0x4f, /03 0x66,0x6d,0x7d,0x07, /47 0x7f,0x6f ; /段码

15、表示0-9 uint tt,aa,round,distance,cost,price,wait; /定义路程、价钱、等待时间及一些全局的变量等; uchar dengdai,second,minute; unsigned long wait_ten_ms; /记录等待时间多少个10ms/按键的定义,所有按键按下去为低电平sbit key0=P24; /清零sbit key1=P25; /切换路程与等待时间sbit key2=P26; /单程还是往返设置sbit key3=P34; /暂停按钮sbit key4=P24;sbit led1=P20; / 双程 sbit led2=P21; / 暂

16、停sbit led3=P22; / 堵车sbit led4=P23;sbit led6=P25; / 切换sbit w1=P00;sbit w2=P01;sbit w3=P02;sbit w4=P03;sbit L1=P05;sbit L2=P06;sbit L3=P07;sbit H1=P36;sbit H2=P37;bit key1_flag; /由于按键会自动复位,这个为标志位bit key2_flag;bit key3_flag;bit key4_flag;bit flag; /初始化函数void initial_data(void) P2=0XFF; P0=0XFF; distanc

17、e=0; cost=0; second=0; minute=0; wait_ten_ms=0; key1_flag=1; key2_flag=0; /单程or往返,接指示灯; key3_flag=1; /暂停,接指示灯; key4_flag=0; flag=0; round=0; dengdai=0; led1=1; /双程指示 led2=1; /暂停指示 led3=1; /堵车指示 led4=1; / 等待时间切换标志 /暂停程序void zanting(void) if(key3_flag) EX0=1; /关闭中断和定时器 TR0=1; else EX0=0; TR0=0; key3_flag=!key3_flag;/计算数据处理 /显示的辅助程序,分离一个数的各个数字 void fenli(uint temp) /数据的分离处理 if(temp9999) temp=9999; qianwei=temp/1000; baiwei=temp/100%10; shiwei=temp%100/10; gewei=temp%10;/延时约1ms,数码管显示时使用void delay1(void) uint i; for(i=0;i0;i-) for(j=340;jj-); /键盘的扫描 void keyscan() led2

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2