1、HEFEI UNIVERSITY微机原理与接口技术课程设计系 别 论文题目出租车计价器的设计 设计类型导师姓名主要内容及目标 1要求:里程显示、起步价(5 公里后按里程计费) ;等时收费;复位具有的设计条件 1 PC 机一台,EL 教学实验箱一台及汇编程序 ;计划学生数及任务 3 人(1):明确课题对程序功能,运算精度等方面的要求及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程 (按课程设计周计算)第一周
2、设计任务:(1):明确课题对程序功能,运算精度等方面的要求及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配第二周设计任务:(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。参考文献微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著16-32 位微型计算机技术及应用清华大学出版社 戴梅萼 史嘉权 编著汇编语言程序设计南京大学出版社 姚君遗编著汇编语言程序设计教程清华大学出版社 杨记文编著微型计算机原理及接口技术实验指导书自动化专业微机原理课程设计任务书目录
3、一、引言 .1二、总体设计方案 .1(一) 、软硬件流程图 .2(二) 、源程序设计与硬件介绍 .52.1 8086 最小系统模块 .52.2 芯片 8255A.62.3 芯片 8253.72.4 可编程控制芯片 8259A .8(三) 、遇到的问题 .9三、总结与体会 .10四、参考文献: .10附录 .111一、引言汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。我国在 70 年代开始出现出租车,但那时的
4、计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入) ,到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。我们设计采用 8086 为主控器,以 A44E 霍尔传感器测距,实现对出
5、租车的多功能的计价设计,输出采用 8 段数码显示管。二、总体设计方案利用 8253 作为定时/计数器,控制电机转速并测量电机的转数;8255 作为输入输出接口,控制数码管显示启动后经过的里程数(小数点后取 2 位有效值) 。硬件连接说明:直流电机控制器的基础上,增加了一个电机测速电路构成。8255 的 B 口作为数码管的笔划码驱动;C 口的低 4 位作为段码控制,显示实际里程,同时,也用于输出键盘的列扫描码;PC6、PC7 输入行扫描码,用于识别按键,程序中仅使用了PC6 行上的四个按键,其定义如下:X1:启动/停止键;X2:加速键,与 X3、X4 键组合使用;X3:“+”键;X4:“-”键。
6、A 口仅使用了 PA0,输出 PWM 脉冲信号,通过驱动芯片驱动电机,其输出电压的高低与PWM 脉冲的占空比成正比。电机的转数,通过霍尔元件变换为脉冲个数,送入 8253 的通道 2,计数后,将转数转换为里程数,最小单位为 0.01 公里,送 CPU 记录,结果由数码管显示出来。2(一) 、软硬件流程图ad7ad0ad451ad236D0341D23231D430529D68727RD5W36A0918REST35CS6PA0413PA2231PA440539PA68737PB01819PB22031PB4253PB62475PC01415PC21637PC41352PC6170U2825AA
7、D0.15READY2INTR18NMI17ST1CLK19/X3HOLD/GT13 A/00 16.9M/IO/S028ALE/QS025DT/R/S127I/QS14TEST23 BHE34EN/26RD32WR/LCK9U1806IR018I19IR220I31IR42I53IR624I75 INT17IA26CS1WR2D3A027SP/EN16D0.7CAS0.2U38259D0817D2635D4453D6271RD2W3A019120CS21CLK09GATE1OU00CLK115GATE4OU113CLK218GATE6OU217U48253A1B1223B3445B5667B
8、7881C18273C16455C14637C128OM0U5ULN2803A1B2C3E1624E35Y01514Y21332Y4150Y6977U674ALS13812 3U7:A74S093主程序流程NYNYN N NY Y Y开始修改 8、F 号中断矢量,指向 IRO、IR7 中断处理程序写入 8259 的 OCW1 开放 IRO、IR7 中断初始化 8253,CHO 采取方式 2, ,CH2 采取方式 3,都采用先写低 8 位,后写高 8 位,二进制计数将压缩码 BCD 码的里程数 SOEED 转换成非压缩 BCD 码,存显示缓冲区写入 8253 通道 0 和 2 初值为 609 和
9、 50关电机,PA0=0打开键盘端口延时,去抖动调用显示子程序有键按下吗?行扫描法识别按键,AH 存扫描码是加速键吗?AH 的最高位置 1,D7=1是启/停键 是 “+”键 是“”键启动吗? 加速吗? 加速吗?吗?里程=0 启动设为停止 占空比+1 占空比+10 占空比-1 占空比-10循环4IRO 中断处理流程图 IR7 中断处理程序流程图NYNYNY显示子程序流程图NYNY保存现场,AX 入栈是启动状态吗?高电平时间1=0?重装高电平时间,PA0=0PWM 定时时间1=0?重装 PWM 定时时间,PA0=1恢复现场,中断结束中断返回保存现场,AX 入栈开中断,允许 IRO 调速中断取出当前
10、压缩 BCD 码的里程数里程数的低字节+1,十进制调数高字节 +0+进位,十进制调数保存结果到里程数 SPEED 中恢复现场,中断结束中断返回保存现场,寄存器入栈BX 指向显示码表,SI 指向缓冲区取出一个字节显示数据,转换为显示码显示第 2 位数吗据吗数据吗?显示小数点,显示码 OR 80H4 位显示码显示完关显示,恢复现场返回5(二) 、源程序设计与硬件介绍中断程序里程计数中断程序每当霍尔传感器输出一个低电平信号就使中断一次,当里程计数器对里程脉冲计满 1000 次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。中途等待中断程序在中途等待中断程序中,每 1ms 产
11、生一次中断,将当前里程值送入某个缓存变量,每 5 分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器 5 分钟没有输出信号,当前里程值和缓存变量内的值相同,则进入等待计时,每 5 分钟记一次价格。显示程序显示程序利用定时器每 1ms 产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。键盘程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。2.1 8086 最小系统模块1、8086CPU 构成的系统框图如图:62.2
12、芯片 8255A1、 8255A 的作用本实验利用 8255A 将模拟量转换后的数字量传送到 CPU。此外,8255 采用查询工作方式控制 ADC0809 工作。8086 通过 8255 向七段 LED 显示器发送控制信号。2、 8255A 的功能分析8255A 是可编程并行接口,可以根据外界条件(I/O 设备需要的信号线和它能提供的状态线)来使其构成多种接口电路。8255A 内部有 3 个数据端口,即A 口、B 口、C 口。口有三种工作方式:即方式、方式和方式,而口只能工作在方式或方式下,而口通常作为联络信号使用。本实验将控制字设为 80H,初始化 8255,使得 B 口、C 口为输出。在三
13、种工作方式中,本设计只使用了方式 0,即方式 0 是基本的输入/输出方式,在这种方式下,三个端口都可以由程序规定为输入/出方式,但是不能既作为输入又作为输出,也没有提供固定的联络信号。C 口分为两个 4 位-高 4 位和低 4 位,可以分别设置为输入或输出方式。3、8255A 的技术参数 8255A 的引脚信号1)与外设相连的PA7PA0:A 口数据信号线;PB7PB0:B 口数据信号线;PC7PC0:C 口数据信号线;2)与 CPU 相连的RESET:复位信号。当此信号来时,所有寄存器都被清除。同时三个数据端口被自动置为输入端口。D7D0:它们是 8255A 的数据线和系统总线相连。CS:片
14、选信号。在系统中,一般根据全部接口芯片来分配若于低位地址(比CS:片选信号,低电平有效;A0、A1:地址信号。JP52: PC 口;JP53: PB 口;JP56: PA 口。7如 A5、A4、A3)组成各种芯片选择码,当这几位地址组成某一个低电平,于8255A 被选中。只有当有效时,读信号写才对 8255 进行读写。 RD:读信号。当此信号有效时,CPU 可从 8255A 中读取数据。WR:写信号。当此信号有效时,CPU 可向 8255A 中写入数据。A1、A0:端口选择信号。8255A 内部有 3 个数据端口和 1 个控制端口,共4 个端口。规定:A1、A0 为 00 时,选中 A 端口;
15、A1、A0 为 01 时,选中 B 端口;A1、A0 为 10 时,选中 C 端口;A1、A0 为 11 时,选中控制口。4、 8255A 的方式控制字8255A 的控制字有两种:一种是方式选择控制字,另一种是 C 口按位置位/复位控制字 方式选择控制字图 1 8255A 的方式控制字表 C 口按位置位/复位控制字图 2 8255A 的置位/控制字表2.3 芯片 82531、 8253 的功能分析Intel8253 是 NMOS 工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz ),8253-5(5MHz) 8253 内部有三个计数器,分别成为计数器 0、计数器 1 和计数器 2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端 CLK,一个为门控信号输入端 GATE,另一个为输出端 OUT。每个
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。