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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

s08课程设计报告Word格式文档下载.docx

1、 周秋峰专业班级自动化1004学号201046820922题 目基于89C51的出租车计价器设计课题性质工程设计课题来源自拟指导教师臧海河主要内容(参数)利用89C51设计出租车计价系统,实现以下功能:1设置白天/晚上收费标准的转换开关,使白天和晚上这两种不同情况具有不同的收费标准。 2.设置数据的清零开关。3.具有等待红灯收费功能。4.设置显示液晶页面,使司机与顾客能够清楚的看到液晶所显示等待红灯时间以及路程、总金额和单价。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各

2、单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 阎石数字电路技术基础(第五版)北京:高等教育出版社,20063 康华光. 电子技术基础 模拟部分(第五版).北京;4 郭天祥. 新概念51单片机C语言教程-入门、提高、开发、拓展全攻略. 北京;电子工业出版社,2009审查意见系(教研室)主任签字: 年 月 日 1 引言出租车是现代城市内部主要交

3、通工具之一,它给我们的出行带来了方便与舒适。一个好的出租车计价器在整个出租车系统中是不可或缺的,他让我们的出行费用,车辆行驶距离有了明确的体现,让司机与乘客的利益的到平衡,让出租车市场更加规范。如今的出租车计价器五花八样,功能各异,但主要功能都基本相同,以行驶距离为标准计价,有些加上的等待计价,有些更智能,可以为乘客提供拼车计价,本设计提供了基本的一距离为主要标准计价,附加等待红灯计价。介于出租车计价器不需要太多的功能,而单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能

4、还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。以8051为内核AT89S52单片机足可以实现计价功能,以1602液晶显示信息。AT89S52单片机价格便宜,工作稳定,性能良好,易学易用,操作使用方便,ISP写入程序,方便快捷。8051系列单片机也是我们课程所学的主要单片机,更利于我们学习实践。而如今较为流行的AVR单片机和以cortex为内核的单片机比较流行,但他们的价格相对于AT89S52较贵,功能较多,控制复杂,程序编写较难,且大多为LQFP封装,不利于我们实验练习,而使用51系列单片机足

5、矣完成出租车计价功能,是比较理想的选择。2 总体方案设计2.1硬件组成整个系统硬件有控制器,距离检测系统,速度检测系统,信号处理模块,人机交换界面组成:(1)控制器。作为控制系统的核心,它在整个系统中接受由光电码盘传来的数据,经过内部处理,按照事先约定将数据传到显示部分。(2)距离速度检测系统。它由传感器实现,由机械机构连接传感器,再由传感器输出信号,输入控制器。(3)信号处理模块,有传感器输入的信号进行处理,处理后的信号为可以直接输入控制器的信号。(4)人机交互界面;需要一个显示器显示控制器输出的信息,显示出租车行驶的距离,等待时间,定价和最后总价。硬件方框图如图2.1所示。图2.1 硬件方

6、框图2.2 方案论证(1)控制器控制器的选择是确定整个系统硬件方案的关键,它关系到其它几个部分方案的确定,对于出租车计价器,控制器一般使用MCU,MCU有许多种,可选的单片机有以下几种:8051系列单片机。8051单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。2AVR单片机。AVR单片机是1997年由ATMEL公司研发出的增强

7、型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。AVR单片机功能较完善,自带A/D转换。但开发编程使用相比于8051系列有些复杂。需要一定的学习。3Cortex系列单片机。ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服

8、务。 Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构。ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。 由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。但Cortex系列单片机开发复杂,需要深入学习,当然其功能也强大,不过价格也相对8051贵一些。出租车计价器作为一种简单的设备,本身价值不高,更要求控制系统具有较好的性价比,控制系统部需要有强大

9、的控制能力,而且要考虑安装方便,计价器体积受限,经上述分析比较,确定采用8051系列MCU作为控制器。(2)速度里程传感器传感器可选择的较多,有模拟信号输出的,有数字信号输出的,由于模拟信号输出的传感器需要信号放大和A/D转换模块,信号放大比较难调,信号容易失真,而A/D转换模块需要另外添加,有些单片机不具有A/D转换功能,且增加模块会增加整个产品的成本,对于简单低成本的出租车计价器是很不适合的。为了简单实用,可采用数字信号输出的传感器,由于大量数据传入单片机会增加处理器负担,可采用产生脉冲的传感器,例如霍尔传感器,光电码盘等等。这类长安器相对来说价格便宜,性能稳定,简单实用,传感器产生的脉冲

10、可直接输入单片机,也可整形后输入单片机,防止数据丢失,也可实用达林顿管和光耦等元件对信号做进一步处理。 (3)信号处理模块传感器输出的脉冲信号可以整形放大后输入单片机,但单片机可以直接处理脉冲信号,即使脉冲有些不稳定,脉冲强度有些变化,也可以直接处理,单片机只是查脉冲的数目和一定时间内脉冲的数目,脉冲的强度变化只要在可处理范围之内是没有问题的,经试验证实,传感器输出的信号时比较稳定的,示波器显示波形很好,脉冲丢失比较少,而单片机能够完美的处理这些脉冲,几乎没有出错。(4)人机交互界面人机交互界面主要有以下几种形式: CRT显示器及标准键盘:显示信息量大,操作方便,显示界面友好,但价格高,适用于

11、采用工控机作控制器的场合。 工业人机界面(触摸屏):和CRT显示器一样,具有显示信息量大,操作方便,显示界面友好,适合恶劣的工业环境使用等特点,但价格更高,一般与PLC配套使用。 LED或LCD数码显示器及自行设计的小键盘:价格低廉、体积小是其最大优点,应用于以MCU为控制器的系统中较合适。考虑价格及系统构成等因素,人机交互界面采用LCD显示和薄码开关选择一些单片机需要处理的一些状态。2.3 总体方案按照上述方案论证的结果,出租车计价器的总体方案框图如图2.2所示。图2.2中,传感器输出的脉冲信号直接连接单片机的外部中断引脚,该脉冲信号输入到MCU后。MCU对输入的一定频率的脉冲信号进行处理,

12、经运算后得到数据,送LCD显示器显示,输出数据供司机和乘客浏览。图2.3 总体方案框图拨码开关可选择白天模式和晚上模式,也可选择是否等红灯收费。3 硬件电路设计3.1 单片机及其外围电路微控制器采用AT89S52单片机。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用.AT89S

13、52的内部资源主要包括:1、与MCS-51单片机产品兼容;2、8K字节在系统可编程Flash存储器; 3、1000次擦写周期;4、全静态操作:0Hz-33MHz;5、三级加密程序存储器;6、32个可编程I/O口线;7、三个16位定时器/计数器;8、六个中断源;9、全双工UART串行通道;10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电标识符 。 AT89S52的外围电路主要包括时钟电路、复位电路。如图3.1所示。图3.1 AT89S52的接口电路3.2 光电传感器与信号调理电路光码盘即光栅码盘,在上面刻有许多同心码道,每个码道上都有按一定规律

14、排列的透光和不透光部分。本系统光码盘采用如今比较流行的金属光码盘,如图3.2.1所示。图3.2.1 光码盘实物工作原理如图3.2.2所示图3.2.2 光码盘工作原理工作时,车轮转动通过机械机构连接到管吗盘上,光投射在码盘上,码盘随运动物体一起旋转,透过亮区的光经过狭缝后由光敏元件接受,光敏元件的排列与码道一一对应,对于亮区和暗区的光敏元件输出的信号,前者为“1”,后者为“0”,当码盘旋转在不同位置时,光敏元件输出信号的组合反映出一定规律的数字量,代表了码盘轴的角位移。本系统光码盘有两种输出,一种是每个脉冲输出一个脉冲,另一种是每转一圈输出一个脉冲,为了信号稳定和减少单片机处理数据的负担,使用每

15、圈输出一个脉冲,经测试,精度以足够使用。3.3 显示及键盘接口电路(1)显示器接口电路出租车计价器运行过程中需要显示的信息包括:价格设定,等待时间显示,行驶距离显示,最终价格显示。由于显示的都可以用字符显示,可用液晶1602显示,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显

16、示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602采用标准的16脚接口,其中:第1脚:VSS为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)

17、时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。编辑本段1602LCD的特性+3.3V电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有80字节显示数据存储器DDRAM 内建有192个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM。1602LCD特征及应用微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。由此按照图3.3.1连接图3.3.1 1602液晶接口160

18、2液晶数据口接单片机I/O口P2口,RS接P07,RW接P06,E接P05,其它接口如图所示,VL接口可调节液晶对比度。(2)键盘接口电路本系统没有使用复杂按键,只用了两位简单的拨码开关一位选择白天模式还是夜间模式,另一位选择是否启动红灯等待功能。3.4 电源电路 电源直接由+5V输入即可,只需要一种电源,简单易得,车载充电器即可实现+5V电源,无需另加电源模块。4 系统软件设计系统软件分为主程序、中断服务程序和子程序三部分。4.1 主程序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。本系统上电或复位时,根据两个拨码开关状态可分为两种模式,

19、每种模式两种状态,图4.1 主程序流程图系统上电后,单片机CPU自动查询拨码开关,若选择白天模式是,实行白天计费标准,若选择夜间模式是时,进入夜间计费标准,程序执行过程中会查询拨码开关是否开启红灯等待计费功能,如果是,则执行红灯等待计费程序,然后执行总计价程序,如果否,则不执行红灯等待计费程序,直接执行总计价程序,得出最终价格。按照上述分析,主程序流程图如图4.1所示。4.2 中断服务程序设计从主程序的设计可以知道:定时器T0定义为方式1外部计数方式,用于产生5ms的时钟周期,在主程序中累加1000次产生5s的时间,每隔5s执行程序计算出租车行驶距离,判断是否为等红灯。外部中断0为接受光码盘传

20、感器传来的脉冲信号,每来一个脉冲产生一个中断,计数加一,由此查看计数的数值就可以指导出租车行驶的距离。外部中断流程图如图4.2.1所示。图4.2.1 外部中断服务程序流程图T0定时器中断流程图如图4.2.2所示。图4.2.2 T0定时器中断服务程序流程图在执行外部中断时会暂停定时器中断,虽然会有微小误差,但可避免计数出错。4.3 部分主要子程序的设计系统主要子程序包括距离显示子程序、金额显示子程序,等待时间显示子程序等。(1) 距离显示字程序距离显示子程序是输入一个浮点型数据,将数据拆开为千位,百位,十位,个位,小数点,十分位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。

21、(2) 金额显示子程序金额显示子程序是输入一个浮点型数据,将数据拆开为千位,百位,十位,个位,小数点,十分位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。当不足2公里时显示起步价,当超过3公里时,按照计算公式显示,计算公式为:总价=起步价+0.1*每公里单价*(行驶距离-3000)/100+1)。(3) 等待时间显示子程序等待时间显示子程序是输入一个整型数据,将数据拆开为千位,百位,十位,个位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。总程序流程图如图4.2.3所示。图4.2.3 总流程图5 系统调试与总结系统研制完成后,在实验室进行了系统功能测试

22、和技术指标测试。测试结果符合系统技术指标规定。5.1 系统调试1.白天夜间模式选择调试当拨码开关选择白天模式时,即P11为1时,即为白天模式,起步价显示为08 Y(元),初始价显示为08+1.5*S Y(元),如图5.1.1.1。当拨码开关选择夜间模式时,即为P11为0,即为夜间模式,起步价显示为10 Y,初始价显示为10+1.5*S Y,如图5.1.1.2.图5.1.1.1 白天模式选择显示图5.1.1.2 夜间模式选择显示2.是否开启红灯等待功能调试 当拨码开关选择开启红灯等待计费功能时,即P10为0时,等待红灯时会计费,当没有脉冲输入时,即为等待红灯,当一开始就没有脉冲输入时,只按等待时

23、间计费,而不按行程计费。计费图如图5.1.2.图5.1.2 等待红灯计费显示3.行程计费当行驶距离小于3000米时,只收起步价,如图5.1.3.1。当行驶距离大于3000米时,按计算公式是收费,如图5.1.3.2图5.1.3.1 只收起步价图5.1.3.2 按计算公式收费5.2 总结MCU具有体积小、重量轻、价格低廉的特点,应用于自动控制系统中可以有效降低系统的成本。针对不同工业现场的情况,采取相应的抗干扰措施,可以在环境恶劣的工业现场可靠地运行。数据采集用光码盘,具有转换精度高、抗工频干扰能力强、易于实现光电隔离以及价格低廉等特点,显示采用1602液晶显示,实用简单,操作方便,显示清晰明了。

24、合理确定外围元件的参数是保证数据采集精度的关键。拨码开关可自由选择模式和状态,使用方便灵活。参考文献附录A 系统原理图附录B 源程序#include #define uchar unsigned char #define uint unsigned intsbit rs=P07;/数据命令选择sbit lcden=P05;/lcd使能sbit rw=P06;/lcd读写控制sbit day=P11;/白天夜晚选择sbit deng=P10;/是否开启红灯等待计费/sbit v4=P00;/调试时产生速度uchar day_price=8,night_price=10,i;float danji

25、a=1.5;uint n=0,k=0,stopnum=0;unsigned long int temp=0;uchar code tabled= s 08+1.5*S Y;uchar code tablen= s 10+1.5*S Yuchar code tabledp=000.0km 0008.0 Yuchar code tablenp=000.0km 0010.0 Yvoid delay(uint z)/延时函数 uint x,y; for(x=z;x0;x-) for(y=110;yy-);void write_com(uchar com)/写液晶命令函数 rs=0; lcden=0;

26、P2=com; delay(3); lcden=1;void write_date(uchar date)/写液晶数据函数 rs=1; P2=date;void write_km(unsigned long int date)/第一行写距离,写5占7 uchar bai,shi,ge,shifen; shifen=(int)(date/100)%10; ge=date/1000%10; if(date=10000) shi=date/10000%10; if(date=100000) bai=date/100000%10; else bai=0; else shi=0; write_com(0

27、x80); write_date(0x30+bai); write_date(0x30+shi); write_date(0x30+ge); write_date(.); write_date(0x30+shifen);void write_stoptime(int num) /写等待时间 char qian,bai,shi,ge; int time; time=num*5; ge=time%10; shi=time/10%10; bai=time/100%10; qian=time/1000%10; write_com(0x80+0x40); write_date(0x30+qian);void write_price(float date)/第一行显示价格,10开始,写6占7满 char qian,bai,shi,yuan,jiao; jiao=(int)(date*10)%10; yuan=(int)date%10; shi=(int)(date/10)%10; bai=(int)(date/100)%10; qian=(int)(date/1000)%10; write_com(0x80+8); write_date(0x30+yuan); write_dat

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

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