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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于单片机控制的汽车计价器c语言编写.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机控制的汽车计价器c语言编写.docx

1、基于单片机控制的汽车计价器c语言编写题 目:基于单片机控制的汽车计价器(c语言编写)时间:2010-12-30 学 号 专 业: 班 级: 指导教师: 摘要智能仪器仪表技术是一门集电子技术、单片机技术,自动化仪表、自动控制技术、计算机应用等一体的跨学科的专业技术。自20世纪90年代初以来,这项技术已逐步引入到国内工科专业中的电子信息、通讯、自动化、计算机应用等信息类专业中。随着微电子技术和计算机技术的飞速发展,测控仪器仪表的智能化、总线化、网络化发展已在各个相关行业呈现出广阔的发展前景,同时也日益成为工程界和科技界人士所关注的重要问题之一。因此,了解和熟悉智能仪器仪表的特点功能,发展趋向及其应

2、用前景是十分重要和必要的。出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切

3、换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。关键字:单片机;出租车计价器;智能仪器;控制目录第一章 前言 4第二章 总体设计方案 52.1 功能要求 52.2 方案选择 52.2.1 数字电路控制 52.2.2 单片机控制 6第三章 硬件设计 73.1 AT89S52 结构及其功能介绍 73.1.1 AT89S52 结构 73.1.2 功能特性描述 73.2 LED硬件介绍 113.2.1 LED 功能介绍 113.2.2 LED 与单片机接口电路 133.3 整体电路设计图 15第四章 软件设计 164.1 主程序设计 164.2 子程序模块设计 174.2.1 键

4、盘扫描程序设计 174.2.2 显示子程序 184.2.3 计算子程序 194.2.4 中断子程序 20第五章 总结 21参考文献 22附录A 硬件原理图 23附录B 源程序 24第一章 前言步入21世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。30年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。

5、随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如4KM)计费数字显示开始从起步价(如6元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地

6、,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。第二章 总体设计方案 2.1 功能要求 利用单片机的软件编写功能,实现够累计显示总里程数,设定和修改每公里单价起价(如6元),并设定某公里数(如4公里)以后,开始计价。可以显示总价钱和总公里数的切换可以暂停计价或清零。再突然掉电后从新开机可以保存掉电

7、以前的数据以保证数据完整。 2.2 方案选择 2.2.1 数字电路控制选择数字电路控制系统,其原理方框图如图21所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,故障率高,难调试,而且电路不够实用。所以不选择这种方案。图21 数字电路方案 2.2.2 单片机控制 充分利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能,途中等待等不同功能。通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。第三章 硬件设计

8、 3.1 AT89S52 结构及其功能介绍 3.1.1 AT89S52 结构 与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz、三级加密程序存储器 、32个可编程I/O口线、三个16位定时器/计数器八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。 3.1 AT89S52引脚图 3.1.2 功能特性描述At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工

9、业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口

10、、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口

11、,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 :P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO

12、(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8

13、位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据

14、存储器读选通) AT89C52 P3口的第二功能在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允

15、许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时

16、,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 3.2 LED硬件介绍 3.2.1 LED 功能介绍LED 是取自 Light Emitting Diode 三个字的缩写,中文译

17、为“发光二极管”,顾名思义:发光二极管是一种可以将电能转化为光能的电子器件,具有二极管的特性,基本结构为一块电致发光的半导体芯片,封装在环氧树脂中,通过针脚支架作为正负电极并起到支撑作用。LED的核心部分是由P型半导体和N型半导体组成的芯片。LED就是由电子材料,封装材料,辅助材料联结而成的一个发光的闭路电子元件。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结

18、”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。 它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。由于具有容易控制、低压直流驱动、组合后色彩表现丰富、使用寿命长等优点,广泛应用于城市各工程中、大屏幕显示系统。LED可以作为显示屏,在计算机控制下,显示色彩变化万千的视频和图片。 LED是一种电流发光器件,有电流流过它,就发光,无电流流过它,则不发光,流过其中电流大小决定了其发光强度。

19、发光二极管发光材料的不同,决定了其流过电流后的发光颜色和强度,现已批量生产的有红、绿、兰、黄四种发光二极管。每种颜色LED按其亮度又分为普亮、高亮和超高度三种。红、绿、兰为三基色,由此三种颜色可调出自然界中任意颜色。LED电气特征:1、LED工作电压一般在2-3.6V之间。2、LED的工作电流会随着供应电压的变化及环境温度的变化而产生较大的波动,所以LED一般要求工作在恒流驱动状态。3、LED具有单向道通的特性。LED优点:1) 光效率高:光谱几乎全部集中于可见光频率,效率可以达到 50%以上。而光效差不多 的白炽灯可见光效率仅为 10%-20%。 2) 光线质量高:由于光谱中没有紫外线和红外

20、线,故没有热量,没有辐射,属于典型的绿 色照明光源。 3) 能耗小:单体功率一般在 0.05-1w,通过集群方式可以量体裁衣地满足不同的需要,浪 费很少。以其作为光源,在同样亮度下耗电量仅为普通白炽灯的 1/8-10。 4) 寿命长:光通量衰减到 70%的标准寿命是 10 万小时。一个半导体灯正常情况下可以使用50年,即使长命百岁的人,一生最多也就用2只灯。5) 可靠耐用:没有钨丝、玻壳等容易损坏的部件,非正常报废率很小,维护费用 极为低廉。 6) 应用灵活:体积小,可以平面封装,易开发成轻薄短小的产品,做成点、线、面各种形 式的具体应用产品。7) 安全:单位工作电压大致在 1.5-5v 之间

21、。 图3.1 LED和LCD的显示板图3.2 LED动、静态显示 3.2.2 LED 与单片机接口电路LED与单片机的接口电路: 3.3 整体电路设计图第四章 软件设计本系统的软件设计主要可分为主程序模块、里程计数中断服务程序、金额计算子程序,显示子程序、键盘扫描子程序五大模块。在主程序中对各子程序模块按照相应的条件进行调用即可实现基本的功能要求。下面对各部分模块作介绍。 4.1 主程序设计 主程序中通过循环判断是否等待计价和车轮计数进行总体计价的实现。在等计价中,调用等待计价子程序,每4秒调用计数子程序对计数器加1,在车轮计数中,车轮每转过1周调用计数子程序对计数器加1。通过计数器中的累加值

22、,判断数值并调用显示。4.1 主程序流程图 4.2 子程序模块设计 4.2.1 键盘扫描程序设计键盘扫描子程序不断对S0,S1,S2,S3四个键扫描。当S0按下时,进行复位动作;S3按一下显示单价,此时按下S1单价加,按下S2单价减;S3按两下显示起步价,此时此时按下S1起步价加,按下S2起步价减;S3按三下显示车轮半径,此时此时按下S1半径加,按下S2半径减;再按一下S3,又回到里程和总金额的显示。程序流程图如图4.2.1所示。 4.2.1 键盘扫描程序流程图 4.2.2 显示子程序它包括对所显示数据的显示位置的确定及要显示数据的处理;此模块一直被执行,以便对要显示的数据不断地更新。 4.2

23、.2 显示子程序流程图 4.2.3 计算子程序将根据当前所行里程是否大于3公里来计算总金额。如果当前里程小于3公里,总金额等于起步价;如果当前里程大于3公里,总金额就等于起步价再加上单价乘以3公里以外的里程数。 4.2.3 计算子程序流程图 4.2.4 中断子程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,圈数计数器对里程脉冲计一次时,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数的累加操作,并将结果存入里程寄存器中。 4.2.4 中断子程序流程图第五章 总结 漫长而短暂的几周课程设计终于落下帷幕,说是漫长是因为本次课程设计是我们在大学以来历时最长,设计内容最多的

24、一次。我们从选定题目,在老师的帮助下分析题目,又通过网络、图书馆以及同学们的互相沟通以及老师的讲解各种手段获取中间所需的知识,先不说我们从中得到的知识是不能用数字所描述的,就这种共同钻研一起想办法获取知识的过程就是我们一生中重要的历练。我们在设计中得到知识,也看到自己的渺小,越是到后来越是觉得自己知道还是冰山一角,这仅仅是一个不能通入生产概念上的小产品却弄的我们焦头烂额。现在正是我们找工作马上步入社会的关键时候,但是面对一个简单的单片机应用程序我们感到的是无助,我们感觉自己的知识储备还是远远的不够,在学校和这个课程设计的时间也是远远的不够用的,所以说这个课程设计又是短暂的。 在几周的设计中我们

25、加深了对单片机应用以及C51语言的学习和熟悉,但这也仅仅是一方面,我们了解了行业对产品的要求,不仅仅是实现更多的功能体现强大的作用就可以,要使一个单片机投入生产变成人们接受的产品需要功能与成本相结合,体现产品的便捷、安全、经济、实用是一个成熟产品的必要条件。 几周中老师不仅仅对我们这个简单的课题进行讲解,还结合自己的经历对行业的发展与现今行业内对我们的要求进行了推心置腹的交谈。 几周中我们获得的经验不仅是对我们下学期毕业设计的一个预热,他对我们这一生也是一个重要的一页。感谢老师以及所有在设计中对我教导、帮助、批评的所有人。我想有了这次经历,我面对以后的生活学习一定会用最好的方法勇敢面对。 参考

26、文献1张友德 赵志英 涂时亮 编 单片微型机原理、应用与实验 上海:复旦大学出版社2005.12 全书2江太辉MCS51系列单片机原理与应用.广州:华南理工出版社,20043周航慈单片机程序设计基础.北京:北京航空航天大学出版社,20034李道华传感器电路分析与设计.武汉:武汉大学出版社,20035沙占友智能化集成温度传感器原理与应用.北京机械工业出版社,20026 高云华, 刘保彬, Proteus仿真软件在单片机教学中的应用J. 中国科技信息,2010,(01) :199-2007 杨继生,刘芬, 霍尔传感器A44E在车轮测速中的应用研究J. 电子测量技术,2009,(10) .8 宋庆军

27、,智能车速里程表的单片机实现J. 机电产品开发与创新,2006,(04).9 路国庆,脉冲检测方法的霍尔传感器在里程表中的应用J,机械设计与制造2009,(01).10 冯建勤,新型车速里程表与出租车计价器检定系统的研制J,郑州轻工业学院学报(自然科学版) ,2009,(05).11浅谈智能仪器及其发展趋势 王平 硅谷2010年4期 12 王迎旭 . 单片机原理与应用J.北京.机械工业出版社.20042.7 13 徐科军 . 自动检测和仪表中的共性技术J.清华大学出版.2002 附录A 硬件原理图 附录B 源程序#include #define uint unsigned int#define

28、 uchar unsigned charsbit DAT=P10; sbit CLK=P11;sbit K1=P14; /清零sbit K2=P15; /+sbit K3=P16; /-sbit K4=P17; / 功能键 uint qs,licheng_,zongjine_,danjia_,aa; /用来显float licheng, danjia,zongjine, qibu;uchar code tab= 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x00;/0-9,-,全灭 (共阳字段表)uchar code tab_

29、 = 0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7,0xef,0x01;void delay(uint t) uint i,j; for(i=0;it;i+) for(j=0;j110;j+);void sendbyte(uchar byte) uchar num,c; num=tabbyte; for(c=0;c=1; void sendbyte_(uchar byte) uchar num,c; num=tab_byte; for(c=0;c=1; void display_licheng(void) unsigned char i,t

30、4; licheng_=licheng*10; t0=licheng_/1000%10; t1=licheng_/100%10; t2=licheng_/10%10; t3=licheng_%10; for(i=0;i4;i+) if(i=2) sendbyte_(ti); else sendbyte(ti); delay(100);void display_zongjine(void) unsigned char i,t4; zongjine_=zongjine*10; t0=zongjine_/1000%10; t1=zongjine_/100%10; t2=zongjine_/10%10; t3=zongjine_%10; for(i=0;i4;i+) if(i=2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1