出租车计价器设计与实现.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安电子科技大学
单片机电路设计报告
设计题目:出租车计价器设计与实现
系部计算机系
专业计算机科学与技术
班级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所示:
单片C5按键输入数码管显示电路电源输入
1 总体方案方框图图
软件设计方案
Proteus 7 软件进行软件调试和仿真。语言编写程序,使用KeilC51和C本设计采用其中的里程计算方案和金额计算方案如下:里程计算
用按键输入来代替霍尔传感器对车轮检测的输出脉冲到单片机1)(0.1km
一个输入代表路程单片机对按键输入的信号进行计数,并进行路程计算。(2)
金额计算内不加价7元,并且2km起步价初始设定为(1)
公里元公里,晚上按元后,开始加价。白天按当路程超过)(2 2km2/3/开始设置定时器、中断参数扫描独立键盘
公里元3/NO
晚上按键按下?白天/ 公里元/YES 2 1计时定时器
YES
计费按下?计时/ 进入计时模式NO
清零是否按下?YES
复位结束软件流程2 图
3.硬件设计
本系统的硬件设计主要包括单片机STC89C52、数据显示电路、按键单元、电源电路部分、RS232串口电路
STC89C52
STC89C52主要特征
●与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口被外部下拉为低电平时,口作为第八位地址接P1编程和校验时,FLASH在这是由于内部上拉的缘故。将输出电流,
收。
管脚结构图4 STC89C52图
P2.0~P2.7 P0.0~P0.7