文档库 最新最全的文档下载
当前位置:文档库 › 出租车计价器课程设计报告

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

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

HEFEI UNIVERSITY

微机原理与接口技术

课程设计

系别电子信息与电气工程系

班级 09自动化(1)班

姓名梁超

蒋业万

完成时间 2011-12-28

论文题目出租车计价器的设计设计

类型

导师

姓名

1.要求:①里程显示、起步价(5公里后按里程计费);②等时收费;③复位

1.PC机一台,EL教学实验箱一台及汇编程序;

计划学生数及任务3人

(1):明确课题对程序功能,运算精度等方面的要求及硬件条件

(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配

(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。

计划设计进程(按课程设计周计算)

第一周设计任务:(1):明确课题对程序功能,运算精度等方面的要求及硬件条件

(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。

(3):存储器资源分配

第二周设计任务:(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程

(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。

参考文献《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著

《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著

<<汇编语言程序设计》南京大学出版社姚君遗编著

《汇编语言程序设计教程》清华大学出版社杨记文编著

《微型计算机原理及接口技术》实验指导书

自动化专业微机原理课程设计任务书

目录

一、引言 (1)

二、总体设计方案 (1)

(一)、软硬件流程图 (2)

(二)、源程序设计与硬件介绍 (5)

2.1 8086最小系统模块 (5)

2.2 芯片8255A (6)

2.3 芯片8253 (7)

2.4可编程控制芯片8259A (8)

(三)、遇到的问题 .............................. 错误!未定义书签。

三、总结与体会 (9)

四、参考文献: (10)

附录 (10)

一、引言

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

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。

随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们设计采用8086为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。

二、总体设计方案

利用8253作为定时/计数器,控制电机转速并测量电机的转数;8255作为输入输出接口,控制数码管显示启动后经过的里程数(小数点后取2位有效值)。

硬件连接说明:

直流电机控制器的基础上,增加了一个电机测速电路构成。

8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码;PC6、PC7输入行扫描码,用于识别按键,程序中仅使用了PC6行上的四个按键,其定义如下:

X1:启动/停止键;X2:加速键,与X3、X4键组合使用;X3:“+”键;X4:“-”键。

A口仅使用了PA0,输出PWM脉冲信号,通过驱动芯片驱动电机,其输出电压的高低与PWM脉冲的占空比成正比。

电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里,送CPU记录,结果由数码管显示出来。

(一)、软硬件流程图

ad7

ad0ad4ad5ad1ad2ad3ad6D034D133D232D331D430D529D628D727RD 5WR 36A09A18RESET 35CS

6

PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7

10

U2

8255A

AD[0..15]READY 22INTR 18NMI 17RESET 21

CLK 19

MN/MX 33HOLD/GT131HLDA/GT030A[16..19]M/IO/S028

ALE/QS025

DT/R/S127INTA/QS124TEST 23BHE 34DEN/S226RD 32WR/LOCK 29U1

8086

IR018IR119IR220IR321IR422IR523IR624IR725

INT 17INTA 26

CS 1WR 2RD 3A027SP/EN 16D[0..7]CAS[0..2]U3

8259

D08D17D26D35D44D53D62D71RD 22WR 23A019A120CS 21

CLK09GATE011OUT010CLK115GATE114OUT113CLK218GATE216OUT2

17

U4

8253A

1B 12B 23B 34B 45B 56B 67B 78B 8

1C 182C 173C 164C 155C 146C 137C 128C

11

COM 10U5

ULN2803

A 1

B 2C

3

E16E24E35

Y015Y114Y213Y312Y411Y510Y69Y7

7

U6

74ALS138

1

23

U7:A

74S09

主程序流程

N

Y

N

Y

N

N

N

Y

Y

Y

开始

修改8、F 号中断矢量,指向IRO 、IR7中断处理程序

写入8259的OCW1开放IRO 、IR7中断

初始化8253,CHO 采取方式2,,CH2采取方式3,都采用先写低8位,后写高8位,二进制计数

将压缩码BCD 码的里程数SOEED 转换成非压缩BCD 码,存显示缓冲区 写入8253

通道0和2初值为609和50 关电机,PA0=0

打开键盘端口

延时,去抖动

调用显示子程序

有键按下吗?

行扫描法识别按键,AH 存扫描码

是加速键吗?

AH 的最高位置1,D7=1

是启/停键 是“+”键 是“—”键

启动吗?

加速吗?

加速吗?

里程=0启

设为停止

占空比+1

占空比+10

占空比-1

占空比-10

循环

IRO 中断处理流程图 IR7中断处理程序流程图

N

Y N

Y

N

Y

显示子程序流程图

N

Y

N

Y

保存现场,AX 入栈 是启动状态吗? 高电平时间—1=0? 重装高电平时间,PA0=0

PWM 定时时间—1=0?

重装PWM 定时时间,PA0=1

恢复现场,中断结束

中断返回

保存现场,AX 入栈

开中断,允许IRO 调速中断 取出当前压缩BCD 码的里程数 里程数的低字节+1,十进制调数

高字节+0+进位,十进制调数

保存结果到里程数SPEED 中

恢复现场,中断结束 中断返回 保存现场,寄存器入栈 BX 指向显示码表,SI 指向缓冲区 取出一个字节显示数据,转换为显示码 显示第2位数吗

数据吗?

显示小数点,显示码OR 80H

4位显示码显示完

关显示,恢复现场

(二)、源程序设计与硬件介绍

中断程序

里程计数中断程序

每当霍尔传感器输出一个低电平信号就使中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。

中途等待中断程序

在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器5分钟没有输出信号,当前里程值和缓存变量内的值相同,则进入等待计时,每5分钟记一次价格。

显示程序

显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。

键盘程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。

2.1 8086最小系统模块

1、8086CPU构成的系统框图如图:

2.2 芯片8255A

1、 8255A 的作用

本实验利用8255A 将模拟量转换后的数字量传送到 CPU 。此外,8255采用查询工作方式控制ADC0809工作。8086通过8255向七段LED 显示器发送控制信号。

2、 8255A 的功能分析

8255A 是可编程并行接口,可以根据外界条件(I/O 设备需要的信号线和它能提供的状态线)来使其构成多种接口电路。8255A 内部有3个数据端口,即A 口、B 口、C 口。A口有三种工作方式:即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作为联络信号使用。本实验将控制字设为80H ,初始化8255,使得 B 口、C 口为输出。

在三种工作方式中,本设计只使用了方式0,即方式0是基本的输入/输出方式,在这种方式下,三个端口都可以由程序规定为输入/出方式,但是不能既作为输入又作为输出,也没有提供固定的联络信号。C 口分为两个4位---高4位和低4位,可以分别设置为输入或输出方式。 3、8255A 的技术参数 8255A 的引脚信号

1)与外设相连的

PA7~PA0:A 口数据信号线; PB7~PB0:B 口数据信号线; PC7~PC0:C 口数据信号线; 2)与CPU 相连的

RESET :复位信号。当此信号来时,所有寄存器都被清除。同时三个数据端口被自动置为输入端口。

D7~D0:它们是8255A 的数据线和系统总线相连。

CS:片选信号。在系统中,一般根据全部接口芯片来分配若于低位地址(比如

CS :片选信号,低电平有效; A0、A1:地址信号。 JP52: PC 口; JP53: PB 口; JP56: PA 口。

A5、A4、A3)组成各种芯片选择码,当这几位地址组成某一个低电平,于8255A 被选中。只有当有效时,读信号写才对8255进行读写。

RD:读信号。当此信号有效时,CPU可从8255A中读取数据。

WR:写信号。当此信号有效时,CPU可向8255A中写入数据。

A1、A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,共4个端口。规定:

A1、A0为00时,选中A端口;

A1、A0为01时,选中B端口;

A1、A0为10时,选中C端口;

A1、A0为11时,选中控制口。

4、8255A的方式控制字

8255A的控制字有两种:一种是方式选择控制字,另一种是C口按位置位/复位控制字

①方式选择控制字

图1 8255A的方式控制字表

②C口按位置位/复位控制字

图2 8255A的置位/控制字表

2.3 芯片8253

1、8253的功能分析

Intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)

8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计

数执行部件CE 和一个输出锁存器OL 。

执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL 用来锁存计数执行部件CE 的内容,从而使CPU 可以对此进行读操作。顺便提一下,CR 、CE 和OL 都是16位寄存器,但是也可以作8位寄存器来用1、8253的作用 2、8253的引脚信号

2.4可编程控制芯片8259A

8259A 的原理

一片8959A 有8条中断请求线IR0~IR7,8259A 被操作系统初始化后,就可以接收中断信号了。8259A 从IR 请求线上接受中断信号,每个请求线有一个触发器来保 存请求信号,从而形成中断请求寄存器(IRR )。同时如果中断请求信号线上不是被屏蔽的,8259A 向CPU 发出 INT 信号,请求中断。这时如果CPU 是处于允许中断状况,CPU 就会发送INTA 信号给8259A 进入中断响应周期。如果有多个请求信号同时到达,8259A 的优先权电路会对各个请求进行优先权选择,将最高先权的请求在中断响应周期送到中断服务寄存器(ISR )中将它置位,同时复位IRR 中的相应位。接着CPU 再次发送一个INTA 脉冲给8259A ,启动另外一个中断相应周期。8259A 在这个相应周期向数据总线的D0-D7上输入一个中断向量。CPU 根据该向量的值*4后就可以从中断入口地址表(IDT )中取出中断服务程序的入口地址而转入中断服务程序。而8259A 如果工作在自动结束中断(AEOI )模式时会自动使其ISR 中的相应位复位,否则需要发出EOI 命令使ISR 复位。

在老式的PC-XT/AT 中,一般使用一片8259A 进行中断信号请求。在现代的多数PC 中,一般都会采用两片8259A 作为级连。其中一片是Master 一片是Slave ,由于Master 上的一个中断请求线需要连接到Slave 的INT 脚,所以实际可以使用的外部中断个数是15(8*2 – 1)个。 8259A 结构

1、数据总线缓冲器--D7~D0

数据总线缓冲器为三态、双向、8位寄存器,数据线D7~D0与CPU 系统总线连接,构成CPU 与8259A 之间信息传送的通道。 2、读/写控制逻辑--WR/WD

CS :片选信号,低电平有效; A0、A1:地址信号;

读/写控制逻辑用来接收CPU系统总线的读/写控制信号和端口地址选择信号,用于控制8259A内部寄存器的读/写操作。

3、级联缓冲/比较器

8259A既可以工作于单片方式,也可以工作于多片级联方式,级联方式硬件连接如图6.10所示。级联缓冲/比较器提供多片8259A的管理和选择功能,其中一片为主片,其余为从片。

4、中断控制逻辑

中断控制逻辑按照编程设定的工作方式管理中断,负责向片内各部件发送控制信号,向CPU发送中断请求信号INT和接收CPU回送的中断响应信号INTA,控制8259A进入中断管理状态。

5、中断请求寄存器(interrupt request register,IRR)

IRR是一个8位寄存器,用于记录外部中断请求。其中D7~D0分别与外部中断请求信号IR7~IR0相对应,当IRi(i=0~7)有请求(电平或边沿触发)时,IRR中的相应位Di置1,在中断响应信号INTA有效时,DI被清除。

6、中断服务寄存器(interrupt service register,ISR)

ISR是一个8位寄存器,用于记录CPU当前正在服务的中断标志。当外部中断IRi(i=0~7)的请求得到CPU响应进入服务时,由CPU发来的第一个中断响应脉冲INTA将ISR中的相应位Di(i=0~7)置1,而ISR的复位则由8259A 中断结束方式决定。若定义为自动结束方式,则由CPU发来的第二个中断响应脉冲INTA的后沿将Di复位为0;若定义为非自动结束方式,则由CPU发送来的中断结束命令将其复位。

7、中断屏蔽寄存器(interrupt mask register,IMR)

IMR是一个8位寄存器,用来存放IR7~IR0的中断屏蔽标志。它的8个屏蔽位D7~D0与外部中断请求IR7~IR0相对应,用于控制IRi的请求是否允许进入。当IMR中的Di位为1时,对应的IRi请求被禁止;当IMR中的Di位为0时,则允许对应的中断请求进入。它可以由软件设置或清除,通过编程设定屏蔽字,可以改变原来的优先级别。

程序代码见附录

三、总结与体会

作为一名自动化的大三学生,我觉得做微机程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。另外,

这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。两周的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

为期两个星期的毕业设计即将接近尾声,在刘老师和王老师的亲切指导和同学的帮助下,此次设计才得以完成,在此向所有给予我此次课程设计指导和帮助的老师和同学表示最诚挚的感谢:

四、参考文献

1.周荷琴,吴秀清《微机计算机原理与接口技术第四版》

2.周常森《电子电路计算机仿真技术》

3.杨素行《微型计算机系统原理及应用》

附录

;计价器(利用调速控制器控制电机的旋转,读出总里程数)

DA TA SEGMENT

T EQU 100 ;定时周期时间(基本周期*T)

T_HI DB 50 ;高电平持续时间(基本周期*T_HI)

NOW_T DB T

NOW_HI DB 50

T8253 EQU 609 ;定时器8253的初值=1.19M*0.512MS(基本周期)=609

RUN DB 0 ;启停标志

SPEED DW 0 ; 里程数

STEP DW 50 ;10米的8253脉冲个数(即每来50个脉冲,则前进10米)

TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0~9的显示码

DISP DB 4 DUP (0),52H;存储转速

DA TA ENDS

STACK SEGMENT STACK

DW 64 DUP(?) ;定义堆栈段

STACK ENDS

CODE SEGMENT ;代码段定义

ASSUME CS:CODE,DS:DA TA ;段指定

START: MOV AX,DATA

MOV DS,AX

PUSH DS ;当前用户DS段入栈保存

MOV AX,0000H

MOV DS,AX ;修改DS=0000H,指向中断矢量表所在段

MOV AX,OFFSET IRQ0 ;取出中断处理子程序的入口偏移地址(以0为基准)

ADD AX,2000H ;修正,实际地址=装入地址的偏移量+相对于0起始的偏移量

MOV SI,0020H ;IR0中断矢量号为08H,处于矢量表的20H~23H

MOV [SI],AX ;将偏移地址装入矢量表

MOV AX,0000H

MOV SI,0022H

MOV [SI],AX ;将段地址(0000H)装入矢量表

MOV AX,OFFSET IRQ7

ADD AX,2000H

MOV SI,0003CH

MOV [SI],AX ;将偏移地址装入IRQ7的中断矢量

MOV AX,0000H

MOV SI,003EH

MOV [SI],AX ;将段地址(0000H)装入矢量表

POP DS ;恢复用户数据段DS

MOV AL,13H

OUT 20H,AL ;写入ICW1

MOV AL,08H

OUT 21H,AL ;写入ICW2

MOV AL,01H

OUT 21H,AL ;写入ICW4

MOV AL,7EH ;D7,D0位复位为0

OUT 21H,AL ;写入OCW1(IMR);开放8259A的IR7和IR0中断

MOV AL,34H ;设定8253通道0的工作方式,00110100B

OUT 43H,AL ;CH0采用先写低8位,后写高8位,方式2,二进制计数

MOV AX,T8253 ;计数初值为基本周期

OUT 40H,AL ;写入CH0

MOV AL,AH

OUT 40H,AL

MOV AL,0B6H ;设定8253通道2的工作方式,10110110B

OUT 43H,AL ;CH2采用先写低8位,后写高8位=0,方式3,二进制计数

MOV AX,STEP

OUT 42H,AL

MOV AL,AH

OUT 42H,AL ;写入CH2

MOV AL,88H ;写入8255A的方式控制字,设定工作方式为10001000B

OUT 63H,AL ;即A口方式0输出,C口高4位输入,B口方式0输出,C 口低4位输出

MOV AL,00H

OUT 60H,AL ;关电机

STI ;开中断

A1: MOV SI,OFFSET DISP

MOV BL,2

MOV AX,SPEED

A11: AND AL,0FH

MOV [SI+3],AL

AND AH,0FH

MOV [SI+1],AH

DEC SI

MOV AX,SPEED

MOV CL,4

ROR AX,CL

DEC BL

JNZ A11 ;将速度的压缩BCD码转换为非压缩码,存入缓冲区

MOV SI,OFFSET DISP

CALL DISPLAY

MOV AL,00H ;打开开关扫描

OUT 62H,AL

IN AL,62H ;读C口

AND AL,40H

JZ A2 ;有键按下,转读键盘

JMP EXIT

A2: MOV AH,00H ;记录按键扫描码

MOV CX,04 ;循环扫描4次

MOV DL,77H ;打开第一行的开关扫描

A21: INC AH ;扫描码+1

ROL DL,1

MOV AL,DL

OUT 62H,AL ;打开一行的开关扫描

IN AL,62H ;读C口

TEST AL,40H ;取PC6(Y1)

JNZ A22 ;无键按下,转

CALL DALEY

CALL DALEY ;去抖动

IN AL,62H ;读C口

AND AL,40H ;取PC6(Y1)

JNZ A22 ;是抖动,转

CMP AH,2

JNZ RELEA ;不是加速键,转(单独按下加速键无效)

OR AH,80H ;是加速键,则D7位=1

JMP A22

RELEA: CALL DISPLAY

MOV AL,DL

OUT 62H,AL

IN AL,62H

AND AL,40H ;等待键释放

JZ RELEA

JMP A23 ;AH存扫描码,=1(X1键按下)启停,=2加速,=3'+',=4'-'键A22:LOOP A21

JMP EXIT

A23: MOV AL,AH

AND AL,0FH

CMP AL,01H

JNZ A3 ;不是按下启停键,则转

MOV AL,RUN

TEST AL,01H

JNZ A24 ;原为启动,则转停止

MOV RUN,01 ;置位启动标志

MOV NOW_T,T ;重装定时周期

MOV AL,T_HI

MOV NOW_HI,AL ;重装高电平定时时间

MOV SPEED,00 ;重新计价(里程)

JMP EXIT

A24: MOV RUN,00 ;复位启动标志

MOV AL,00H

OUT 60H,AL ;关电机

JMP EXIT

A3: MOV AL,AH

AND AL,0FH

CMP AL,03

JNZ A6 ;不是'+'键,转

MOV BL,1

TEST AH,80H

JZ A4 ;没按加速键,转

MOV BL,10 ;按加速键,加10,正常加1

A4: ADD BL,T_HI

CMP BL,100

JBE A5

MOV BL,100

A5: MOV T_HI,BL ;增加的百分比不能>100%

JMP EXIT

A6: MOV AL,AH

AND AL,0FH

CMP AL,04

JNZ EXIT ;不是'-'键,转

MOV BH,01

TEST AH,80H

JZ A7 ;没按加速键,转

MOV BH,10 ;按加速键,-10,正常-1

A7: MOV BL,T_HI

SUB BL,BH

JNC A8

MOV BL,00

A8: MOV T_HI,BL ;最小的百分比为0%

EXIT: JMP A1

;8259A的IR0中断处理子程序(8253的CH0定时基本周期0.512MS) IRQ0: PUSH AX

STI

MOV AL,RUN

AND AL,AL

JZ IREXIT ;不启动,则转测速度

MOV AL,NOW_T

SUB AL,1

JNZ IRSP1

MOV NOW_T,T ;重装定时周期

MOV AL,T_HI

MOV NOW_HI,AL ;重装高电平定时时间

JMP IREXIT

IRSP1: MOV NOW_T,AL ;保存-1后的定时周期

MOV AL,NOW_HI

TEST AL,AL

JNZ IRSP2

MOV AH,00H ;高电平持续时间到,则PA0输出为0

JMP IRSP3

IRSP2: SUB AL,1 ;高电平持续时间不到

MOV NOW_HI,AL ;保存-1后的值

MOV AH,01H ;PA0输出为1,高电平

IRSP3: MOV AL,AH

OUT 60H,AL

IREXIT: MOV AL,20H ;常规EOI中断结束指令

OUT 20H,AL ;写入8259A的OCW2

CLI

POP AX

IRET ;中断返回

;8259A的IR7中断处理子程序(8253的CH2计数中断,10米到)

IRQ7: PUSH AX

STI

MOV AX,SPEED

ADD AL,01

DAA

XCHG AL,AH

ADC AL,00

DAA

XCHG AL,AH

MOV SPEED,AX

MOV AL,20H ;常规EOI中断结束指令

OUT 20H,AL ;写入8259A的OCW2

CLI

POP AX

IRET ;中断返回

;显示子程序

DISPLAY:PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSH SI

MOV CX,4

MOV DL,7FH

MOV SI,OFFSET DISP

MOV BX,OFFSET TAB

DISP1: ROL DL,1

MOV AL,[SI]

XLAT ;查表转换为显示码

TEST DL,02H

JNZ DISP2 ;是第二位显示吗?

OR AL,80H ;是,加小数点

DISP2: OUT 61H,AL

MOV AL,DL ;允许X1、X2、X3、X4(PC3~PC0)数码管依次选通

OUT 62H,AL

CALL DALEY

INC SI

LOOP DISP1 ;四次循环,显示转速

XOR AL,AL

OUT 61H,AL ;关显示

POP SI

POP DX

POP CX

POP BX

POP AX

RET

;延时子程序

DALEY: PUSH CX

MOV CX,0560H ;置内循环次数

DALEY1:LOOP DALEY1 ;共循环0560H次,以完成延时

POP CX

RET

CODE ENDS

END START

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

昆明理工大学信息工程与自动化学院学生实验报告 (2012 —2013 学年第 2 学期) 课程名称:可编程逻辑器件设计开课实验室:信自楼 2013 年4月 11日

一、引言 汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。 我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们设计采用8086为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用8段数码显示管。 二、总体设计方案 利用8253作为定时/计数器,控制电机转速并测量电机的转数;8255作为输入输出接口,控制数码管显示启动后经过的里程数(小数点后取2位有效值)。 硬件连接说明: 直流电机控制器的基础上,增加了一个电机测速电路构成。 8255的B口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码;PC6、PC7输入行扫描码,用于识别按键,程序中仅使用了PC6行上的四个按键,其定义如下: X1:启动/停止键;X2:加速键,与X3、X4键组合使用;X3:“+”键;X4:“-”键。 A口仅使用了PA0,输出PWM脉冲信号,通过驱动芯片驱动电机,其输出电压的高低与PWM脉冲的占空比成正比。 电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里,送CPU记录,结果由数码管显示出来。

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

软件学院 课程设计报告 课程 题目出租车计价器 班级集成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;

最新出租车计价器课程设计

出租车计价器课程设 计

大学 《单片机应用与仿真训练》设计报告 出 租 车 计 价 器 姓名: 学号: 3 姓名: 学号: 专业班级:自动化09-7班 指导老师: 所在学院:电气学院 2012年7月4 日 摘要

本设计基于AT89SC51单片机,采用霍尔传感器采集轮胎转数的信息,使用外部中断0将霍尔传感器采集的信息输入到单片机,实现对于出租车行驶里程的计算;对于中途等待以及红绿灯等待,使用定时器计时,并将时间转化为里程数以计费;输出设备采用数码管,本设计采用的是两个4位一体的共阴极数码管,输出里程数和费用;此外,本设计还设计了状态指示灯,用以指示计价器的工作状态和显示状态。 出租车计价器是出租车行业计费系统的核心,是出租车行业发展的重要标志,性能良好的计价器对于乘客和出租车行业都是必需的。 关键词:计价器、单片机、霍尔传感器

目录 1 概述 (4) 1.1 出租车计价器概述 (4) 1.2 单片机的概述 (4) 2 总体方案设计 (6) 2.1 设计任务要求 (6) 2.1.1 设计任务 (6) 2.1.2 设计要求 (6) 2.2 设计的主要功能 (6) 2.3 方案的选取 (7) 2.3.1 硬件设计方案 (7) 2.3.2 软件设计方案 (8) 3 硬件设计 (8) 3.1 AT89S52单片机及最小系统 (9) 3.2 测距单元 (11) 3.3 按键单元和状态显示单元 (14) 3.4 数码显示单元 (15) 4 软件设计 (17) 4.1 系统主程序 (17) 4.2 数据处理子程序 (18) 4.3 等待时间计时子程序 (19) 4.4 键盘扫描子程序 (20) 5 Proteus软件仿真 (21) 6课程设计过程中遇到的问题 (22) 7 课程设计体会 (23) 参考文献 (24) 附1、原程序代码 (25) 附2、系统原理图 (30)

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间: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、单片机模块

开题报告(模版)

开题报告(模版)

毕业设计(论文)开题报告 设计(论文)题目:基于FPGA的出租车计费系 统的设计 院系名称: 电气与信息工程学 院 专业班级: 电子信息工程09-2 班 学生姓名: 导师姓名: 开题时间: 2013年3月15号

一课题研究目的和意义 在我国社会经济的全面发展过程中,各大中小城市的出租车营运事业也迅速发展,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。为了保护营运者和乘客的经济利益,世界上的多数国家都对作为贸易结算用的出租汽车计价器进行强制管理[1]。我国《计量法》也将出租汽车计价器列入强检目录,实行强制检定。1999年,国家质量技术监督局又将出租汽车计价器列为六种重点管理的计量器具之一[2]。出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则它是出车行业发展的重要标志是出租车中最重要的工具。它关系着交易双方的利益。具租有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此汽车计价器的研究也是十分有应用价值的[3]。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信及税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车收费方式也有差别,而且出租车还面临几年一次的调价或调整收费方式等问题[4]。采用模拟电路和数字电路设计的计价器整体电路的规模较大用到的器件多造成故障率高难调试对于模式的切换需要用到机械开关机械开关时间久了会造成接触不良功能不易实现。采用单片机设计相对来说功能强大用,较少的硬件和适当的软件相互配合可以很容易的实现设计要求且灵活性强,可以通过软件编程来完成更多的附加功能,然而传统的基于单片机设计的出租车多功能计费器已远远跟不上这种变化,功能升级很繁琐,需要硬件重组和软件更新同步进行,成本高,并且每次升级都可能出现新的不稳定因素;而基于现场可编程逻辑阵列(FPGA)的出租车多功能计费器,采用硬件描述语言Verilog HDL和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。

电子线路CAD课程设计报告出租车计价器

电子电路CAD课程设计 课题名称出租车计价设计 所在院系 班级 学号 姓名 指导老师 时间

目录 第一章引言 (4) 第二章设计方案 (5) 2.1出租汽车里程计价表设计的要求及技术指标 2.2设计方案论证 第三章电路原理图的绘制 (7) 第四章电路板图的绘制 (8) 第五章课程设计总结 (12) 第六章电子元件清单 (13) 第七章总电路原理图 (14) 第八章参考文献 (16)

第一章引言 随着生活水平的提高,人们已经不再满足于衣食住的享受,出行的舒适已经受到越来越多人的关注。于是,出租车行业低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷,困扰着行业的发展。而在出租车行业中解决这矛盾的最好的方法就是使用计价器,用规范的价格来为乘客提供更加方便快捷的服务。同时,出租车计价器是乘客与司机双方的交易准则,是出租车行业发展的重要标志,它关系着交易双方的利益。现在,城市建设日益加快,象征着城市面貌的出租车行业也将加快发展,计价器的普及是毫无疑问的,所以未来出租车行业计价器的市场是很有潜力的。本文是为了探索计价器的设计而制作的。随着计算机和信息技术的发展,EDA(Electronic Design Automation,电子设计自动化)技术已经代替了传统手工设计和制作印刷电路板的方法,成为现代电子工程领域的一门新技术。EDA技术的发展和推广极大地推动了电子工业的发展,由此各类EDA工具软件也如雨后春笋般地蓬勃发展起来。原理图设计、PCB设计、电路仿真和PLD设计都是EDA设计技术中的重要组成部分,而Altium公司(原Protel Technology公司)推出的Protel DXP软件全面集成了EDA设计几大技术,而且它还包含了电路仿真印刷电路板的信号完整性分析、可编程逻辑器件FPGA数字电路设计和VHDL硬件描述语言的应用

(VHDL实验报告)出租车计费器的设计

电子科技大学成都学院学院

一、实验名称 出租车计费器的设计 二、实验目的 1、了解出租车计费器的工作原理。 2、学会用V HDL 语言编写正确的七段码管显示程序。 3、数量掌握用V HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 三、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是x x元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8 个七段码管,前四个显示里程,后三个显示费用。 在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 四、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。显示部分的七段码管扫描时钟选择时钟模块的

1KHz,电机模块的跳线选择GND端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000 圈,认为车子前进1公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加 1。七段码管显示要求为前 4个显示里程,后3个显示费用。 五、实验步骤 1、打开Q UARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个V HDL File,打开V HDL 编辑器对话框。 3、按照实验原理和自己的想法,在V HDL 编辑窗口编写V HDL 程序。其 程序如下所示:

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

word完美格式 嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号:

一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通 过线路连接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生 一个脉冲信号送给单片机作为一定距离的计数值。 ●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助 计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号(P3.4)。

五、LED显示电路 对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 P0.7-P0.0 数码管输出数据 P2.7-P2.4 数码管位选 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上8.6元;由一开关进行选择。每 公里1.5元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计 67个数产生一个溢出中断。 七、电路原理图及引脚

开题报告(模版)

毕业设计(论文)开题报告 设计(论文)题目:基于FPGA的出租车计费系统的设计院系名称: 电气与信息工程学院 专业班级: 电子信息工程09-2班 学生姓名: 导师姓名: 开题时间: 2013年3月15号

一课题研究目的和意义 在我国社会经济的全面发展过程中,各大中小城市的出租车营运事业也迅速发展,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租车营运收费的专用智能化仪表,是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。为了保护营运者和乘客的经济利益,世界上的多数国家都对作为贸易结算用的出租汽车计价器进行强制管理[1]。我国《计量法》也将出租汽车计价器列入强检目录,实行强制检定。1999年,国家质量技术监督局又将出租汽车计价器列为六种重点管理的计量器具之一[2]。出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计价器是乘客与司机双方的交易准则它是出车行业发展的重要标志是出租车中最重要的工具。它关系着交易双方的利益。具租有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此汽车计价器的研究也是十分有应用价值的[3]。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。当计费系统在各大、中城市出租车中使用越来越广泛,用户对计费器的要求也越来越高。以出租车多功能计费器为例,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票打印、语音报话识别、电脑串行通信及税控等功能;不同国家和地区的收费方式存在差异,即使在同一地区,不同车型的出租车收费方式也有差别,而且出租车还面临几年一次的调价或调整收费方式等问题[4]。采用模拟电路和数字电路设计的计价器整体电路的规模较大用到的器件多造成故障率高难调试对于模式的切换需要用到机械开关机械开关时间久了会造成接触不良功能不易实现。采用单片机设计相对来说功能强大用,较少的硬件和适当的软件相互配合可以很容易的实现设计要求且灵活性强,可以通过软件编程来完成更多的附加功能,然而传统的基于单片机设计的出租车多功能计费器已远远跟不上这种变化,功能升级很繁琐,需要硬件重组和软件更新同步进行,成本高,并且每次升级都可能出现新的不稳定因素;而基于现场可编程逻辑阵列(FPGA)的出租车多功能计费器,采用硬件描述语言Verilog HDL和逻辑综合为基础的自顶向下的电路设计方法,开发成本低,周期短,可靠性高,功能升级方便,满足了用户的要求。该系统在不改变硬件电路的前提下,具有可以重构系统的功能;采用完全相同电路结构,只要根据各地区的要求在Verilog HDL程序中设置各参数,就可以适应各地区出租车不同计费标准的需要,还可以根据各地区需求增加其他功能[5]。

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

单片机出租车计价器课程 设计 This manuscript was revised on November 28, 2020

嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号: 一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务

出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。 公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。 显示器:用LED 显示,动态扫描显示,不断输出即时价格已及时间。 定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数 量即为车行驶 一公 里,并 对价格 进行增 加。在 没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED 显示电路 对设计总体分析下,只需对其价格进行显示,选用四个LED 数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B ,T1工作方式2 数码管输出数据 数码管位选 显示小数点(长亮) 计价器工作开关 白天/夜间切换 计数脉冲输入

出租车计价系统设计

分类号: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

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

理工大学 《单片机应用与仿真训练》设计报告出租车计价器设计 学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能的计价功能。设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息。本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能。 出租车计价是根据车所行驶的路程以及乘客乘车的方式综合决定的。出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。即可计算得到车轮旋转几周出租车能行驶一公里的路程。使用光电对管能方便地计量车轮旋转的圈数,输出的脉冲信号被接入到AT89S52单片机系统中,通过计算接收到的脉冲个数,计算出当前所行驶的路程,并且可以计算实时的速度。与此同时,根据不同的收费标准计算收费。通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等。 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage

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

《单片机应用与仿真训练》设计报告出租车计价器设计 姓名学号: 专业班级: 指导老师: 所在学院: 2012年6月25日

摘要 本设计用直流电机转动模拟出租车车轮转动,实现出租车多功能地计价功能.设计采用AT89S52单片机为主控芯片,用光电对管检测电机转盘转速,采用24C02芯片为系统在掉电时路程、钱数等重要信息提供存储保护,采用两个四位8段共阴数码管显示里程、总价格和等待时间等信息.本设计可以实现单双程设置、系统暂停、空车指示、信息显示、掉电保护等功能. 出租车计价是根据车所行驶地路程以及乘客乘车地方式综合决定地.出租车行驶总路程可以通过车轮地周长乘车轮旋转圈数得到.即可计算得到车轮旋转几周出租车能行驶一公里地路程.使用光电对管能方便地计量车轮旋转地圈数,输出地脉冲信号被接入到AT89S52单片机系统中,通过计算接收到地脉冲个数,计算出当前所行驶地路程,并且可以计算实时地速度.与此同时,根据不同地收费标准计算收费.通过键盘能够实现往返设置,启动、暂停、停止计价器、设置单返程等. 关键字:出租车计价器,AT89S52,24C02,光电对管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function. Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage protection, the use of two four-segment common cathode digital display tube mileage, the total price and waiting time information. This design enables single and double-way set, system halted, empty instructions, information display, power-down protection and other functions. The taxi meter according to the distance traveled by the vehicle and passengers ride the decision. Taxi driving the total distance by the circumference of the wheel drive wheel rotation laps. Can be calculated by the wheel rotation a few weeks a taxi to travel one kilometer away. The use of opto-the number of turns of the tube can be easily measured wheel rotation, the output

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

嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号: 一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连 接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲 信号送给单片机作为一定距离的计数值。

●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED显示电路 对Array设计总 体分析 下,只 需对其 价格进 行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产 生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B,T1工作方式2 MOV TH1, #0BDH ;自动重装 MOV TL1, #0BDH ;计67个数 SETB TR1 ;计数器启动 CLR ;点亮小数点dp MOV R4, #0FFH ;置数-1

出租车计价器设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:微机系统综合课程设计 课程设计题目: 出租车计价器的设计与实现 院(系): 计算机学院 专 业 : 计算机科学与技术 班 级: 24010104 学 号: 2012040101037 姓 名: 程里 指导教师: 罗振 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要 求;数据不实 ,不予通过。报告和电子数据必须作为实验现象重复的关键依据。

学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期:年月

沈阳航空航天大学课程设计任务书

课程设计总结:

目录 1 引言 0 1.1出租车计价器概述 0 1.2计价器整体功能描述结构 0 1.3各部分电路功能描述 (1) 2计价器硬件设计 (1) 2.1系统的硬件构成及功能 (1) 2.2MCS-51系列单片机内部结构及功能部件 (3) 2.2.1MCS-51系列单片机的内部结构框图 (3) 2.2.2单片机外部引脚说明 (4) 2.2.3并行输入/输出接口 (6) 3系统的软件设计 (6) 3.1软件总体设计 (6) 3.2系统主程序设计 (8) 3.3显示子程序服务程序 (9) 3.4按键服务程序 (9) 4系统调试与测试结果分析 (10) 4.1系统调试 (10) 4.1.1硬件调试 (10) 4.1.2软件调试 (10) 4.1.3软硬件联调 (10) 4.2 电路图 (11) 参考文献 (10) 附录(关键部分程序清单) (13)

出租车计费器的设计

电子科技大学成都学院学院 标准实验报告 (实验)课程名称数字电路EDA设计与应用 姓名乱弹的枇杷 学号1240830 专业电气工程及其自动化 指导教师张

一、实验名称 出租车计费器的设计 二、实验目的 1、了解出租车计费器的工作原理。 2、学会用V HDL 语言编写正确的七段码管显示程序。 3、数量掌握用V HDL 编写复杂功能模块。 4、进一步数量状态积在系统设计中的应用。 三、实验原理 出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是x x元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用 8 个七段码管,前四个显示里程,后三个显示费用。 在设计VHDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。 为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。 四、实验内容 本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。显示部分的七段码管扫描时钟选择时钟模块的

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

数字电子课程设计 课题名称出租车计价器控制电路的设计 所在院系机电学院 班级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 设计要求

出租车计价器设计

出租车计价器设计

综合实验 ——出租车计价器设计 前言 随着微电子技术的发展,现代电子技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA 技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA 软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。 本学期,学校开设了EDA和VHDL课程的学习,而学习一门编程语言,最好的方法莫过于在一个完整的系统开发过程中进行。因此,EDA综合实验就是一个最好的学习实践机会。 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计价器是出租

车营运收费的专用智能化仪表是出租车市场规范化、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计价器是加强出租车行业管理、提高服务质量的必备品。本实验就是采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路,得到一种出租车计价系统的软件结构,通过在Quartus II软件下进行模拟仿真,并进行相应的硬件下载调试,证明所设计的电路系统完成了出租车计价器的功能,各技术指标符合预定标准,具有一定实用性。

相关文档
相关文档 最新文档