您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 出租车计价器课程设计报告
HEFEIUNIVERSITY微机原理与接口技术课程设计系别电子信息与电气工程系班级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(二)、源程序设计与硬件介绍.....................................52.18086最小系统模块..........................................52.2芯片8255A.................................................62.3芯片8253..................................................72.4可编程控制芯片8259A........................................8(三)、遇到的问题...............................错误!未定义书签。三、总结与体会....................................................9四、参考文献:...................................................10附录.............................................................101一、引言汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。我国在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记录,结果由数码管显示出来。2(一)、软硬件流程图ad7ad0ad4ad5ad1ad2ad3ad6D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255AAD[0..15]READY22INTR18NMI17RESET21CLK19MN/MX33HOLD/GT131HLDA/GT030A[16..19]M/IO/S028ALE/QS025DT/R/S127INTA/QS124TEST23BHE34DEN/S226RD32WR/LOCK29U18086IR018IR119IR220IR321IR422IR523IR624IR725INT17INTA26CS1WR2RD3A027SP/EN16D[0..7]CAS[0..2]U38259D08D17D26D35D44D53D62D71RD22WR23A019A120CS21CLK09GATE011OUT010CLK115GATE114OUT113CLK218GATE216OUT217U48253A1B12B23B34B45B56B67B78B81C182C173C164C155C146C137C128C11COM10U5ULN2803A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U674ALS138123U7:A74S093主程序流程NYNYNNNYYY开始修改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循环4IRO中断处理流程图IR7中断处理程序流程图NYNYNY显示子程序流程图NYNY保存现场,AX入栈是启动状态吗?高电平时间—1=0?重装高电平时间,PA0=0PWM定时时间—1=0?重装PWM定时时间,PA0=1恢复现场,中断结束中断返回保存现场,AX入栈开中断,允许IRO调速中断取出当前压缩BCD码的里程数里程数的低字节+1,十进制调数高字节+0+进位,十进制调数保存结果到里程数SPEED中恢复现场,中断结束中断返回保存现场,寄存器入栈BX指向显示码表,SI指向缓冲区取出一个字节显示数据,转换为显示码显示第2位数吗据吗数据吗?显示小数点,显示码OR80H4位显示码显示完关显示,恢复现场返回5(二)、源程序设计与硬件介绍中断程序里程计数中断程序每当霍尔传感器输出一个低电平信号就使中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。中途等待中断程序在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器5分钟没有输出信号,当前里程值和缓存变量内的值相同,则进入等待计时,每5分钟记一次价格。显示程序显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。键盘程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。2.18086最小系统模块1、8086CPU构成的系统框图如图:62.2芯片8255A1、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口。7A5、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口按位置位/复位控制字①方式选择控制字图18255A的方式控制字表②C口按位置位/复位控制字图28255A的置位/控制字表2.3芯片82531、8253的功能分析Intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内
本文标题:出租车计价器课程设计报告
链接地址:https://www.777doc.com/doc-2648807 .html