基于AT89C51单片机出租车计价器的研究

发布时间:2024-11-28

出租车计价器的设计

摘要

本文介绍了出租车计价器系统在实际生产生活中的重要性,介绍一种以单片机AT89C51 为核心的多功能出租车计价器的设计,阐述硬件设计过程中关键技术的处理。结果表明该计价器具有集计程、计时、计费、存储等多种计量功能,并且具有打印和显示等多种功能。

本课题主要研究出租车计价器的硬件设计。论文详细阐述了该计价器的总体设计:时钟电路模块、掉电存储模块、里程检测模块、LED 显示模块、键盘模块、打印模块等。

【关键词】:AT89C51 计价器 LED显示

目录

毕业设计任务书 (Ⅰ)

摘要 (Ⅱ)

第1章绪论 (1)

1.1 前言 (1)

1.2 设计的意义 (1)

1.3 系统设计的要求 (1)

第2章系统整体设计 (2)

2.1 方案论证与比较 (2)

2.1 系统总体设计要求 (3)

第3章相关芯片介绍 (5)

3.1 控制核心芯片AT89C51 (5)

3.1.1 主要特性 (5)

3.1.2 AT89C51的管脚结构图及管脚说明 (5)

3.1.3 AT89C51的振荡器特性 (8)

3.1.4 芯片擦除 (8)

3.2 掉电存储芯片AT24C02 (9)

3.2.1概述 (9)

3.2.2 AT24C02介绍 (9)

3.3 并行接口芯片8155 (10)

3.3.1概述 (10)

3.3.2芯片8155基本结构及工作方式 (11)

3.3.3 8155的命令/状态寄存器 (13)

3.3.4 8155的定时器/计数器 (13)

3.4 时钟芯片8563 (14)

3.4.1 8563的主要特性及管脚结构图 (14)

3.4.2 8563的基本原理 (15)

3.5 可编程并行接口8255 (16)

3.5.1 8255的内部结构及管脚功能 (16)

第4章系统硬件设计 (18)

4.1 最小系统 (18)

4.1.1晶振系统 (18)

4.1.2复位电路 (19)

4.2 时钟电路模块 (20)

4.3掉电存储模块 (21)

4.4里程检测模块 (22)

4.5 LED显示模块 (22)

4.5.1 LED显示器介绍 (22)

4.5.2 LED显示器原理 (23)

4.5.3 LED显示器的显示方式 (24)

4.6 存储区扩展模块 (26)

4.6.1 引言 (26)

4.6.2 2716的扩展与6116的扩展 (26)

4.7 键盘模块 (27)

4.7.1 矩阵式键盘接口设计 (27)

4.7.2 键盘具体连接图 (29)

4.8 打印模块 (30)

4.8.1 打印机概况 (30)

4.8.2 打印机接口 (31)

结论/展望 (32)

致谢 (33)

参考文献 (34)

附录 (35)

第1章绪论

1.1 前言

出租汽车已经成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租汽车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。

出租车行业在我国是八十年代初兴起的一项新兴行业,随着我国国民经济的高速发展,出租汽车已成为城市公共交通的重要组成部分。多年来国内普遍使用的计价器只具备单一的计量功能。目前全世界的计价器中有90%为台湾所生产。现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。

1.2 设计的意义

在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。

第2章系统整体设计

2.2 系统总体设计要求

所设计的出租车计价系统,要求可以设置起步价,(如5 公里内10 元) ,5 公里后开始按每公里增加费用,每公里的单价为1. 6 元。在出租车运营过程中,当遇到堵车等情况而导致出租车处于等待状态,则每等到五分钟(时速低于每小时5 公里) 费用加1 元。当总计费金额达到30 元后,每公里将加收50 %的空驶费,遇有特殊情况停车时,可设为不计费,以保证乘客权益。该电路系统能够模拟实际

出租汽车的启动、停止、暂停、空车等状态,可以显示计费金额、行驶公里数、计费开始时间等参数,而且各关键参数可以进行调整,以适应在实际应用中起步价、每公里价格和计费方式等参数的变化。

本课题研究的主要内容是设计出租车计价器的硬件电路。设计的整体电路框图如图2-4所示,整个系统由单片机A T89C51 控制电路、A44E 霍尔传感器电路、AT24C02 存储电路、8563时钟电路、票据打印电路、按键键盘电路、LED驱动显示电路及电源电路组成。

单片机采集并判断空车灯信号及路程检测传感器信号,当出租车启动时,单片机检测到霍尔传感器的脉冲信号并进行里程计算。当无乘客时,单片机调用实时时间芯片8563 程序和8255串口显示驱动程序,用4只LED进行时钟显示;当空车灯掰下乘客上车时,通过8563 获取时间信息分辨白天/ 晚上,然后调用AT24C02 程序获取白天/ 晚上的单价及起始价,便开始计价并显示时间、里程和金额等信息;当空车灯打上乘客下车时,打印好票据,单片机将营运数据信息存储到AT24C02 中,等待出租车再次启动后单次金额与里程等信息清零复位, 就此完成一次计价。

图2-4 硬件电路框图

第3章相关芯片介绍

3.1 控制核心芯片AT89C51

3.1.1 主要特性

●与MCS-51系列单片机产品兼容

● 4K字节在系统可编程Flash存储器(片内具有4K字节闪速存储器)

● 1000次擦写周期

● 128Bytes的内部RAM单元

● 4个8位I/O口,即32位可编程I/O口线

● 2个16位定时器/计数器

● 6个中断源

●可编程全双工串行口

●低功耗空闲和掉电模式

●掉电后中断可唤醒

●看门狗定时器

●双数据指针

●灵活的ISP在线编程功能(字或字节模式)

●宽范围的工作电压,VCC的允许变化范围为了2.7~6.0V

●可设置为待机状态和掉电状态

●振荡器及时钟电路,全静态工作方式,时钟频率可为0Hz~24MHz。具有全静态的工作方式,表明它不一定要求连续的工作时钟定时,在等待内部事件期间,时钟频率可降至0。

AT89C51芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。

AT89C51的内部结构框图如图3-1所示:

3.1.2 AT89C51的管脚结构图及管脚说明

如图3-2所示。

VCC:供电电压。GND:接地。

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口作为第八位地址接收。

图3-1 AT89C51的内部结构框图

图3-2 AT89C51管脚结构图

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口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

平时间。

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.3 AT89C51的振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3.1.4 芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持

ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2 掉电存储芯片AT24C02

3.2.1 概述

单片机实现的仪器仪表,家用电器,工业监控等系统中,对某些状态参数,不仅要求能够在线修改,而且断电能保持,以备上电后恢复系统的状态。断电数据保护方法可选用具有断电保护功能的RAM和电可擦存储器EEPROM。具有断电保护功能的RAM容量大,速度快,但占用线多,成本高,EEPROM适合数据交换量少,对传送速度要求不高的场合。

EPROM有并行和串行之分,并行EEPROM速度比串行快,容量大。串行芯片成本低,线路简单,工作可靠,占用单片机口线资源少。

AT24CX系列串行EEPROM是目前单片机应用系统中使用较多的EEPROM芯片。其系列串行EEPROM除具有体积小、功耗低、工作电压有效范围宽等特点外,还具有型号多,容量大,I2C总线协议,占用I/O口线少,芯片扩展配置方便灵活,读/写操作相对简单等优点。在智能化装置中,正日益获得广泛应用。

AT24CX系列EEPROM为串行的用电擦除的可编程CMOS只读存储器。自定时写周期包括自动擦除时间不超过10ms,典型时间为5ms。擦除/写入周期寿命一般都可达到10万次以上。片内数据保存寿命可达410年以上。采用单一电压+5V,低功耗工作电流1mA,备用状态只有10uA,端口为三态门输出,与TTL电平兼容。一般商业品工作温度为0~+70℃,工业品为-40~+85℃。这个系列的芯片有8脚DIP(双列直插)封装,8脚SOIC(表面贴装)封装,一部分型号还有14脚SOIC封装。

目前,我国采用的AT24CX系列串行芯片EEPROM主要是由ATMEL,MICROCHIP,XICOR,NATIONAL等几家公司提供。下面以ATMEL公司的产品进行说明。

3.2.2 AT24C02介绍

AT24C02系列串行EEPROM引脚、容量及结构

目前我国应用最多的封装形式是8脚封装,如图3-3所示:

图3-3 AT24C02型号和引脚

AT24C02的EEPROM的引脚说明如下:

●SCL—串行时钟端,用于对输入和输出数据的同步。写入串行EEPROM的数据用SCL上升沿同步,输出数据用下降沿同步

●SDA—串行数据输入/输出端,漏极开路结构。

使用时该引脚必须接一个5.1KΩ左右的上拉电阻。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片,支持硬件设置数据保护。

3.3 并行接口芯片8155

3.3.1概述

8155是一个有40引脚的塑封芯片,功能较强,广泛地应用在计算机电路中。它有两个8位口A、B和一个6位口C,总可以扩展出22条接线。它含一个可预置的计数器,计数范围从2到16383,可用于延时、计数或分频,它内部有256字节的RAM,可以补充CPU内部的不足。为了能够设置芯片的工作方式和了解芯片的状态,内部还有命令寄存器和状态寄存器。

8155共有40个脚。其中,与CPU相连的引脚有CE、IO/M、AD0~AD7、ALE、RD、WR和RESET。CE是片选信号,当CE=0时,芯片才能与CPU交换信息。CE接到地址译码器上,由整个系统分配给高位地址,以保证任何时刻只有一个芯片可与CPU交换信息,不发生地址冲突。IO/M是接口或内部 RAM寄存器的选择线。当IO/M=1时,CPU是对I/O接口操作;当IO/M=0时,CPU是对RAM操作。它一般接到CPU的地址线A8上。AD0~AD7为地址数据总线。ALE是

地址锁存信号输入线。RD、WR分别是读、写控制线。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-4 8155引脚排列图

在与单片机接口的方向,8155提供如下信号:

●AD7~AD0——地址数据复用线。

●ALE——地址锁存信号。除进行AD7~AD0的地址锁存控制外,还用于把

片选信号CE和IO/M等信号进行锁存。

●RD——读选通信号。

●WR——写选通信号。

●CE——片选信号。

●IO/M——I/O与RAM选择信号。8155内部的I/O口与RAM是分开编址

的,因此要使用控制信号进行区分。IO/M=0,对RAM进行读写;IO/M=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——缓冲器满状态信号(输出),高电平有效。

STB——选通信号(输入),低电平有效。数据输入操作时,STB是外设送来的选通信号;数据输出时,STB是外设送来的应答信号。

RAM单元及I/O口编址

8155共有256个RAM单元,加上6个可编址的端口,这6个端口是:命令/状态寄存器、PA口、PB口、PC口、定时器/记数器低8位以及定时器/计数器高8位。为此8155引入了8位地址AD2~AD0,无论是RAM还是可编址口都使用这8位地址进行编址。对它们只需使用AD2~AD0即可实现编址,如表3-3所示。

表3-3 8155的可编程端口

3.3.3 8155的命令/状态寄存器

8155有一个命令/状态寄存器,实际上这是两个不同的寄存器,分别存放命令字和状态字。但由于对命令寄存器只需进行写操作,而对状态寄存器只需进行读操作,因此把它们编为同一地址,合在一起称之为命令/状态寄存器。

命令字:

命令字共8位,用于定义端口及定时器/计数器工作方式。对命令寄存器只能写不能读。

状态字:

状态字也是8位(但实际只使用7位,最高位没定义)。用于寄存器各端口及定时器/计数器的工作状态。

3.3.4 8155的定时器/计数器

定时器/计数器的记数结构:

8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,以其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义计数器输出的信号形式。8155定时器/计数器的记数结构如表3-3所示:

表3-3 8155定时器/计数器的记数结构

8155的定时器/计数器与MCS-51单片机芯片内部的定时器/计数器在功能上是完全相同的,即同样具有定时和计数两种功能。但是在使用上却与MCS-51的定时器/计数器有许多不同之处。具体表现在:

8155的定时器/计数器是减法计数,而MCS-51的定时器/计数器却是加法计

数。因此确定计数初值的方法是不同的。

●MCS-51的定时器/计数器有多种工作方式。而8155的定时器/计数器则只有

一种固定的工作方式,即14位计数,通过软件方法进行计数值加载。

●MCS-51的定时器/计数器有两种计数脉冲。当定时工作时,由于芯片内部按

机器周期提供固定频率的计数脉冲;当计数工作时,从芯片外部引入计数脉冲。但8155的定时器/计数器,不论是定时工作还是计数工作,都由外部提供计数脉冲,其信号引脚就是TIMER IN。

●MCS-51的定时器/计数器,计数溢出自动置位TCON寄存器的计数溢出标志

位(TE),供用户以查询或中断方式使用;但8155的定时器/计数器,计数溢出时向芯片外边输出一个信号(TIMER OUT)。而且这一信号还有脉冲和方波两种形式,供用户进行选择。具体由M2、M1两位定义:

M2 M1= 00 单个方波

M2 M1= 01 连续方波

M2 M1= 10 单个脉冲

M2 M1= 11 连续脉冲

这4种输出形式如图3-4所示:

M2M1 开始计数终止计数

↓↓

00 单个方波

01 连续方波

10 单个脉冲

11 连续脉冲

图3-4 8155定时器/计数器的输出方式

3.4 时钟芯片8563

3.4.1 8563的主要特性及管脚结构图

特性:

1.宽电压范围1.0 5.5V 复位电压标准值Vlow=0.9V

2.超低功耗典型值为0.25 A VDD=

3.0V,Tamb=25

3.可编程时钟输出频率为32.768KHz 1024Hz 32Hz 1Hz

4.四种报警功能和定时器功能

5.内含复位电路振荡器电容和掉电检测电路

6.开漏中断输出

7.400kHz I2C 总线(VDD=1.8 5.5V) 其从地址读0A3H;写0A2H

PCF8563 的管脚排列及描述如图3-5所示:

图3-5 8563引脚图

功能如表3-4所示:

表3-4 8563管脚功能表

3.4.2 8563的基本原理

8563有16个8位寄存器:一个可自动增量的地址寄存器,一个内置

32.768KHz 的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟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 位二进制数倒计数每次倒计数结束定时器设置标

基于AT89C51单片机出租车计价器的研究.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219