计算机硬件课程设计---出租车计价器设计.doc

上传人:博****1 文档编号:564583843 上传时间:2022-09-14 格式:DOC 页数:59 大小:205.51KB
返回 下载 相关 举报
计算机硬件课程设计---出租车计价器设计.doc_第1页
第1页 / 共59页
计算机硬件课程设计---出租车计价器设计.doc_第2页
第2页 / 共59页
计算机硬件课程设计---出租车计价器设计.doc_第3页
第3页 / 共59页
计算机硬件课程设计---出租车计价器设计.doc_第4页
第4页 / 共59页
计算机硬件课程设计---出租车计价器设计.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《计算机硬件课程设计---出租车计价器设计.doc》由会员分享,可在线阅读,更多相关《计算机硬件课程设计---出租车计价器设计.doc(59页珍藏版)》请在金锄头文库上搜索。

1、计程车计价器计算机硬件技术基础课程设计报告出租车计价器设计(PC键盘)设计任务书一、设计题目设计一个计程车计价器,该系统能根据设定单价、设定车速和运行时间实时计算、显示出车费二、设计要求1、 以PC机标准键盘为基础,设计计价器的专用键盘功能,并实现。要求用最简单的硬件连接实现最方便的参数设置、模拟启动、模拟停车功能。2、 设计计价器的参数设置功能,包括单价的设定、车速的设定或车轮周长的设定,并实现。3、 设计计价器的实时车费显示功能,并实现。4、 各项的功能的设计应合理可行,人机交流方便,画面美观,声音悦耳。5、 计程车运行公里数的计算方法可采用:通过设置车轮周长与模拟测试计程车行进过程中车轮

2、的转数得到公里数。通过设置车速与已知运行时间得到公里数。目录一总体方案设计(附图).3二操作说明.5三硬件设计.6四程序流程图.71 .主流程图.72.重要模块流程.8五程序清单.12六设计感触. 37一总体方案设计(附图):修改并显示总价结束停止音乐停止停止继续暂停动画停止 播放音乐延时计算总价里程增加0.5KM计算里程动画改变移动速度加速度改变显示动画启动开始初始化启动音乐NNYYNNNYYYYNNY关键词:汇编语言,模块,动画显示,音乐播放,灵活输入采用模块化的程序设计思想.模块化的设计具有许多优点:其一,便于分块细化设计,其二,让整个主程序思路清晰,结构明了;其三,各个模块独立进行调试

3、,当程序出现错误时,以便于纠错。本方案共分为五个部分:初始化,启动,音乐播放,运行,结束。以下逐一进行详细阐述。初始化:主要由以下两个部分组成,最初数据的输入和屏幕的初始化。数据的输入即单价,起步价,车输的设定,在输入时可以输入小数,再经过计算处理后,显示的也可以是小数,这是本方案设计的特色之一;另一部分是屏幕的初始化,显示方式采用320*200图形显示,屏幕上显示的内容有:单价,起步价,车速,总价,里程以及公路和小车模型。启动:在设计本部分时,最初采用一般的中断,无法达到理想的效果,巧妙的运用读入键盘接口的信息进行数据的时时输入,完成对计价器的模拟。当读键盘接口有启动键(小键盘4) 时指引程

4、序往下运行,并修改车辆运行标志(),播放一段音乐,将总价显示为起步价的值。音乐播放:采用通用发声程序,编译音乐播放宏(music),建立好歌曲的音符音值表,通过宏调用实现音乐的播放。这里我们总共有三处音乐,分别是启动时,暂停时,结束时,当然,通过对音符音值表的修改,可以设定出自己想要的音乐,本程序都可以给你播放出来。运行:这是程序的核心,主要包括计价器数据(单价,起步价,车速,总价,里程)的时时显示,车速的更改,动画显示,也包括计时延迟跟随车速的修改(动画显示和数据的刷新和延迟正相关),运行控制的检测处理(暂停?暂停后的继续、停止?停止?),后面都将进行详略有别的说明 运行结束:小键盘6为结束

5、键,按下后,数据冻结,中线动画停止,运行标志显示为呈橙色,显示小车从右至左的动画,播放一段结束音乐,本次旅行就结束了。然后切换到提示再次启动(此时沿用前次输入参数)的界面。按4再次启动,按6退出程序二操作说明:开始后,程序提示输入信息,这需要你输入单价,起步价,车速,可以是不大于999.9的小数(当然,最好还是给出实际的价格吧,不合理的价格是用来检测程序的极限值的),最后以回车结束。届时屏幕初始化显示数据以及小车,公路的模型,这时你按下小键盘4,启动计价器运行,播放启动完音乐后,计价器正式工作,你将发现,公路中央的白线向右移动,表示小车正向左行驶,同时里程和总价有刷新。本程序有部分灵活性,由小

6、键盘的7,1键可增减速度(范围0300km/h),速度有变,与之相关联的动画及数据的刷新有连锁响应(经过合理的处理,数据计算的精准不受影响),给人一种真实的感受。一次搭乘完毕,还可以按提示继续服务,或者退出。这里有美中不足,没有采用中断,其直接后果是:键盘的检测总及处理总在每次延时之后,所以延时较长时,按键需停滞一会,等待程序响应呵)。乘客要求暂停可按小键盘5(按4可再次运行),结束可按6,你会发现相应的变化。三硬件设计: PC对键盘的管理采用了中断方式,来自键盘的中断信号接到了系统内部主8259A的IR1中断请求输入线,其中断类型号为09H, 计时功能可以用PC系统板上8254的通道0完成。

7、系统板上8254通道0是一个产生实时时钟信号的系统计时器,利用它可以完成日历时钟计数。该通道工作在方式3,输出周期性方波。其计数初值启动时由BIOS设置为0,输出信号OUT0连接到系统板上8259A的IR0。由于CLK0接入的脉冲信号频率为1.1931816MHz,则OUT0引脚上输出的方波脉冲序列的周期为Y=65536/1.1931816MHz55ms。即每经过55ms产生一次0级中断请求(中断类型号为08H)。系统设置INT 1CH的目的在于建立一个用户可用的定时操作服务程序入口。若用户没有编制新的INT 1CH中断服务程序,并修改1CH的中断向量地址,则调用了1CH中断后立即从INT 1

8、CH中断返回,因为系统原来的INT 1CH中断服务程序仅由一条中断返回指令IRET组成.G1 Y0G2A G2B Y1C BACS A1 PB1A0 D0D7 PB0 WRRD RESETCS GAT0A1 CLK0A0 OUT0D0D7 GAT1 WR CLK1RD OUT1 GAT2 CLK2OUT2与门IOWIORA4A3A5A6A8A9A7A2A1A0D0D7与非门驱动器扬声器825582541.1931816MHz74LS138IRQ18254端口地址:40H43H8254端口地址:60H63H8259A的地址为:20H21HIRQ0四程序流程图:1 .主流程图:Call Input

9、data设定起步价 单价 车速子程序Call Chushisc屏幕初始化Call Disdatas显示即时起步价 单价 车速 总价 里程信息Call Txtlined画纵列Call Dischars显示汉字及图形Call Disflag运行 暂停 停止标志显示Call Distexts显示数字及其它单列文本字符Call Txtliner画横线Call getstart车辆启动显示动画Call Varyspeed键盘输入增减速度Call Delay0延时(程序修改延时时间)Call Jizongjia 计算并显示总价Call Chulilicheng处理里程Call Checkkey 检测键盘输

10、入命令开始初始化启动运行动画结束好了,这里我们看到与总体方案设计中类似的主流程图,不过这里不侧重于总体的功能说明,而是具体的运行细节。从左边的一级结结初步展开二级结构,也是主程序对过程调用的大略说明。2.重要模块流程: 在程序清单中你将发现设计的宏,子程序较多,计4+33个,不可能一一作出流程加以详述,我们在这儿择要图列。Inc sisibl bl-30hbl10dxmul dxadd ax,bxaxstring2是09的数Si指最高位 0axbl是小数点sibl bl-30hbl10dxmul dxadd ax,bxInc si图2 daconver字符串转成数字宏 初始化:在数据输入时最多

11、输入五位(整数位,小数点,小数位),不适格会要求重输,合适的输入会及时加以处理,后台处理而矣,用户不需理睬。YN提示输入起步价信息输入起步价合法输入输入单价,车速并如上处理转化为字符串图1Chushida宏完成数据输入YNYN键盘输入增减速流程图:YNYNYNYNYN图3键盘输入增减速度是小键盘1车速减10车速为0吗车速为0减少后的车速存到chesu3检测键盘接口是小键盘7车速增加10车速为300吗车速给300增加后的车速存到chesu3将车速转化为字符串并显示由于避免对中断的应用,特设计键盘检测程序,在大循环中调用,当call delay0较长(是由车速大小决定的),你将感到按键变得不灵敏,

12、因为程序还未运行到这里,这个不太人性化的设计要求我们的用户按键多保持一会,多多见谅呵。计算并处理里程:NY Call shicha;计算时差,修改subtimecalljichesu车速折算存于chesu2车速为0吗licheng2= licheng2+shicha*jichesu将licheng2转化为字符并显示图4计算并处理里程里程在总的程序中的地位较为重要,除了显示有里程这一项,总价的计算也是以它不基础的,当这两个量的显示出错的时候,我们总要从里程计算这个模块开始检查。在程序纠错中,找到错误所在,然后才是查出错因。对于程序逻辑错误,找到错处不算太容易。计算并显示总价:YNYN图5计算并显示总价Zongjia转化为字符串并显示Licheng3大于10吗Licheng4大于Licheng3吗Licheng4+5 Licheng4Licheng410 axdanjia2*ax+qibujia2zongjiaqibujia zongjia总价最大值为999.9元(实际没多少人打的也要花1000大洋,只是程序完善的需要罢了)在此值附近将暂停,之后就算再按小键盘4启动也将再次进入暂停,唯有6键退出,结束本次行程.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号