出租车计价器设计与实现.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安电子科技大学单片机电路设计报告设计题目:出租车计价器设计与实现系部计算机系专业计算机科学与技术班级030914学生姓名罗维、张长建、邓海霞学号03091350指导教师田玉敏2011年11月24日1.前言本文介绍了出租车计价器系统在实际生产生活中的重要性,介绍一种以单片机STC89C52为核心的出租车计价器的设计,阐述硬件设计过程中关键技术的处理。在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。本设计采用STC89C52单片机为主控器,实现对出租车的计价设计,输出采8段数码显示管,74LS245芯片和74LS138芯片驱动。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜来调节单价,同时具有计时功能。2.系统整体设计设计要求设计一款基于STC89C52单片机的出租车计价器基本功能(1)根据输入的模拟脉冲实现同步计费,起步价设为7元,每公里费用初始设为2元(2)能够根据白天/晚上切换单价(3)具有清零功能(4)八位数码管动态显示(计费模式下4位显示路程,4位显示费用)(5)具有计时功能(6)能够在计时模式和计费模式之间切换(7)按键要求:白天/晚上切换、中断输入、清零、计时模式/计费模式切换系统功能本次设计的出租车计价器的主要功能有:金额输出、里程输出、数据复位、白天/晚上单价转换、计时等。输出采用2个4位8段共阳极数码管。计费模式下前四位显示金额,后四位显示里程,计时模式下八位全用来显示时间。设计方案本设计是由硬件设计和软件设计两部分所组成。软件设计要进行程序的编写和软件仿真;硬件设计要进行原理图设计,PCB设计,制作电路板和硬件调试等硬件设计方案:本系统的硬件设计主要包括单片机STC89C52、数据显示部分、按键单元、电源部分、RS232串口部分。在硬件设计过程中,充分利用各部件的功能,实现多功能出租车计价器的设计计价器的系统框图如图1所示:图1总体方案方框图软件设计方案本设计采用C语言编写程序,使用KeilC51和Proteus7软件进行软件调试和仿真。其中的里程计算方案和金额计算方案如下:里程计算(1)用按键输入来代替霍尔传感器对车轮检测的输出脉冲到单片机(2)单片机对按键输入的信号进行计数,并进行路程计算。一个输入代表路程0.1km金额计算(1)起步价初始设定为7元,并且2km内不加价(2)当路程超过2km后,开始加价。白天按2元/公里,晚上按3元/公里C51单片机按键输入数码管显示电路电源输入开始设置定时器、中断参数扫描独立键盘白天/晚上按键按下?定时器1计时清零是否按下?复位结束NO3元/公里YES2元/公里YES计时/计费按下?NOYES进入计时模式图2软件流程3.硬件设计本系统的硬件设计主要包括单片机STC89C52、数据显示电路、按键单元、电源电路部分、RS232串口电路STC89C52STC89C52主要特征●与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。STC89C52芯片在出厂时,闪存处于可擦除状态,各地址单元内容为FFH,可随时进行编程。编程是按字节进行的。编程电压VPP有高压12V的,也有低压5V的。STC89C52的内部结构框图如图3所示:STC89C52管脚结构图及管脚说明如图4所示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口作为第八位地址接收。图4STC89C52管脚结构图P0.0~P0.7P2.0~P2.7++图3STC89C52的内部结构框图P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个P0驱动P2驱动P0锁存器P2锁存器动FPEROMRAMRAM地址寄存器B寄存器ACCTMP2TMP1堆栈指针ALUPSW指令寄存器定时控制P1锁存器P3锁存器中断、串行口和定时器P1驱动P1驱动OSCP1.0~P1.7P3.0~P3.7程序地址寄存器DPTR缓冲PC增加1PCPSENTTL门电流,当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.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。表5STC89C52部分引脚功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6/WR(外部数据存储器写选通)P3.7/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:来自反向振荡器的输出STC89C52的振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。STC89C52最小系统单片机最小系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统。复位电路单片机在启动运行时都需要进行复位操作,以便使CPU和系统中的其它部件都处于某一确定的初始状态,并从这个状态开始工作。AT89C52单片机有一个引脚RST,它是施密特触发器的输入端,其输出端接复位电路的输入。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能完成复位操作。复位有电复位和手动复位两种。手动复位有电平方式和脉冲方式两种。本次设计中,采用上电复位。复位电路连接图如图6所示:图6复位电路振荡电路时钟电路产生的振荡脉冲经过触发器进行二分频之后,才能为单片机的时钟脉冲信号。振荡频率取决于石英晶体的振荡频率,频率范围可取1.2MHz—12MHz。C2、C4主要起频率微调和稳定作用,电容值可取5~30pF。晶体振荡频率高,则系统的时钟频率也高,单片机运行也就快,但反过来运行速度快对存储器的速度要求就高,对印刷电路板的工艺要求也高(线间寄生电容要小)。在本次设计中,选取晶振频率为12MHz,C2和C4的值均为22pF。振荡电路如图7所示图7振荡电路电源电路部分任何电子设备都需要用直流电源供电,比较经济实用的的方法是直接使用计算机USB接口供电,其输出电压稳定,可靠性高,调试方便电源电路见图8图8电源电路数据显示电路LED显示器介绍在单片机应用系统中,为了控制系统的工作状态,以及向系统中输入数据和信息,系统应设有按键或键盘。为了观察和监视键盘输入的信息,为了了解系统的工作情况以及得到系统完成任务的结果,系统应设有显示装置。单片机最常用的显示装置是LED显示器。图9LED管脚配置图LED显示器原理LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是七段LED。这种显示块有共阴极和共阳极两种,如上图所示,共阴极LED显示块的发光二极管阴极共地,如图中所示,当某个发光二极管的阳极为高电平时,发光二极管点亮。共阳极LED显示块的发光二极管阳极并接,当某个二极管的阴极为低电平时,该二极管点亮。通常的七段LED显示块中有八个发光二极管,故也称为八段显示器。其中七个二极管构成七笔字型“8”,一个发光二极管构成小数点。控制不同组合的二极管导通,就能显示各种字符。设8位控制器按低到高的次序依次控制LED显示块的a~f和小数点dp,我们称控制器输出的控制LED显示块显示字符的8位字节数据为段选码。共阳极与共阴极的段选码互为反码。在单片机应用系统中使用LED还可构成任意位的LED显示器。如8位LED显示器有8根位选线和8χ8根段选线。每根位选线控制该位的LED的8根段选线控制该位LED显示什么字符。段选线控制显示字符的字型,而位选线控制显示位的亮、暗。显然,多位LED控制线占用太多。在多位LED显示时,为了简化电路,降低成本,将所有位LED的段选线并接在一起,在某一刻时,将要显示的字符段码同时送到每一个显示器的各段,但是只让这一位LED显示。下一时刻又送下一位LED要显示字符的段码,并只让下一位LED显示…….如此轮流,使每位显示该为的字符,这样不断

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功