文档库 最新最全的文档下载
当前位置:文档库 › 用8031单片机控制出租车计价系统

用8031单片机控制出租车计价系统

用8031单片机控制出租车计价系统
用8031单片机控制出租车计价系统

桂林电子科技大学单片机最小应用系统

指导老师:吴兆华

学生:严天祥

学号:092011104

机电工程学院

2010年6月

单片机最小应用系统设计报告

一、设计题目和要求 (2)

二、设计目的 (3)

三、系统硬件图 (3)

四、程序流程图 (4)

五、系统说明与分析 (5)

5.1最小系统控制部分 (5)

5.2 单片机的I/O接口 (6)

5.3 单片机使用的外围电路 (7)

5.4 中断控制 (9)

5.5 数码管显示模块 (11)

5.6电路板的制作 (13)

5.7系统连线说明分析 (14)

5.8系统调试 (15)

六、源程序 (15)

七、总结 (19)

八、参考文献 (19)

一、设计题目和要求

题目:出租车计价系统。

要求:用8031单片机控制出租车计价系统。要求价格=速度*时间*单价。并要求用单片机的定时/计数器控制LED数码管显示总价格和行驶时间。(本例中速度为36km/h,即

0.01km/s,单价为白天1元/km,晚上2元/km)

二、设计目的

1、进一步熟悉和掌握单片机的结构及工作原理,加深对单片机理论知识的理解;

2、掌握单片机内部功能模块。如定时/计数器、中断系统、存储器、I/O口等;

3、掌握单片机的编程方法,调试方法;

4、掌握单片机应用系统的构建和使用,为以后设计和实现单片机应用系统打下良好的基础。

5、提高处理实际问题的能力和独立分析思考的能力。

三、系统硬件图

1、出租车计价系统的硬件电路原理图如下:

图1 电路原理图

2、出租车计价系统的硬件电路PCB图如下:

图2 PCB图四、程序流程图

出租车计价系统程序框图如下:

图3 程序流程图

五、系统说明与分析

5.1最小系统控制部分

最小系统的控制器由单片机AT89S51实现,它是单片机MCS-51高性能8位机系列的一种,广泛应用于各种小型控制系统中,其引脚图如图4所示。

图4

AT8S51包含128字节RAM、32条I/O 口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O 口(可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路)。功能结构如图5所示:

图5 AT89S51单片机功能结构图

5.2 单片机的I/O接口

接口电路是单片机必不可少的组成部分,并行输入输出接口是CPU和外部进行信息交换的主要通道。MSC-51系列单片有4个8位并行双向I/O口P0~P3,共32根I/O 线。单片机可以外接键盘、显示器等外围设备.还可以进行系统扩展,以解决硬件资源不足问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。现简要介绍P0,P2口的电路如下:

(1) P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

图6 P0口的位结构

(2) P2口的位结构比P1多了一个控制转换部分,结构与P0口基本相似,如图7所示。P2口改P0推拉式输出驱动电路为上拉电阻式,当控制信号s为低电平,作I/O口使用时,多路开关MUX使锁存器输出端Q与输出驱动输入端接通,构成一个准双向口。此外,当外部扩展存储器时,P2口常做高8位地址线使用。

图7 P2口的位结构

5.3 单片机使用的外围电路

单片机应用系统中,除了基本计算机系统单元电路外.还需配备完整的外围电路、以完成复位、掉电保护、提供时钟、节电等功能。

(1)时钟电路:单片机内部有一个高增益的反相放大器,通过XTAL1和XTAL2引脚外接石英振于或陶瓷振子、微调电容组成振荡器如图8所示。该振荡器发出的脉冲直接送入内部时钟电路。振荡器若外接的是石英扳子,微调电容通常选择30pF;外接陶瓷娠子时选样47pF。振荡频率范围选择1.2—12M。MCS5-51系列单片机也可以采用外接时钟,这时XTAL 2脚用来输入外部时钟信号(XTAL2脚为内部时钟电路的输入端),XTALl 脚则接地如图8-b所示。对于CHM05工艺制造的80C51单片机,则应从XTALl脚输入外部时钟信号,XTAL 2脚悬空。本单片机最小系统设计时采用的是外接石英晶体震荡电路。采用此电路的优点是不用外接时钟,手动制板比较容易制板,调试方便。

(2)复位电路:复位使单片机处于起始状态,并从此状态开始运行MCS5-51单片机RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振荡周期)以上的高电平。可使单片机复位。本论文使用的是外部复位电路,单片机在启动后要从复位状态开始运行,因此上电时要完成复位工作,称上电复位,如图9-a所示。上电瞬间电容两端的电压不能发生突变,只RST端为高电平+5v,上电后电容通过及RC电路放电RST端电压逐渐下降,直至低电平0V,如图9-c所示。适当选择R、C的值,使RST端的高I电平维持2个机器周期以上即可完成复位。单片机L在运行过程中,出于本身或外并干扰的原因会导致出错。这时可按复位键以重新开始远行,按键复位可分为按键电平复位或按健脉冲复位,如图9-b所示。按键脉冲复位和上电平复值的原理是一样的,都是利用RC电路的放电原理,如图9-d所示。让RST端能保持一段时间的高电平,以完成复位,按键电平复位时,按键时间也应保持在两个机器周期以上。

图8(a)外接石英晶体振荡电路图8(b)外接时钟电路

(a) 上电复位(b) 按键电平复位

(c) RC放电过程(d) 电平复位过程

图9 单片机常用复位电路

本实验由于设计的系统简单且对控制系统精度的要求不高而采取了按键电路复位,电路图9(b)所示。这种时钟电路的优点是手动复位操作可以给调试带来方便。

根据要求所最小系统所选用的器件有单片机AT89S51一个、电容30pf的两个、晶振12M一个、100pf电容一个、1K电阻一个。最小系统原理图如图10所示:

图10最小系统控制原理图

从上图可以看到除了最基本的外围电路,在单片机PO接口处还加了一个1K上拉电阻R10,此电阻作为上拉电阻使用。上拉电阻就是把不确定的信号通过一个电阻钳位在高电平,此电阻还起到限流的作用。使用时将比较器LM324的输出端与P0口及上拉电阻的一端相连,上拉电阻的另一端与电源VCC相连。上拉电阻的作用为:

1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2、OC门电路必须加上拉电阻,以提高输出的高电平值。

3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。

5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。

6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。

7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

在最小系统中使用上拉电阻可以有效提高单片机的带负载能力,从而让单片机很容易的接收到比较器输出端发出的中断信号。

另外上拉电阻的选型原则包括:

1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

3、对于高速电路,过大的上拉电阻可能边沿变平缓。

综合考虑以上三点,通常在1k到10k之间选取。故本次设计采用1K的上拉电阻。

5.4 中断控制

中断:当CPU正在处理某件事情的时候,外部发生的某一件事(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完成事件以后再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。计算机的中断系统可以使CPU与外设同时工作。AT89S51为MCS-51系统的一种单片机,其中断系统具有三类共五个中断源.两个外部中断源,分别通过引脚INT0和INT1引入中断请求信号,且都有相应的中断优先级,优先级排列顺序如下:

外中断源有两种中断触发方式:电平触发方式和脉冲触发方式.内部有两个定时器/计数器T0和T1,用于进行定时和计数控制,是内部中断源. T0和T1在内部时钟脉冲(或者外部计数脉冲)的作用下进行定时(或者计数).定时(或者计数)结束时,由硬件产生溢出中断信号向CPU提出中断请求.由CPU对定时(或者计数)结果进行处理.AT89S51有一个全双工异步串行中,用于进行串行通信,是内部中断源.其中定时器/计数器中断被广泛用在各种控制系统中。

AT89S51为每个中断源设置了中断请求标志位.检测到中断请求信号后,为相应的中断标志置位,以便在下一个机器周期进行下一步的控制和处理。在相应的中断标志置位后,通过中断允许控制寄存器寄存器,其中使用六位。EA(IE.7)为中断允许总控位,其状态由用户通过程序进行控制.EA=1时中断允许,即为开中断,EA=0时中断禁止,即为关中断。ET1(IE.3)为定时器T1的中断允许控制位,ET1=1时,允许定时器T1中断,ET1=0时,禁止定时器T1中断。ET0(IE.1)为定时器T0的中断允许控制位,ET0=1时,允许定时器T0中断,ET0=0时,禁止定时器T0中断.IE中还有三位用于对其它三个中断源进行中断允许控制。8051系统复位后,IE寄存器中各位均被清0,禁止所有的中断。在应用时,由软件进行设定。既可以使用位操作,也可以使用字节操作来实现对IE的设置。例如开放定时器T1中断,使用位操作为:

SETB EA

SETB ET1

本实验中当有障碍物出现时,红外线发射接收中断,比较器输出一个高电平,向单片机控制系统发送中断请求。CPU响应中断请求、为中断源事件进行处理,是通过执行中断服务程序实现的.AT89S51在内部ROM中为五个中断源定义了固定的中断服务区,其中:000BH—0012H为定时器T0的中断服务区,001BH—0022H为定时器T1的为断服务区.响应中断请求后,CPU按照中断源的不同,自动转到各中断区的首地址去执行程序.中断

区的首地址也称中断入口地址,是中断控制的要点之一。但8个字节的中断服务区难以存下一般的中断服务程序,解决办法是在中断区的入口地址处存放一条无条件转移指令,将流程转入中断服务程序的真正入口,开始执行中断程序。

此外需要注意的是用中断方式进行编程应遵循以下步骤:

(1)开中断

(2)设置中断优先级

(3) TMOD初始化

(4)设置定时/计数初值

(5)启动定时/计数

(6)编写定时/计数中断处理程序

5.5 数码管显示模块

(1)数码管的分类

LED数码管有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED 数码管。

八段LED数码管由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。四位八段数码管的引脚结构如图11所示:

图11 四位八段数码管的引脚结构

其中S1,S2,S3,S4为字位选择端口,A,B,C,D,E,F,G,DP为字形选择端口。(2)数码管的显示原理

数码管在应用时首先要区分是共阳数码管还是共阴数码管,不同类别的数码管接法不同,并且数码管的显示也分为动态显示和静态显示。

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

动态显示的特点是将所有位数码管的段码并联在一起,由位码控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。在本次的最小系统设计中我们应用的是动态扫描显示。

动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段A-H同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

(3)TTL电路的驱动电流和数码管的驱动以及关于上拉电阻的作用

使用数字集成电路时,拉电流输出和灌电流输出是一个很重要的概念,例如在使用反向器作输出显示时,拉电流输出,即当输出端为高电平时才符合发光二极管正向连接的要求,但这种拉电流输出对于反向器只能输出零点几毫安的电流用这种方法想驱动二极管发光是不合理的(因发光二极管正常工作电流为5~10mA)。灌电流输出,即当反向器输出端为低电平时,发光二极管处于正向连接情况,在这种情况下,反向器一般能输出5~10mA的电流,足以使发光二极管发光,所以这种灌电流输出作为驱动发光二极管的电路是比较合理的。因为发光二极管发光时,电流是由电源+5V通过限流电阻R、发光二极管流入反向器输出端,好像往反向器里灌电流一样,因此习惯上称它为“灌电流”输出。

在数字电路中我们经常可以看到上、下拉电阻。

①定义:

●上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理;

●上拉是对器件注入电流,下拉是输出电流;

●弱强只是上拉电阻的阻值不同,没有什么严格区分;

●对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

②拉电阻作用:

●一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻;

●数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定;

●一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似与一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平,C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该口平时为低电平,作用就是当一个接有上拉电阻的端口设为输入状态时,他的常态就为高电平,用于检测低电平的输入;

●上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是我们通常所说的灌电流;

●接电组就是为了防止输入端悬空;

●减弱外部电流对芯片产生的干扰;

●保护cmos内的二极管,一般电流不大于10mA;

●通过上拉或下拉来增加或减小驱动电流;

●改变电平的电位,常用在TTL-CMOS匹配;

●在引脚悬空时有确定的状态;

●增加高电平输出时的驱动能力;

●为OC门提供电流。

5.6电路板的制作

ProtelDXP功能强大,为我们进行电子电路原理图和印制板图的设计提供了良好的操作环境。用ProtelDXP进行电路设计分为两大部分:原理图的设计和电路板的设计。原理图的设计实在SCH系统中进行的,电路原理图是印刷板电路设计的基础,只有设计好原理图才有可能进行下一步的电路板设计。

用protelDXP进行电路板设计的第一步是其原理图的设计。显然,原理图决定整个电路的基本功能,也是接下来生成网表和设计印刷板电路的基础。具体步骤如下:(1)图面设置:

ProtelDXP允许用户根据电路的规模设置图面的大小,按照偏好和习惯设置图面的样式。实际上,设置图面就是设置了一个工作平面,以后的工作就要在这个平面上进行。所以图面应该设置得足够大,为进一步工作提供一个足够大的工作空间。

(2)放置元件:

所谓放置元件就是从元件库中选取所需得元件,将其布置到图面上合适的位置,有时还要重定义元件的编号、封装。元件的封装很重要,要根据元件的实际尺寸和实际封装来决定,要是元件没封装好,将会给以后电路板的制作带来很大的麻烦。这些都是下一步工作的基础。ProtelDXP为用户提供了一个非完备的元件库,并且允许用户对这个元件库进行编辑或者新建自己的元件库。

电路板的制作过程

(1) 打印:

将生成的PCB图打印到热转印纸上,需注意线不能太窄,墨要加重,否则制板时容易断线,如果在操作过程中断了线,可用电烙铁将锡带过。

(2) 熨烫:

将热转印纸覆在铜板上,用电熨斗进行熨烫,关键要注意熨烫的时间,不能太久,也不能时间太短,否则,太久会把铜板烫坏,不够的话墨迹覆不上去。

(3) 腐蚀:

把铜板放到三氯化铁溶液中腐蚀,需注意溶液浓度要较高,最好用热水配置,这样腐蚀更快,一般3分钟即可。如果时间过长,需剩下的铜线也可能被腐蚀。

(4) 打孔:

打孔时注意钻头尺寸,本次用的钻头大小是0.8mm的,最需注意的地方是集成块的管脚,如果打孔误差大,管座就很难插上。

(5) 放置元件:

放置前应先打磨一下打孔后留下的毛刺,并均匀地涂上松香水(目的是防止铜线氧化,易于焊锡覆着焊盘,但多涂会导致焊接时焊点变黑,影响美观)。放置元件时注意集成块的管脚,二极管和电解电容的正负,这些都是平时比较容易出错的地方。

(6) 焊接:

焊接技术比较难掌握,焊锡、烙铁与焊盘的位置关系,焊锡熔化时间长短,松香水的浓度,烙铁的温度等等,都是影响焊点美观的因素。

(7) 检查:

检查是否有虚焊,集成块管脚位置是否正确,电源引线位置是否恰当等。检查完毕就能进行调试了。

5.7系统连线说明分析

在本系统中单片机的P0口与2个二位数码管的8个数据输入端相连,P2口与1个

四位数码管的8个数据输入端相连,P3口与驱动电路相连,P1.0,P1.1,P1.2,P1.3分别接控制开关,EA端需要与高电平相连,以保证单片机可以在内部存储器存储信息。5.8系统调试

调试过程:

1、保证电路板连接正确后,接上电源,打开系统手动复位。

2、首先检查各个管脚、焊点是否损坏或者虚焊,通过系统工作时电压的变化来检查。

3、按下开关,观察数码管是否工作,如果工作,看是否与希望的实验现象相符合。

4、如果系统可以按所编程序完成相应的实验现象则调试成功,否则需要重新检查硬件

电路及软件编程,重新调试。

调试结果:

通过几次调试可以达到自己预先设计的结果,白天跑1s计价0.01元,晚上跑1s 计价0.02元,按暂停键停止计时。

实验过程中的问题及改进方法

1、制作电路板过程中由于焊接等原因,造成电路连接不通现象,浪费了调试时间。

2、忘记把EA端与高电平相连,导致系统不能正常工作。

3、开始时比较电路中P2口的数码管显示较暗,加了上拉电阻后显示效果较好,改善了电路性能。

3、由于本次实验时间有限,实验所采用的元器件简单,计时的精确度,有效范围都有待于加强,希望在以后的设计中能够有所改进。

六、源程序

#include "reg51.h"

unsigned char cnt_time,cnt_cost;

unsigned char data key_val,key_val_old,flag;

unsigned char state_val,timecount,speed;

unsigned int m,s,s0,s1,m0,m1;

unsigned int fen,jiao,yuan1,yuan2;

char code cost_val[2]={1,2};

char code led_seg_code[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,

0x67,0x80};

//led_seg_code[0-9]代表0-9

//-------延时-----------------

void delay(unsigned int i)//延时

{ while(--i); }

//-------初始化变量------------------

void init_variant() //初始化一些变量的内容

{

cnt_time=0; //时间的计数

cnt_cost=0; //保存总价格

speed=36;

}

//-------扫描键盘-----------------

unsigned char scan_key()

{

unsigned char i,k;

i=P1;

if (i==0xff)

{ k=255; } //无键按下

else //有键按下

{ delay(10); //延时去抖动

if(i!=P1)

{k=255;}

else

{ switch (i)

{ case 0xfe: k=0; break; //P1.0按下,启动键 case 0xfd: k=1; break; //P1.1按下,清除键 case 0xfb: k=2; break; //P1.2按下,切换键 }

}

}

return k;

}

//-------数码管动态扫描-------------

void led_show()

{

s=cnt_time%60;

s0=s%10;

s1=s/10;

m=cnt_time/60;

m0=m%10;

m1=m/10;

fen=cnt_cost%10;

jiao=cnt_cost/10%10;

yuan1=cnt_cost/100%10;

yuan2=cnt_cost/1000%10;

//-----显示时间----

P3=0xfe;

P0=led_seg_code[s0];

delay(10);

P3=0xfd;

P0=led_seg_code[s1];

delay(10);

P3=0xfb;

P0=led_seg_code[m0];

delay(10);

P3=0xf7;

P0=led_seg_code[m1];

delay(10);

//-----显示总价格-----------

P3=0xef;

P2=led_seg_code[fen];

delay(10);

P3=0xdf;

P2=led_seg_code[jiao];

delay(10);

P3=0xbf;

P2=led_seg_code[yuan1];

delay(10);

P3=0xbf;

P2=led_seg_code[10];

delay(10);

P3=0x7f;

P2=led_seg_code[yuan2];

delay(10);

}

//-------计时----------------

void time1(void) interrupt 3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

timecount++;

}

//---------主程序----------------

main()

{//初始化各变量

//初始化各变量

state_val=0;

key_val_old=255;

init_variant();

//初始化51的寄存器

TMOD=0x10; //用T1计时 8位自动装载定时模式,不用T0 TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

EA=1; //开中断

ET1=1;

TR1=0; //定时器T1

while(1)

{

key_val=scan_key(); // 255;//

if (key_val!=key_val_old)

{

key_val_old=key_val;

if (key_val!=255)

{ switch (key_val)

{ case 0: //白天

TR1=1;

state_val=0;

flag=1;

break;

case 1: //黑夜

TR1=1;

state_val=1;

flag=1;

break;

case 2: //暂停键

TR1=1;

flag=0;

break;

/*case 3: //清除键

init_variant(); //清除变量

TR1=0; //关闭定时器

break;*/

}

}

}

if(TR1==1)

{

if(flag==1)

{

if(timecount==20)

{

timecount=0;

cnt_time++;

cnt_cost=cnt_cost+speed*cost_val[state_val]/36; }

led_show();

}

if(flag==0)

{

timecount=0;

led_show();

}

}

}

}

//-----出租车计价器程序结束------------

七、总结

1、在设计系统过程中,学会用Protel99se画原理图和PCB图。

2、自己动手制作电路板,了解了电路板的设计及手工制作过程,提高动手能力。

3、调试程序过程中,针对遇到的问题,寻找解决方法,掌握了汇编语言编制单片机程序。

4、感谢在整个设计单片机最小系统过程中给我很大帮助的导师,师兄和同学。

八、参考文献

[1] 孙安青. AT89S51单片机实验及实践教程[M].

[2] 耿长清.俞宁.单片机应用技术[M].北京:化学工业出版社,2002.

[3] 李广弟.朱月秀.王秀山.单片机基础[M].北京:北京航空航天大学出版社,2003.

[4] 黎文模.Protel DXP电路设计与实例精解[M].北京:人民邮电出版社,2006.

[5] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004.

[6] 李志杰.刘卓华.一种新型家庭报警系统[J].工程技术.2007,10:49-50.

出租车计费系统的设计好

1.所选题目:出租车计费器 2.设计要求:设计一个出租车计费器,能按路程计费,具体要求如下: (1)实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在汽车行驶2km 后按1.2元/km 计费,当里程数达到15km 后,没千米加收50%的空驶费,车辆停止和暂停时不计费。 (2)现场模拟汽车的启动、停止、暂停和换挡等状态。 (3)设计数码管显示电路,将车费和路程显示出来,各有1位小数。 3.设计原理:设计该出租车有启动键、停止键、暂停键和档位键。启动键为脉冲触发信号,当其为一个脉冲时,表示汽车已启动,并根据车速的选择和基本车速发出相应频率的脉冲(计费脉冲)以此来实现车费和路程的计数,同时车费显示起步价;当停止键为高电平时,表示汽车熄火,同时停止发出脉冲,此时车费和路程计数清零;当暂停键为高电平时,表示汽车暂停并停止发出脉冲,此时车费和路程计数暂停;档位键用于改变车速,不同的档位对应着不同的车速,同时路程计数的速度也不同。 4.模块设计:出租车计费器可分为两大模块,即控制模块和译码显示模块。系统框图如下: 5.电路符号:出租车计费器的输入信号有:计费时钟脉冲clk ;汽车启动键start ;汽车停止键stop ;档位speedup 。输出信号:7段显示控制信号seg7;小数点dp 。 6.具体设计流程: (1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA ,counterB ,counterC ,counterD ,counterE 。①计数器A 完成车费百位。②计数器B 完成车费十位和个位。③计数器C 完成车费角和分(显示时只显示角)。④计数器D 完成计数到20(完成车费的起步价)。⑤计数器E 完成模拟实现车行驶100 m 的功能。 计费时钟 档位 启动 控制模块 显示模块 暂停 停止

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间:2011年5月23日—2011年6月10日 目录

一.设计目的 (2) 二.设计要求 (2) 三.系统结构 (2) 四.功能模块设计 (3) 五.软件设计 (5) 六.电路组装与调试 (6) 七.电路仿真 (7) 八.总结 (8) 八.附录 (9)

出租车计价器课程设计 一、设计目的 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以红外对管测转速,对实际里程的模拟,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 二、设计要求 出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟) 三、系统结构 根据设计的要求选择实验的方案:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以红外对管和电机测转速(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管,相对液晶显示价格便宜,利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。 器系统结构图如下: 四、功能模块 1、单片机模块

出租车计价器 课程设计报告

软件学院 课程设计报告 课程 题目出租车计价器 班级集成13-4 专业集成电路设计与集成系统 学生学号 指导教师(填写自己班的指导教师) 年月日 1.课程设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的组合逻

辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 2.课程设计题目描述和要求 2.1.课程设计题目描述 ①.实现计费功能,计费标准为:按行驶里程计费,起步价为7.0元,并在车行3km 后按2.2元/km 计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。 ②.现场模拟功能:以开关或按键模拟公里计数,能模拟汽车起动、停止、暂停等状态。 ③.将车费和路程显示出来,各有一位小数。 2.2.总体设计思路框架 2.3.课程设计题目要求 ①.设计正确,方案合理。 ②.程序精炼,结构清晰。 ③.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 ④.上机演示。 ⑤.有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 3.设计思想和设计内容 3.1 出租车计费设计

该出租车计费器按下开关S1后开始计费和计里程数,起步价是7元,行驶3公里,以后2.2元/公里。并且设计选择模块,在车费超过20元每公里加收50%车费即3.3元/公里。 3.2 基本设计思想 出租车计费器根据设计要求可初步分为3方面——显示、记里程数、记费。之后再根据三方面分别设计模块。1.显示模块。一般计数器显示数字为1-F即16进制,而16进制不方便观看,所以在设计这一模块时我们将16进制改为10进制输出进而设计了译码模块。2、里程模块。设计要求对里程计数主要分为两个方面,计数以及公里数比较。即3公里之内收7元,3公里之后20元(通过计算为9公里)以内每公里2.2元,9公里以外为每公里3.3元。所以,我们将里程模块分为里程计数模块以为比较模块。3.计费模块。计费模块同里程比较模块所以将两个模块合二为一,为价格计算模块。 4.Verilog代码 4.1顶层模块 module taxi( clk,stop,rst_n, time1,time2,time3,time4, seg1,seg2,seg3,seg4 ); input clk; input stop; input rst_n; output [6:0]time1; output [6:0]time2; output [6:0]time3; output [6:0]time4;

基于51单片机的出租车计价器带仿真及程序

引言 现在各个城市出租车行业都已普及,因此出租车计价器的技术已经成熟,但是出租车计价器的市场还具有广阔的前景。随着城市建设的日益完善,关乎城市面貌的出租车行业也将迅速发展,出租车计价器的的大批量需求也是毫无疑问的,所以未来出租车计价器的市场还是有相当大的潜力的。 本次出租车计价器设计以AT89S52单片机为中心,采用U18霍尔传感器对轮胎转数进行计数,实现对出租车里程的测量,并最终计算出结果。其中采用寄存器芯片AT24C02使系统在掉电的时候对单价、里程、车轮长度等信息进行存储,采用时钟芯片DS1302来显示时间和在系统需要时进行计时。输出采用两个4段数码显示管,而且根据按键有空车指示灯、等待查询指示灯、单程指示灯进行指示。 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是有一定的应用价值的。

1 绪论 1.1 出租车计价器概述 我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 1.2 单片机的概述 计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的所以单片机又称微控制器MCU(Micro Controller Unit)。用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(Embedded MCU)。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达1~3亿片,且每年以大约16%的速度增长,但相对于国际市场我国的占有率还不到1%。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,

出租车自动计费系统

课程设计

东北石油大学课程设计任务书 课程EDA技术课程设计 题目出租车自动计费系统 专业电子信息工程姓名邵文瀚学号080901140717 主要内容、基本要求、主要参考资料等 主要内容: 设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。 基本要求: 1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元; 2、行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。 3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。 4、用LED显示行驶公里数,两个数码管显示收费金额。 主要参考资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限2011.3.11 指导教师 专业负责人 2011年3月7日

一、总体设计思想 1.基本原理 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。 大体设计思路为把传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,系统结构图如图。 2.设计框图 根据计费器设计要求,可将该系统分成四大模块,一块为计费模块,一块为时间计时模块,一块为路程控制模块,另一块为输出显示模块。

51单片机出租车计价器的设计

基于51单片机原理出租车计价器的设计 摘要 出租车计价器是出租车营运收费的专用只能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。国内出租车计价器已经经历了4个阶段的发展。从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。出租车计价器计费是否准确是乘客最关心的问题,而计价器营运数据的管理是否方便才是出租车司机最关注的。在随着科技的发展,现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 本次设计是采用AT89C52单片机为中心,外加霍尔传感器行对里程进行测距,由于实验室的限制的问题所以改用按键代替霍尔传感器,实现对出租车计价统计,输出采用LCD1602A的出租车计价器。 关键字:51系列单片机,霍尔传感器,LCD1602A

前言 (2) 第一章出租车计价系统的设计要求与设计方案 (3) 1.1 基本设计要求 (3) 1.2 性能指标 (3) 1.3 显示功能 (3) 第二章出租车计价器系统的硬件设计 (4) 2.1 出租车硬件框图 (4) 2.2 AT89C52单片机及引脚说明 (4) 2.3 LCD1602A的简介 (7) 2.4 时钟电路 (10) 2.5 复位电路设计 (10) 2.6 显示电路 (11) 2.7 键盘接口技术 (12) 2.8 霍尔传感器设计 (12) 第三章出租车计价器系统的软件设计 (13) 3.1 系统整体程序流程 (13) 3.2 中断子函数 (14) 3.3 按键判断方式 (15) 3.4 LCD1602显示的判断 (15) 第四章出租车系统的安装与调试 (17) 4.1 硬件调试 (17) 4.2 软件调试 (17) 第五章设计体会与小结 (18) 参考文献 (19) 附录 (20) 一源程序 (20) 二系统硬件原理图 (29)

出租车计费系统的设计 毕业设计论文

目录 摘要 (1) 第1章绪论 (2) 第2章系统设计 (3) 2.1系统组成 (3) 2.1.1 计费及显示 (3) 2.1.2 时钟及显示 (3) 2.1.3 计费开始提示 (1) 2.2功能模块设计 (1) 第3章硬件及软件实现 (3) 3.1传感器 (3) 3.1.1 光电传感器电路设计 (3) 3.1.2车轮光电开关检测电路 (4) 3.2单片机 (4) 3.2.1 8051 单片机功能方块图 (5) 3.2.2 AT89S51单片机简介 (7) 3.2.3 AT89S5l与51系列单片机相比具有如下特点 (8) 3.2.4 89S51的内部框图 (9) 3.2.5 中断控制 (11) 3.2.6 单片机控制程序设计 (12) 3.2.7 单片机汇编语言源程序 (16) 3.3显示及按键控制系统 (31) 3.3.1 LED数码管 (31) 3.3.2 数据显示电路的设计 (32) 第4章系统检测及分析 (34) 4.1系统仿真/硬件验证 (34) 4.1.1 系统的调试方法 (34) 4.1.2 系统的硬件验证 (34) 4.2设计技巧分析 (35) 结论 (36) 附录A: FPGA芯片引脚 (37)

摘要 本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。显示器可以采用LED数码管。系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。而且,单片机丰富的I/O口和FPGA 模块化的设计为系统功能的扩展提供了空间和便利。 关键词计费系统,单片机,FPGA芯片

出租车系统设计

出租车计费系统设计 功能分析 本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制, 目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:防作弊功能,IC卡付费:顾客能在制定点购买一定额度的"顾客IC卡",乘车后可用IC卡付帐,付帐是否成功有相应的提示。车主可定期将总营业额写入"车主IC卡"中,并据此IC卡向所属公司领取报酬。车票资料打印:顾客付费后可打印发票,打印内容包括车主信息和车费信息等。可打印车主总营业额信息。语音播报:当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。增加的这些功能将会更好地为乘客服务。 计费及显示 ①里程,即汽车行程里程,用四位数字显示,显示方式为"XXX.X",单位为㎞,精确到0.1 ㎞。 ②单价,即里程单价,用三位数字显示,显示方式为"X.XX",单价为元/㎞,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.4元/㎞,其他时间段内单价为1.80元/ ㎞。 ③等候时间,用四位数字显示分钟和秒,显示方式为"XX:XX",等候的定义是:当汽车行驶速度小于或等于12㎞/h时为"等候"。在等候时间大于1小时的情况下,可以不显示等候时间,但必须对等候时间进行统计计算。

④等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小 时。 ⑤费用的计算,出租车的起价为5.00元,当里程小于2㎞时,按起价计算费用;当里程大于2㎞时按下式计算费用:费用=里程*里程单价+等候时间*等候单价。 ⑥费用的显示,用五位数字显示,显示方式为"XXX.XX",单价为元。 时钟及显示 当出租车在通常运行状态下,应能显示当前的时间,在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟. 计费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。 功能模块设计 根据系统的设计要求,将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。 分频器模块FPQ:将外部时钟信号SCLK(设计时假设为1024HZ)经过适当分频后,产生1HZ的系统工作用基准时钟信号CLK1HZ,供给系统中的有关模块计时用。 等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每㎞产生1000

出租车计价系统设计

分类号:200 届本科生毕业论文 题目:出租车计价系统设计 作者姓名:李小双 学号:2007080416 系(院)、专业:机械与电子工程学院 指导教师姓名:胡波 指导教师职称:讲师

宿州学院毕业设计出租车计价系统设计 200 年月日 摘要 摘要::出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。 关键词:出租车计价器;单片机;控制 ABSTRACT Abstract:Taximeter is both passengers and drivers of the transaction criteria, it is the taxi industry an important symbol, a taxi is the most important tools. It relates to the interests of both transactions. Has a good performance regardless of the meter is a vast number of taxi drivers or passengers are very necessary. Therefore, the car meter is also very much a study of value. The use of analog circuits and digital circuit design of the meter as a whole circuit of a larger scale, using the device, a failure rate is high and difficult to debug, the pattern of switching need to use mechanical switches, mechanical switch will cause a long-time contacts Bad, functions not easy to achieve. SCM used for the design, a relatively powerful, with less hardware and appropriate software can easily coordinate with each other to achieve the design requirements, flexibility and strong, can be programmed by software to complete more of the additional Function. Pricing model for the switch, software programming and can easily cite the achievement. To avoid a mechanical switch the destabilizing factors. Keywords: Taximeter ;89 S51 MCU ;control

51单片机出租车计价器设计课程设计

任务书 毕业设计(论文)原创性声明和使用授权说明 原创性声明本人郑重承诺:所呈交地毕业设计(论文),是我个人在指导教师地指导下进行地研究工作及取得地成果.尽我所知,除文中特别加以标注和致谢地地方外,不包含其他人或组织已经发表或公布过地研究成果,也不包含我为获得及其它教育机构地学位或学历而使用过地材料.对本研究提供过帮助和做出过贡献地个人或集体,均已在文中作了明确地说明并表示了谢意. 日期:名:者作签

期:指导教师签名:日 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)地规定,即:按照学校要求提交毕业设计(论文)地印刷本和电子版本;学校有权保存毕业设计(论文)地印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目地前提下,学校可以公布论文地部分或全部内容. 期:日作者签名: 学位论文原创性声明本人郑重声明:所呈交地论文是本人在导师地指导下独立进行研究所取得地研究成果.除了文中特别加以标注引用地内容外,本论文不包含任何其他个人或集体已经发表或撰写地成果作品.对本文地研究做出重要贡献地个人和集体,均已在文中以明确方式标明.本人完全意识到本声明地法律后果由本人承担. 日月日期:年作者签名: 学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文地规定,同意学校保留并向国家有关部门或机构送交论文地复印件和电子版,允许论文被查阅和借阅.本人授权大学可以将本学位论文地全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文. .涉密论文按学校规定处理 日年月日期:作者签名:日月年日期:导师签名:摘要 随著超大规模集成电路技术地发展,单片机也随之有了很大发展,各种新颖地单片机层出不穷,并已广泛地应用到人类生活地各个领域,成为当今科学技术现代化不可缺少地重要工具.许多高校也纷纷开办了单片机这门学科,并在学科教授完后设有课程设计,希望同学能够通过这次设计学习和应用单片机解决工作中碰到地实际问题. 现代交通工具迅猛发展,出租车在人们地日常生活中所扮演地角色越练越重要,但如何准确计费,以达到既使乘客满意又不让出租车司机亏本地目地,就迫在眉睫.本课程设计主题是利用等实现出租车费用、LED位8、8279液晶显示器、可编程键盘显示接口器件LCD单片机、89C51. 路程和时间显示,作为一个单片机在实际生活中地简单应用.

出租车计价器控制电路的设计方案

数字电子课程设计 课题名称出租车计价器控制电路的设计 所在院系机电学院 班级07自动化<2)班 学号200710320227 姓名龚涛 指导老师张玲 时间2009-12-27

景德镇陶瓷学院 数字电子课程设计任务书 班级:07自动化<2)班姓名:龚涛指导老师:张玲

教研室主任签字:年月日 目录 0.前言4 1.设计要求及原理4 1.1 设计要求4 1.2 基本原理4 2.各单元设计说明5 2.1 单片机最小系统单元5 2.2 A44E霍尔传感器检测单元6 2.3 AT24C01存储单元7 2.4 键盘调整单元8 2.5 显示单元9 3程序设计9 3.1 系统主程序9 3.2 中断程序10 3.2.1 里程计数中断程序10

3.2.2 中途等待中断程序10 3.3 计算程序10 3.4 显示程序10 3.5 键盘程序10 4.0总电路图11 5.0原器件清单12 6.0参考文献12 0.前言 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 1.设计要求及原理 1.1 设计要求

出租车计费系统的设计

一、设计目的 1 掌握电子电路的一般设计方法和设计流程; 2 学习使用PROTEL软件绘制电路原理图及印刷板图; 3 掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正 确性。 二、设计要求 设计一个出租车计费系统,具体要求如下: 1. 能够实现计费功能。按照太原出租车的计费标准。 2.能够实现显示功能。分别用四位数字显示行驶里程和总费用,计价分辨率为0.1元。 三、设计内容 1 设计过程 1)使用PROTEL软件绘制原理图。 2)制作PCB版图。 3)应用EWB对所设计的电路进行仿真。 2 设计框图 (1) 各个模块的功能说明 -74160,是一个4位二进制的计数器,它具有异步清除端与同步清除端不同的是,它不受时钟脉冲控制,只要来有效电平,就立即清零,无需再等下一个计 数脉冲的有效沿到来。 具体功能如下: 1.异步清零功能 只要(CR的非)有效电平到来,无论有无CP脉冲,输出为“0”。在图形符号中,

CR的非的信号为CT=0,若接成七进制计数器,这里要特别注意,控制清零端的 信号不是N-1(6),而是N(7)状态。其实,很容易解释,由于异步清零端信号 一旦出现就立即生效,如刚出现0111,就立即送到(CR的非)端,使状态变为 0000。所以,清零信号是非常短暂的,仅是过度状态,不能成为计数的一个状态。 清零端是低电平有效。 2.同步置数功能 当(LD的非)为有效电平时,计数功能被禁止,在CP脉冲上升沿作用下D0~ D3的数据被置入计数器并呈现在Q0~Q3端。若接成七进制计数器,控制置数 端的信号是N(7)状态,如在D0~D3置入0000,则在Q0~Q3端呈现的数据 就是0110。 7448七段显示译码器 7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。该集成显示译码器设有多个辅助控制端,以增强器件的功能。 7448的功能表如表5.3.4所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下: 1. 灭灯输入BI/RBO BI/RBO是特殊控制端,有时作为输入,有时作为输出。当BI/RBO作输入使用且BI =0时,无论其它输入端是什么电平,所有各段输入a~g均为0,所以字形熄灭。 表5.3.4 7488功能表

出租车计费系统

课程设计报告项目名称:出租车计价器设计与制作 课程名称:单片机技术 二级学院:电气与电子工程学院 系:电气工程系 班级:14电气4班 学号:29 学生姓名:黄凌周 小组成员:刘智超黄凌周 指导教师:钟立华 成绩:

报告完成日期2016年12月20日 目录 摘要2 1 课程设计任务书3 1.1 课程设计任务3 1.2 课程设计方案3 2硬件电路设计4 2.1 振荡电路4 2.2 复位电路设计5 2.3 键盘接口电路5 2.4 显示电路6 2.4.1 1602LCD的基本参数及引脚功能6 2.4.2 显示模块采用1602液晶显示接口电路7 2.5 单片机各引脚功能说明7 3软件设计10 3.1 单片机资源使用10 3.2 单片机软件模块设计10 3.2.1 中断子函数10 3.2.2 判键子函数11 3.2.3 显示子程序11 3.3 总程序流程框图12 总结13 参考文献14 附录1 元件件清单15

附录2原理图16 附录3 程序清单17 摘要 本设计的是一个基于单片机STC89C52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。 在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。通过按键模拟出租车的运行,暂停,停止。在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以STC89C52单片机为核心控制器,P1口接1602液晶显示模块。 关键字STC89C52;1602液晶;出租车计费器

单片机课程设计 出租车计价器

摘要 出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。 在上电时LED数码管显示最初的起步价,里程收费,等待时间收费三种收费。按暂停键,计价器可暂停计价,按查询键,在LED数码管上可以显示运行时等待的时间。通过计算可以得出总共的费用和总的路程。在这里主要是以AT89S52 单片机为核心控制器,P0口、P2 口接两片四合一数码管,P1口接按键,通过按键输入。 关键词:单片机 AT89S52;LED数码管;出租车计费器;

目录 1 概述 (1) 1.1 课题简介 (1) 1.2 功能要求 (1) 2 系统总体方案及硬件设计 (2) 2.1 系统工作原理及总体方案 (2) 2.2 单片机最小系统单元 (3) 2.3 霍尔传感器检测单元 (3) 2.4 键盘调整单元 (5) 2.5 显示单元 (5) 3 软件设计 (7) 3.1系统主程序 (7) 3.2 按键扫描程序 (8) 3.3 中断程序 (9) 3.4 计算程序 (10) 3.5 显示程序 (10) 4 实验仿真 (12) 4.1 Proteus介绍 (12) 4.2 调试与测试 (12) 4.3 里程计价测试 (12) 5 课程设计体会 (14) 参考文献 (15) 附1:系统原理图 (16) 附2:源程序代码 (16)

EDA课程设计(论文)-出租车计费系统verilog语言模板

摘要 摘要: 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用FPGA进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。 设计好之后,用1602液晶显示器,显示你想要显示的数据。 关键词:出租车计价器控制 1602

目录 绪论 (3) 第一章系统设计 (4) 1出租车计费系统的概述: (4) 2设计的意义 (4) 3统设计要求 (4) 第二章系统设计方案 (5) 第三章主要模块 (6) 1 时间模块: (6) 2路程模块: (7) 3计费模块: (8) 4速度模块: (9) 5总的框图为: (10) 第四章硬件实现 (11) 1系统的调试方法 (11) 2系统调试的软/硬件 (11) 3 系统调试显示结果 (11) 小结 (13) 谢辞 (14) 参考文献: (15) 附录 (16) 程序: (16)

绪论 近年来,我国出租汽车行业迅猛发展,出租汽车已成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。它对繁荣经济、促进发展、方便群众、改善交通起到了积极作用。出租汽车对我国人民物质和文化生活影响之大、作用之广是前所未有的。出租汽车行业的服务水平和程度已经成为现代化的重要标志。 出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器量值准确与否,直接关系到经营者和消费者的经济利益,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语音报话、和电脑串行通信等功能,而这些与电子技术的发展是分不开的。 二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI 的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。

出租车计价器控制系统电路设计

嵌入式系统设计题目:出租车计价器控制系统电路设计 学号: 姓名:深蓝

新型出租车计价器控制电路的设计 第1章绪论 1.1 背景及意义 进入21世纪的今天,科技高速发展。同样,出租车行业也在发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。 我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如¥:6元)增加。当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。 在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的,因此,汽车计价器的研究也是十分有一个应用价值的。 通过本次设计,可以增进对单片机的感性认识,加深对其理论方面的理解,掌握单片机的内部功能模块的应用,了解掌握单片机的软硬件设计过程、方法及实现。 1.2设计要求 主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。 通过对以上各功能的设计,制作出的出租车计价器应具有以下功能: 1)上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起 步金额; 2)按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程; 3)数码管开始显示所走里程和所应付的金额,并逐渐增加; 4)按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清 零按键,数码管全显示零,以备下次计价。

出租车计费系统VHDL

EDA课程设计: 出租车计费系统 学生姓名: 所在班级: 指导老师: 完成时间:

一、课程设计目的 1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力; 2、结合理论知识,考察阅读参考资料、文献、手册的能力; 3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧; 二、课程设计要求 实际中出租车的计费工作原理一般分成3个阶段: (1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km 以内,只收起步价7.00元。 (2)车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。 (3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始 三、基本设计思想 1、根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。①计数器A完成车费百位。②计数器B完成车费十位和个位。③计数器C完成车费角和分。④计数器D完成计数到30(完成车费的起步价)。⑤计数器E完成模拟实现车行驶100 m的功能。 2、行驶过程中车费附加50%的功能:由比较器实现。 3、车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。 4、通过分析可以设计出系统的顶层框图如图3.1所示:

基于51单片机的出租车计价器设计

课程设计说明书 课程设计名称:《单片机原理与接口技术》课程设计 课程设计题目:基于51单片机的出租车计价器 学院名称:信息工程学院 专业:电子信息工程班级: 100415 学号: 27 姓名:夏亮晶 同组人:张先生 评分:教师:邓老师 2013年 07月 01日

基于51单片机原理出租车计价器的设计 摘要 现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 本设计以 89S51 单片机为中心,利用信号发生器模拟代替霍尔传感器测距,实现对出租车计价统计,输出采用LM016L液晶显示屏。本电路设计的计价器不但能实现基本的计价,而且还能根据里程或手动来调节单价。通过单片机上的键盘上的按键来执行开始、暂停、复位等功能。步骤如下:首先,程序开始做一些必要的初始化工作,等待键盘输入。然后,启动键K1按下后单片机开始计数传感器传来的计数脉冲,在LM016L液晶显示器显示路程,按下K2显示总费用price是多少,当路程超过3Km,才开始计算。通过K3、K4,K5、K6,K7、K8改变单价price个位,十分位,百分位。 关键词:89S51单片机 LM016L液晶显示屏计价器

目录 前言 (1) 第一章出租车计价系统的设计要求与设计方案 (2) 1.1 出租车计价器设计要求 (2) 1.2 系统主要功能 (2) 1.3 方案论证与比较 (2) 第二章出租车计价系统的硬件设计 (4) 2.1 振荡电路 (4) 2.2 复位电路设计 (5) 2.3 键盘接口电路 (5) 2.4 显示电路 (6) 2.5 路程测量部分 (6) 2.6 单片机各引脚功能说明 (7) 2.7 1602液晶的简介 (8) 第三章出租车计价系统的软件设计 (13) 3.1 系统主程序 (13) 3.2 里程计数子程序 (13) 3.3 单价设置子程序 (14) 第四章设计体会与小结 (15)

相关文档