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

上传人:b****6 文档编号:17964875 上传时间:2022-12-12 格式:DOCX 页数:25 大小:442.19KB
下载 相关 举报
s08课程设计报告Word格式文档下载.docx_第1页
第1页 / 共25页
s08课程设计报告Word格式文档下载.docx_第2页
第2页 / 共25页
s08课程设计报告Word格式文档下载.docx_第3页
第3页 / 共25页
s08课程设计报告Word格式文档下载.docx_第4页
第4页 / 共25页
s08课程设计报告Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

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

《s08课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《s08课程设计报告Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

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

周秋峰

专业班级

自动化1004

学号

201046820922

题目

基于89C51的出租车计价器设计

课题性质

工程设计

课题来源

自拟

指导教师

臧海河

主要内容

(参数)

利用89C51设计出租车计价系统,实现以下功能:

1.设置白天/晚上收费标准的转换开关,使白天和晚上这两种不同情况具有不同的收费标准。

2.设置数据的清零开关。

3.具有等待红灯收费功能。

4.设置显示液晶页面,使司机与顾客能够清楚的看到液晶所显示等待红灯时间以及路程、总金额和单价。

任务要求

(进度)

第1-2天:

熟悉课程设计任务及要求,查阅技术资料,确定设计方案。

第3-4天:

按照确定的方案设计单元电路。

要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。

第5-6天:

软件设计,编写程序。

第7-8天:

实验室调试。

第9-10天:

撰写课程设计报告。

要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。

主要参考

资料

[1]张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:

国防工业出版社,2004

[2]阎石.数字电路技术基础(第五版).北京:

高等教育出版社,2006

[3]康华光.电子技术基础模拟部分(第五版).北京;

[4]郭天祥.新概念51单片机C语言教程-入门、提高、开发、拓展全攻略.北京;

电子工业出版社,2009

审查意见

系(教研室)主任签字:

年月日

1引言

出租车是现代城市内部主要交通工具之一,它给我们的出行带来了方便与舒适。

一个好的出租车计价器在整个出租车系统中是不可或缺的,他让我们的出行费用,车辆行驶距离有了明确的体现,让司机与乘客的利益的到平衡,让出租车市场更加规范。

如今的出租车计价器五花八样,功能各异,但主要功能都基本相同,以行驶距离为标准计价,有些加上的等待计价,有些更智能,可以为乘客提供拼车计价,本设计提供了基本的一距离为主要标准计价,附加等待红灯计价。

介于出租车计价器不需要太多的功能,而单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

以8051为内核AT89S52单片机足可以实现计价功能,以1602液晶显示信息。

AT89S52单片机价格便宜,工作稳定,性能良好,易学易用,操作使用方便,ISP写入程序,方便快捷。

8051系列单片机也是我们课程所学的主要单片机,更利于我们学习实践。

而如今较为流行的AVR单片机和以cortex为内核的单片机比较流行,但他们的价格相对于AT89S52较贵,功能较多,控制复杂,程序编写较难,且大多为LQFP封装,不利于我们实验练习,而使用51系列单片机足矣完成出租车计价功能,是比较理想的选择。

2总体方案设计

2.1硬件组成

整个系统硬件有控制器,距离检测系统,速度检测系统,信号处理模块,人机交换界面组成:

(1)控制器。

作为控制系统的核心,它在整个系统中接受由光电码盘传来的数据,经过内部处理,按照事先约定将数据传到显示部分。

(2)距离速度检测系统。

它由传感器实现,由机械机构连接传感器,再由传感器输出信号,输入控制器。

(3)信号处理模块,有传感器输入的信号进行处理,处理后的信号为可以直接输入控制器的信号。

(4)人机交互界面;

需要一个显示器显示控制器输出的信息,显示出租车行驶的距离,等待时间,定价和最后总价。

硬件方框图如图2.1所示。

图2.1硬件方框图

2.2方案论证

(1)控制器

控制器的选择是确定整个系统硬件方案的关键,它关系到其它几个部分方案的确定,对于出租车计价器,控制器一般使用MCU,MCU有许多种,可选的单片机有以下几种:

<

1>

8051系列单片机。

8051单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。

单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。

80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。

2>

AVR单片机。

AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机。

AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。

1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。

AVR单片机功能较完善,自带A/D转换。

但开发编程使用相比于8051系列有些复杂。

需要一定的学习。

3>

Cortex系列单片机。

ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。

  Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构。

ARMv7架构定义了三大分工明确的系列:

“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;

“R”系列针对实时系统;

“M”系列对微控制器。

  由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。

但Cortex系列单片机开发复杂,需要深入学习,当然其功能也强大,不过价格也相对8051贵一些。

出租车计价器作为一种简单的设备,本身价值不高,更要求控制系统具有较好的性价比,控制系统部需要有强大的控制能力,而且要考虑安装方便,计价器体积受限,经上述分析比较,确定采用8051系列MCU作为控制器。

(2)速度里程传感器

传感器可选择的较多,有模拟信号输出的,有数字信号输出的,由于模拟信号输出的传感器需要信号放大和A/D转换模块,信号放大比较难调,信号容易失真,而A/D转换模块需要另外添加,有些单片机不具有A/D转换功能,且增加模块会增加整个产品的成本,对于简单低成本的出租车计价器是很不适合的。

为了简单实用,可采用数字信号输出的传感器,由于大量数据传入单片机会增加处理器负担,可采用产生脉冲的传感器,例如霍尔传感器,光电码盘等等。

这类长安器相对来说价格便宜,性能稳定,简单实用,传感器产生的脉冲可直接输入单片机,也可整形后输入单片机,防止数据丢失,也可实用达林顿管和光耦等元件对信号做进一步处理。

(3)信号处理模块

传感器输出的脉冲信号可以整形放大后输入单片机,但单片机可以直接处理脉冲信号,即使脉冲有些不稳定,脉冲强度有些变化,也可以直接处理,单片机只是查脉冲的数目和一定时间内脉冲的数目,脉冲的强度变化只要在可处理范围之内是没有问题的,经试验证实,传感器输出的信号时比较稳定的,示波器显示波形很好,脉冲丢失比较少,而单片机能够完美的处理这些脉冲,几乎没有出错。

(4)人机交互界面

人机交互界面主要有以下几种形式:

①CRT显示器及标准键盘:

显示信息量大,操作方便,显示界面友好,但价格高,适用于采用工控机作控制器的场合。

②工业人机界面(触摸屏):

和CRT显示器一样,具有显示信息量大,操作方便,显示界面友好,适合恶劣的工业环境使用等特点,但价格更高,一般与PLC配套使用。

③LED或LCD数码显示器及自行设计的小键盘:

价格低廉、体积小是其最大优点,应用于以MCU为控制器的系统中较合适。

考虑价格及系统构成等因素,人机交互界面采用LCD显示和薄码开关选择一些单片机需要处理的一些状态。

2.3总体方案

按照上述方案论证的结果,出租车计价器的总体方案框图如图2.2所示。

图2.2中,传感器输出的脉冲信号直接连接单片机的外部中断引脚,该脉冲信号输入到MCU后。

MCU对输入的一定频率的脉冲信号进行处理,经运算后得到数据,送LCD显示器显示,输出数据供司机和乘客浏览。

图2.3总体方案框图

拨码开关可选择白天模式和晚上模式,也可选择是否等红灯收费。

3硬件电路设计

3.1单片机及其外围电路

微控制器采用AT89S52单片机。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用.

AT89S52的内部资源主要包括:

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.1AT89S52的接口电路

3.2光电传感器与信号调理电路

光码盘即光栅码盘,在上面刻有许多同心码道,每个码道上都有按一定规律排列的透光和不透光部分。

本系统光码盘采用如今比较流行的金属光码盘,如图3.2.1所示。

  

图3.2.1光码盘实物

工作原理如图3.2.2所示

图3.2.2光码盘工作原理

工作时,车轮转动通过机械机构连接到管吗盘上,光投射在码盘上,码盘随运动物体一起旋转,透过亮区的光经过狭缝后由光敏元件接受,光敏元件的排列与码道一一对应,对于亮区和暗区的光敏元件输出的信号,前者为“1”,后者为“0”,当码盘旋转在不同位置时,光敏元件输出信号的组合反映出一定规律的数字量,代表了码盘轴的角位移。

本系统光码盘有两种输出,一种是每个脉冲输出一个脉冲,另一种是每转一圈输出一个脉冲,为了信号稳定和减少单片机处理数据的负担,使用每圈输出一个脉冲,经测试,精度以足够使用。

3.3显示及键盘接口电路

(1)显示器接口电路

出租车计价器运行过程中需要显示的信息包括:

价格设定,等待时间显示,行驶距离显示,最终价格显示。

由于显示的都可以用字符显示,可用液晶1602显示,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

  1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

  目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

1602采用标准的16脚接口,其中:

第1脚:

VSS为电源地  

第2脚:

VCC接5V电源正极  

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:

RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:

RW为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

第6脚:

E(或EN)端为使能(enable)端。

第7~14脚:

D0~D7为8位双向数据端。

第15~16脚:

空脚或背灯电源。

15脚背光正极,16脚背光负极。

编辑本段1602LCD的特性  +3.3V电压,对比度可调  

内含复位电路  提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能  有80字节显示数据存储器DDRAM  

内建有192个5X7点阵的字型的字符发生器CGROM  8个可由用户自定义的5X7的字符发生器CGRAM。

1602LCD特征及应用  微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。

由此按照图3.3.1连接

图3.3.11602液晶接口

1602液晶数据口接单片机I/O口P2口,RS接P07,RW接P06,E接P05,其它接口如图所示,VL接口可调节液晶对比度。

(2)键盘接口电路

本系统没有使用复杂按键,只用了两位简单的拨码开关一位选择白天模式还是夜间模式,另一位选择是否启动红灯等待功能。

3.4电源电路

电源直接由+5V输入即可,只需要一种电源,简单易得,车载充电器即可实现+5V电源,无需另加电源模块。

4系统软件设计

系统软件分为主程序、中断服务程序和子程序三部分。

4.1主程序设计

主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。

本系统上电或复位时,根据两个拨码开关状态可分为两种模式,每种模式两种状态,

图4.1主程序流程图

系统上电后,单片机CPU自动查询拨码开关,若选择白天模式是,实行白天计费标准,若选择夜间模式是时,进入夜间计费标准,程序执行过程中会查询拨码开关是否开启红灯等待计费功能,如果是,则执行红灯等待计费程序,然后执行总计价程序,如果否,则不执行红灯等待计费程序,直接执行总计价程序,得出最终价格。

按照上述分析,主程序流程图如图4.1所示。

4.2中断服务程序设计

从主程序的设计可以知道:

定时器T0定义为方式1外部计数方式,用于产生5ms的时钟周期,在主程序中累加1000次产生5s的时间,每隔5s执行程序计算出租车行驶距离,判断是否为等红灯。

外部中断0为接受光码盘传感器传来的脉冲信号,每来一个脉冲产生一个中断,计数加一,由此查看计数的数值就可以指导出租车行驶的距离。

外部中断流程图如图4.2.1所示。

图4.2.1外部中断服务程序流程图

T0定时器中断流程图如图4.2.2所示。

图4.2.2T0定时器中断服务程序流程图

在执行外部中断时会暂停定时器中断,虽然会有微小误差,但可避免计数出错。

4.3部分主要子程序的设计

系统主要子程序包括距离显示子程序、金额显示子程序,等待时间显示子程序等。

(1)距离显示字程序

距离显示子程序是输入一个浮点型数据,将数据拆开为千位,百位,十位,个位,小数点,十分位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。

(2)金额显示子程序

金额显示子程序是输入一个浮点型数据,将数据拆开为千位,百位,十位,个位,小数点,十分位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。

当不足2公里时显示起步价,当超过3公里时,按照计算公式显示,计算公式为:

总价=起步价+0.1*每公里单价*((行驶距离-3000)/100+1)。

(3)等待时间显示子程序

等待时间显示子程序是输入一个整型数据,将数据拆开为千位,百位,十位,个位,然后再写入地址,在每一位的地址写入对应数据,此时数据已经为字符型。

总程序流程图如图4.2.3所示。

图4.2.3总流程图

5系统调试与总结

系统研制完成后,在实验室进行了系统功能测试和技术指标测试。

测试结果符合系统技术指标规定。

5.1系统调试

1.白天夜间模式选择调试

当拨码开关选择白天模式时,即P11为1时,即为白天模式,起步价显示为08Y(元),初始价显示为08+1.5*SY(元),如图5.1.1.1。

当拨码开关选择夜间模式时,即为P11为0,即为夜间模式,起步价显示为10Y,初始价显示为10+1.5*SY,如图5.1.1.2.

图5.1.1.1白天模式选择显示

图5.1.1.2夜间模式选择显示

2.是否开启红灯等待功能调试

当拨码开关选择开启红灯等待计费功能时,即P10为0时,等待红灯时会计费,当没有脉冲输入时,即为等待红灯,当一开始就没有脉冲输入时,只按等待时间计费,而不按行程计费。

计费图如图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液晶显示,实用简单,操作方便,显示清晰明了。

合理确定外围元件的参数是保证数据采集精度的关键。

拨码开关可自由选择模式和状态,使用方便灵活。

参考文献

附录A系统原理图

附录B源程序

#include<

reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitrs=P0^7;

//数据命令选择

sbitlcden=P0^5;

//lcd使能

sbitrw=P0^6;

//lcd读写控制

sbitday=P1^1;

//白天夜晚选择

sbitdeng=P1^0;

//是否开启红灯等待计费

//sbitv4=P0^0;

//调试时产生速度

ucharday_price=8,night_price=10,i;

floatdanjia=1.5;

uintn=0,k=0,stopnum=0;

unsignedlonginttemp=0;

ucharcodetabled[]="

s08+1.5*SY"

;

ucharcodetablen[]="

s10+1.5*SY"

ucharcodetabledp[]="

000.0km0008.0Y"

ucharcodetablenp[]="

000.0km0010.0Y"

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;

x>

0;

x--)

for(y=110;

y>

y--);

}

voidwrite_com(ucharcom)

{//写液晶命令函数

rs=0;

lcden=0;

P2=com;

delay(3);

lcden=1;

voidwrite_date(uchardate)

{//写液晶数据函数

rs=1;

P2=date;

voidwrite_km(unsignedlongintdate)

{//第一行写距离,写5占7

ucharbai,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(0x80);

write_date(0x30+bai);

write_date(0x30+shi);

write_date(0x30+ge);

write_date('

.'

);

write_date(0x30+shifen);

voidwrite_stoptime(intnum)

{//写等待时间

charqian,bai,shi,ge;

inttime;

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);

voidwrite_price(floatdate)

{//第一行显示价格,10开始,写6占7满

charqian,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