基于C51单片机出租车计价器.docx
- 文档编号:9682122
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:30
- 大小:246.97KB
基于C51单片机出租车计价器.docx
《基于C51单片机出租车计价器.docx》由会员分享,可在线阅读,更多相关《基于C51单片机出租车计价器.docx(30页珍藏版)》请在冰豆网上搜索。
基于C51单片机出租车计价器
摘要
本文介绍了出租车计价器系统在实际生产生活中的重要性,介绍一种以单片机AT89C51为核心的多功能出租车计价器的设计,论述硬件设计进程中关键技术的处置。
结果说明该计价器具有集计程、计时、计费、存储等多种计量功能,而且具有打印和显示等多种功能。
本课题要紧研究出租车计价器的硬件设计。
论文详细论述了该计价器的整体设计:
时钟电路模块、掉电存储模块、里程检测模块、LED显示模块、键盘模块、打印模块等。
ABSTRACT
Inthispaper,theimportanceoftaximeterinourlifeisintroduced.ThedesignsofanewtypeoftaximeterbasedonsinglechipmicrocomputerAT89C51arepresented.Howtosolvekeyproblemsintheprocessofdesigninghardwaresystemisalsodiscussed.Theresultshaveprovedthatthesystemissatisfiedwiththepracticalrequirementsofdistance,timeandfarecounting,storing,andtheprint,displayfunction.
Inthethesis,hardwaredesignofthetaximeterismainlyfocusedon.Thethesiselaboratestheoveralldesignoftaximeter.Theclockelectriccircuitmoldpiece,electricitysavingmoldpiece,mileageexaminationmoldpieceandLEDdemonstrationmoldpiece,keyboardmoldpiece,printmoldpieceetc.
关键词
AT89C51;掉电存储;LED显示;时钟电路模块;LED显示模块
第一章绪论
前言
最近几年来,我国出租汽车行业迅猛进展,出租汽车已经成为我国城市公共交通
的重要组成部份和现代化城市必备的基础设施,成为人们工作、生活中不可缺少
的交通工具。
出租汽车效劳行业和出租汽车计价器紧密相关,因为出租汽车必需
安装出租汽车计价器才能投入营运。
出租汽车计价器是一种能依照乘客乘坐汽车
行驶距离和等候时刻的多少进行计价,并直接显示车费值的计量器具。
计价器是
出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因此
计价器计价准确与否,直接关系到经营者和消费者的经济利益。
依据国家有关法
律、法规,出租汽车计价器是列入国家首批强制检定的工作计量器具之一,也是最近几年来国家质量技术监督部门强化治理的六类重点计量器具之一。
出租车行业在我国是八十年代初兴起的一项新兴行业,随着我国国民经济的高速进展,出租汽车已成为城市公共交通的重要组成部份。
连年来国内普遍利用的计价器只具有单一的计量功能。
目前全世界的计价器中有90%为台湾所生产。
现今我国生产计价器的企业有上百家,主若是集中在北京,上海,沈阳和广州等地。
设计的意义
出租车是城市交通的重要组成部份,在行业健康和进展也取得愈来愈多的关注。
汽车计价器是乘客与司机两边的交易准那么,它是出租车行业进展的重要标志,是出租车中最重要的工具。
它关系着交易两边的利益。
具有良好性能的计价器不管是对广大出租车司机朋友仍是乘客来讲都是很必要的。
因此,汽车计价器的研究也是十分有一个应用价值的。
系统设计的要求
本设计采纳AT89C51单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采纳掉电存储单元AT24C02来实此刻系统掉电的时候保留单价和系统时刻等信息,输出采纳6段数码显示管。
本电路设计的计价器不但能实现大体的计价,而且还能依照白天,黑夜,半途等待来调剂单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。
具体要求:
实现当前车速的检测
实现运行里程的检测
实现出租车费用的计算,时数据的显示等功能。
第二章系统整体设计
方案论证与比较
方案一:
采纳数字电路操纵,其原理如下图。
采纳传感器件,输出脉冲信号,通过放大整形作为移位寄放器的脉冲,实现计价,可是考虑到这种电途经于简单,性能不够稳固,而且不能调剂单价,也不能依照天气调剂计费保准,电路不够有效。
电路框图如图2-1所示:
金额显示
单价显示
电源电路及保护电路
里程传感器
移位寄存器电路
图2-1数字电路方案
方案二:
出租车驱动轮转数与转轴转数的传动比是必然的,磁感应传感器会产生一个大约20ms的低脉冲,能够通过计算磁感应传感器产生的低脉冲数来计算出租车跑的里程数及相应的车费。
编码器的单片机通过一个I/O口来检测磁感应传感器信号,当确信为传感器产生的信号时,就通过另一个I/O口向解码器的单片机发送一组编码,而解码器的单片机那么第一判定当前预备接收的数据是编码器发送的编码仍是解码写入器发送的解码。
当判定是解码写入器发送的解码时,解码器的单片机接收此解码,并利用12C总线协议将解码保留到EEPROM中去;当判定是编码器发送的编码时,解码器的单片机先接收此编码,然后读出自己EEPROM中的解码,将其与接收到的编码相较较,若是相同那么解码器单片机通过一个I/0口向计价装置发出计价脉冲,不然不发出计价脉冲。
解决了以往计价器计价不准确、利用寿命短等缺点,但此方式通常使干扰信号也能产生计数脉冲,分立元件过于复杂,电路稳固性不行。
方案框图如图2-2所示:
磁感应传感器
计价脉冲
计价
装置
解码器
编码器
解码写入器
图2-2编码器方案
方案三:
采纳单片机操纵。
以单片机为核心,设计上采纳89C51单片机为主控器,以A44E霍尔传感器测距,并采纳AT24C02实此刻系统掉电的时候保留单价和系统时刻等信息,输出采纳7段数码显示管。
利用单片机丰硕的I/O端口,及其操纵的灵活性,实现大体的里程计价功能和价钱调整、时钟显示功能。
原理结构如图2-3所示:
AT89C51单片机
数据存储及时钟模块
里程采集模块
显示模块
键盘模块
打印模块
图2-3 单片机操纵方案
本电路设计的计价器不但能实现大体的计价,而且还能依照白天,黑夜,半途等待来调剂单价,但同时在不计价的时候还能作为时钟为司机同志提供方便。
单片机计算总价的公式为:
总价=起步价+单价*(总里程-起步里程)。
AT89C51作为一个单片微型计算系统,灵活性高,其壮大的操纵处置功能和可扩展功能为设计电路提供了专门好的选择。
通过比较以上三种方案,单片机方案有较大的活动空间,不但能实现所有要求的功能而且能在专门大的程度上扩展功能,而且还能够方便的对系统进行升级,因此咱们采纳第三种方案,用AT89C51单片机实现出租车计价的功能。
系统整体设计要求
所设计的出租车计价系统,要求能够设置起步价,(如5千米内10元),5千米后开始按每千米增加费用,每千米的单价为1.6元。
在出租车运营进程中,当碰到堵车等情形而致使出租车处于等待状态,那么每等到五分钟(时速低于每小时5千米)费用加1元。
当共计费金额达到30元后,每千米将加收50%的空驶费,遇有特殊情形停车时,可设为不计费,以保证乘客权益。
该电路系统能够模拟实际出租汽车的启动、停止、暂停、空车等状态,能够显示计费金额、行驶千米数、计费开始时刻等参数,而且各关键参数能够进行调整,以适应在实际应用中起步价、每千米价钱和计费方式等参数的转变。
本课题研究的要紧内容是设计出租车计价器的硬件电路。
设计的整体电路框图如图2-3所示,整个系统由单片机AT89C51操纵电路、A44E霍尔传感器电路、AT24C02存储电路、8563时钟电路、单据打印电路、按键键盘电路、LED驱动显示电路及电源电路组成。
第三章相关芯片介绍
操纵核心芯片AT89C51
要紧特性
●与MCS-51系列单片机产品兼容
●4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器)
●1000次擦写周期
●128Bytes的内部RAM单元
●4个8位I/O口,即32位可编程I/O口线
●2个16位按时器/计数器
●6个中断源
●可编程全双工串行口
●低功耗空闲和掉电模式
●掉电后中断可唤醒
●看门狗按时器
●双数据指针
●灵活的ISP在线编程功能(字或字节模式)
●宽范围的工作电压,VCC的许诺转变范围为了~
●可设置为待机状态和掉电状态
●振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz~24MHz。
具有全静态的工作方式,说明它不必然要求持续的工作时钟按时,在等待内部事件期间,时钟频率可降至0。
AT89C51芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时进行编程。
编程是按字节进行的。
编程电压VPP有高压12V的,也有低压5V的。
AT89C51的内部结构框图如图3-1所示:
3.1.2AT89C51的管脚结构图及管脚说明
如图3-2所示。
~~
P2驱动
P0驱动
RAM地址寄存器
RAM
P0锁存器
FPEROM
P2锁存器动
程序地址寄存器
ACC
B寄存器
缓冲
堆栈指针
TMP1
TMP2
PC增加1
中断、串行口和定时器
ALU
PC
PSW
PSEN
DPTR
定时控制
指令寄存器
P3锁存器
P1锁存器
OSC
P1驱动
P1驱动
~
~
++
图3-1AT89C51的内部结构框图
图3-2AT89C51管脚结构图
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被概念为高阻输入。
P0能够用于外部程序数据存储器,它能够被概念为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,现在P0外部必需被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外手下拉为低电平常,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄放器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和操纵信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外手下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:
P3口管脚备选功能
RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(记时器0外部输入)T1(记时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些操纵信号。
表3-1AT89C51部份引脚功能表
端口引脚
复用功能
RXD(串行输入口)
TXD(串行输出口)
/INT0(外部中断0)
/INT1(外部中断1)
T0(定时器0的外部输入)
T1(定时器1的外部输入)
/WR(外部数据存储器写选通)
/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要维持RST脚两个机械周期的高电平常刻。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每一个机械周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不显现。
/EA/VPP:
当EA维持低电平常,那么在此期间外部程序存储器(0000H-FFFFH),不管是不是有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端维持高电平常,其间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.3AT89C51的振荡器特性
XTAL1和XTAL2别离为反向放大器的输入和输出。
该反向放大器能够配置为片内振荡器。
石晶振荡和陶瓷振荡都可采纳。
如采纳外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必需保证脉冲的高低电平要求的宽度。
掉电存储芯片AT24C02
概述
单片机实现的仪器仪表,家用电器,工业监控等系统中,对某些状态参数,不仅要求能够在线修改,而且断电能维持,以备上电后恢复系统的状态。
断电数据爱惜方式可选用具有断电爱惜功能的RAM和电可擦存储器EEPROM。
具有断电爱惜功能的RAM容量大,速度快,但占用线多,本钱高,EEPROM适合数据互换量少,对传送速度要求不高的场合。
EPROM有并行和串行之分,并行EEPROM速度比串行快,容量大。
串行芯片本钱低,线路简单,工作靠得住,占用单片机口线资源少。
3.2.2AT24C02介绍
AT24C02系列串行EEPROM引脚、容量及结构
目前我国应用最多的封装形式是8脚封装,如图3-3所示:
图3-3AT24C02型号和引脚
AT24C02的EEPROM的引脚说明如下:
●SCL—串行时钟端,用于对输入和输出数据的同步。
写入串行EEPROM的数据用SCL上升沿同步,输出数据用下降沿同步
●SDA—串行数据输入/输出端,漏极开路结构。
利历时该引脚必需接一个Ω左右的上拉电阻。
SDA线上数据传送顺序是高位在先,低位在后。
●WP—写爱惜,用于硬件数据爱惜功能。
当该引脚接地时,能够对整个存储器进行正常读/写操作;当其接电源Vcc时,芯片就具有写爱惜功能,被爱惜的区域因型号而异。
被爱惜部份的读操作不受阻碍,事实上这时被爱惜的区域就能够够作为串行只读存储器。
英注意,对AT24C08芯片,尽管第7脚也概念为WP,但实际不起作用。
A0,A1,A2—片选或以页面选择地址输入,用于EEPROM器件地址编码。
将这3个引脚配置成不同的编码值,可选中不同的芯片。
在同一串行总线上最多可扩充8片同一容量或不同容量的芯片。
但注意,有些型号的地址是无效的。
例如,AT24C16所对应的3个引脚均无效,因此利用AT24C16时只能寻址1片,一样,利用AT24C04时刻寻址4片;利用AT24C08可寻址2片。
●TEST—测试,用于对存储器的检测。
●Vcc—电源电压+5V。
●GND—接地端。
●NC—未连接。
ATC24C02是目前最经常使用的型号,支持器件地址编码,统一串行总线最多时可同时连接1~8片,支持硬件设置数据爱惜。
并行接口芯片8155
3.3.1概述
8155是一个有40引脚的塑封芯片,功能较强,普遍地应用在运算机电路中。
它有两个8位口A、B和一个6位口C,总能够扩展出22条接线。
它含一个可预置的计数器,计数范围从2到16383,可用于延时、计数或分频,它内部有256字节的RAM,能够补充CPU内部的不足。
为了能够设置芯片的工作方式和了解芯片的状态,内部还有命令寄放器和状态寄放器。
8155共有40个脚。
其中,与CPU相连的引脚有
、IO/
、AD0~AD7、ALE、
、
和RESET。
是片选信号,当
=0时,芯片才能与CPU互换信息。
接到地址译码器上,由整个系统分派给高位地址,以保证任何时刻只有一个芯片可与CPU互换信息,不发生地址冲突。
IO/
是接口或内部 RAM寄放器的选择线。
当IO/
=1时,CPU是对I/O接口操作;当IO/
=0时,CPU是对RAM操作。
它一样接到CPU的地址线A8上。
AD0~AD7为地址数据总线。
ALE是地址锁存信号输入线。
、
别离是读、写操纵线。
RESET是复位线.当RESET=1时,8155被复位。
与外部设备连接的引脚有TMRIN、TMROUT、PA0~PA7、PB0~PB7和PC0~PC5。
TMRIN是计数输入线,接到待测的脉冲源。
TMROUT是计数输出线。
PA0~PA7是A口的8位输入/输出线。
PB0~PB7是B口的8位输入/输出线。
PC0~PC5是C口的6位输入/输出线。
3.3.2 芯片8155大体结构及工作方式
8155芯片为40引脚双列直插封装,单一的+5V电源,其引脚排列如图3-4所示:
图3-48155引脚排列图
在与单片机接口的方向,8155提供如下信号:
●AD7~AD0——地址数据复用线。
●ALE——地址锁存信号。
除进行AD7~AD0的地址锁存操纵外,还用于把片选信号CE和IO/M等信号进行锁存。
●
——读选通信号。
●
——写选通信号。
●
——片选信号。
●IO/
——I/O与RAM选择信号。
8155内部的I/O口与RAM是分开编址的,因此要利用操纵信号进行区分。
IO/
=0,对RAM进行读写;IO/
=1,对I/O口进行读写。
该信号是一个特殊信号,对它的利用要额外注意。
●RESET——复位信号。
8155以600ns的正脉冲进行复位,复位后A、B、C口均置为输入方式。
I/O口及其工作方式
8155的3个I/O口,别离以PA、PB和PC称号,其中PA和PB都是8位通用输入/输出口,要紧用于数据的I/O传送,它们都是数据口,因此只有输入/输出两种工作方式。
而PC口那么为6位口,它既能够作为数据口用于数据的I/O传送,也能够作为操纵口,用于传送操纵信号和状态信号,对PA和PB的I/O操作进行操纵。
因此PC口共具有4种工作方式,即:
输入方式(ALT1),输出方式(ALT2),PA口操纵端口方式(ALT3)和PA和PB口操纵端口方式(ALT4)。
当以无条件方式进行数据输入/输出传送时,由于不需要任何联络信号,因此这时PA、PB及PC都能够进行数据的输入/输出操作。
当PA或PB以中断方式进行数据传送时,所需要的联络信号由PC提供,其中PC2~PC0是为PA提供,PC5~PC3是为PB提供。
各联络信号的概念如表3-2所示。
联络信号共有3个,其中:
●INTR——中断请求信号(输出),高电平有效。
送给MCS—51单片机的外中断请求。
●BF——缓冲器满状态信号(输出),高电平有效。
——选通信号(输入),低电平有效。
数据输入操作时,
是外设送来的选通信号;数据输出时,
是外设送来的应答信号。
时钟芯片8563
8563的要紧特性及管脚结构图
特性:
1.宽电压范围至复位电压标准值Vlow=
2.超低功耗典型值为AVDD=,Tamb=25
3.可编程时钟输出频率为1024Hz32Hz1Hz
I2C总线(VDD=其从地址读0A3H;写0A2H
PCF8563的管脚排列及描述如图3-5所示:
图3-58563引脚图
功能如表3-2所示:
表3-28563管脚功能表
8563的大体原理
8563有16个8位寄放器:
一个可自动增量的地址寄放器,一个内置的振荡器(带有一个内部集成的电容),一个分频器(用于给实不时钟RTC提供源时钟),一个可编程时钟输出,一个按时器,一个报警器,一个掉电检测器和一个400KHzI2C总线接口。
所有16个寄放器设计成可寻址的8位并行寄放器,但不是所有位都有效。
前两个寄放器(内存地址00H,01H)用于操纵寄放器和状态寄放器,内存地址02H--08H用于时钟计数器(秒~年计数器),地址09H--0CH用于报警寄放器(概念报警条件)地址0DH操纵CLKOUT管脚的输出频率,地址0EH和0FH别离用于按时器操纵寄放器和按时器寄放器:
秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄放器,编码格式为BCD,礼拜和礼拜报警寄放器不以BCD格式编码。
当一个RTC寄放器被读时,所有计数器的内容被锁存,因此,在传送条件下,能够禁止对时钟/日历芯片的错读。
8563时钟芯片在本设计中具有以下功能:
1.按时器功能
8位的倒计数器地址(0FH)由按时器操纵寄放器地址0EH操纵,按时器操纵寄放器用于设定按时器的频率(4096,64,1或1/60Hz)和设定按时器有效或无效按时器从软件设置的8位二进制数倒计数每次倒计数终止按时器设置标志位TF,按时器标志位TF只能够用软件清除,TF用于产生一个中断(/INT)每一个倒计数周期产生一个脉冲作为中断信号TI/TP操纵中断产生的条件。
当读按时器时返回当前倒计数的数值。
输出
管脚CLKOUT能够输出可编程的方波。
CLKOUT频率寄放器地址0DH,决定方波的频率,CLKOUT能够输出(缺省值),1024,32,1Hz的方波。
CLKOUT为开漏输出管脚,上电时输出有效,无效时输出为高阻抗。
8563包括一个片内复位电路,当振荡器停止工作时,复位电路开始工作,在复位状态下,I2C总线初始化,寄放器TF、VL、TD一、TD0、TESTC、AE被置逻辑1,其它的寄放器和地址指针被清0。
8563内嵌掉电检测器,当VDD低于Vlow时,位VL(VoltageLow,秒寄放器的位7)被置1,用于指明可能产生不准确的时钟/日历信息,VL标志位只能够用软件清除,当VDD慢速降低(例如以电池供电)达到Vlow时,标志位VL被设置,这时可能会产生中断。
内部寄放器
8563有16个寄放器,其中00H--01H为操纵方式寄放器、09H--0CH为报警功能寄放器、0DH为时钟输出寄放器、0EH和0FH为按时器功能寄放器、02H--08H为秒--年时刻寄放器。
6.电源复位(POR)替换模式
POR的持续时刻直接与振荡器的起动时刻有关。
一种内嵌的长时刻起动的电路可使POR失效,如此可使设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C51 单片机 出租车 计价器