2835.F出租车计价器设计报告 硬件课程设计报告.doc

上传人:文库蛋蛋多 文档编号:2882938 上传时间:2023-03-01 格式:DOC 页数:23 大小:135.50KB
返回 下载 相关 举报
2835.F出租车计价器设计报告 硬件课程设计报告.doc_第1页
第1页 / 共23页
2835.F出租车计价器设计报告 硬件课程设计报告.doc_第2页
第2页 / 共23页
2835.F出租车计价器设计报告 硬件课程设计报告.doc_第3页
第3页 / 共23页
2835.F出租车计价器设计报告 硬件课程设计报告.doc_第4页
第4页 / 共23页
2835.F出租车计价器设计报告 硬件课程设计报告.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《2835.F出租车计价器设计报告 硬件课程设计报告.doc》由会员分享,可在线阅读,更多相关《2835.F出租车计价器设计报告 硬件课程设计报告.doc(23页珍藏版)》请在三一办公上搜索。

1、计算机科学与技术学院硬件课程设计报告姓 名: 学 号:专 业: 计算机科学与技术 班 级: 计算机062班 设计题目:出租车计价器 成 员: 指导教师: 2008年 7月 目 录总体设计部分1. 总体方案与说明032. 硬件框图与说明 032.1 8253的说明 032.2 8255A的说 052.3 显示器的连接 073. 电路原理图 074. 软件的主要流程模块 095. 源程序清单与注释 116. 问题分析与解决方案 227. 结论与体会 228. 参考资料 231、总体方案与说明1.先在数据段开辟若干个存储单元,用来存放起步价和LED灯的信息。2.主程序中分别对8253、8255A进行

2、初始化编程。用8253产生2秒的定时信号。8253的计数器0和1工作在方式2和方式 3的状态下,CLK0接2MHZ的脉冲频率,OUT0端口接CLK1, OUT1端口接CLK2 ,OUT2输出频率为0.5Hz的方波,产生2秒脉冲。3.8255的C口工作在方式0输入,A,B口工作在方式0输出,为基本的输入输出方式。4.当产生1次脉冲时,将秒的个位加1,判断是否到指定数值,如到了则记录一次数据并清零;依次循环。2、硬件框图与说明2.1 8253的说明 8253在本实验中工作于方式2和方式3。频率为2MHZ(周期为0。5微秒)的时钟直接加到CLK1端,则OUT1端输出的脉冲周期最大只有0。5微秒*65

3、536=32。768毫秒,有一些时候是达不到要求的。8353采用级联方式。此实验中使用8253的0通道和1通道以实现级联。通道1的控制字为:01110111B。它代表的意思是:选择通道1,先读写计数器的低字节,再读/写计数器的高字节。通道1工作于方式3,采用的是BCD计数的方法。这样就能够实现所需要的功能。完成了级联的设想。8253电路连接为:CLK0接(周期为0。5微秒)的时钟。0通道输出OUT0与1通道CLK1相连,CLK1输出OUT1与1通道CLK2相连。OUT2输出给8255,并连结GATE0 、GATE1与GATE2与高电平相连,保证它工作于方式0。8253的低平CS与308H相连,

4、即8253段地址为308H。用导线将其连接好就可实现其功能。在这个实验当中采用的端口的起始的地址是300H,所以分配:通道0的地址端口为300H,通道1的地址端口为301H,通道2的地址端口为302H,8253的控制端口的地址为303H。8253引脚图如下:8253一共有24条引脚,其中D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操

5、作,以使计数器和计测对象同步。2.2 8255A的说明8255A工作方式0状态下,实现基本的输入输出功能。我们选择B口输出,C口高四位输出,A口输入。将电路连接完毕,即可实现8255A功能。 8255引脚图如下:8255一共有40条引脚,其中D7D0与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号2.3 显示器的连接当信号采集完毕后,无法让人们看到具体的脉冲,因此必须用

6、显示器将脉冲显示出来。整体的显示过程是: 8253计数,8255将其输出,输出给显示器,由显示器显示具体数字,从而完成整个过程。3、电路原理图 Vcc WR RDD7D0 CS 8253 CLK0OUT0GATE2 CLK1GATE1 OUT1GATE0 CLK2GND OUT2D7D0RD WRCSGND PA0A1 PA1A0 8255A PA2PB7 PA3PB6 PA4PB5 PA5PB4 PA6PB3 PA7PB2 PB1 PC3PB0 PC2PC4 PC1PC5 PC0PC6 PC7D7D0VCCAY0 BY1 C G174LS138G2AG2B GND DP G F E D C

7、B A4321分频1/81/4+5V+5V4、软件主要模块流程图先连接好电路图(1)主程序流程图开始系统初始化写入8253的控制字 N重置计数初值,准备读取信号输入通道可选择通道0,输出可选择通道1Y通道采集信号Y信号输入A口检测信号N写入8255A的控制字通道信号输出 显示器显示费用信号还要经过CPU处理B、C口输出信号停止计数 结束(2)应用LED灯流程图初始化地址参数有关位的显示取显示数据段码数据的输出输出位选通信号移位位选通信号下一个数据四位完成返回开始否五、源程序清单与注释:CODE SEGMENT ASSUME CS:CODEBEGIN: ;对8255进行初始化,使公里数为0,价格

8、为6;8255的控制字MOV DX,30BHMOV AL,10010000B ;A为输入,B,C口都为输出,(fan shi 1 yu fang shi 2 de qu bie )OUT DX,AL;第一个显示器;B口输出,输出的是7段LED显示MOV DX,309HMOV AL,0C0H ;显示数字0OUT DX,AL;C口输出,输出的是4段逻辑选择MOV DX,30AHMOV AL,01111111B ;选中C口的Pc7位OUT DX,AL;恢复初始值MOV DX,309HMOV AL,0FFHOUT DX,ALMOV DX,30AHOUT DX,AL;第二个显示器;B口输出,输出的是7段

9、LED显示MOV DX,309HMOV AL,0C0H ;显示数字0 OUT DX,AL;C口输出,输出的是4段逻辑选择MOV DX,30AHMOV AL,0C0H ;选中C口的第Pc6位OUT DX,AL;恢复初始值MOV DX,309HMOV AL,0FFHOUT DX,ALMOV DX,30AHOUT DX,AL;8253的连接 实现0通道跟1通道的级联,计时为1秒,每1秒走一公里;2s一个周期;0通道计数初值为5000AGAIN:MOV DX,303HMOV AL,00110101B ;方式2OUT DX,ALMOV DX,300HMOV AL,00H ;低字节OUT DX,ALMOV

10、 AL,50H ;高字节 OUT DX,AL;1通道计数初值为800MOV DX,303HMOV AL,00110111B ;方式3OUT DX,AL MOV DX,301HMOV AL,00H ;低字节OUT DX,ALMOV AL,08H ;高字节OUT DX,ALGONGLI:;显示计价初值6元MOV DX,309H ;B口MOV BX,06HOUT DX,BXMOV AL,11101111BMOV DX,30AH ;C口OUT DX,AL;恢复初始值MOV DX,309HMOV AL,0FFHOUT DX,ALMOV DX,30AHOUT DX,ALMOV CX,100Hn: MOV

11、DX,308HIN AL,DXAND AL,10000000BCMP AL,10000000BDEC CXJNZ nGO: MOV CX,100START: MOV DX,308HIN AL,DXAND AL,10000000BCMP AL,10000000BJE JIJIAJMP JISHIJIJIA: ;计价DEC CXJNZ STARTJZ ENCODE1JISHI: ;计时DEC CXJNZ STARTJZ ENCODE2ENCODE1:MOV AX,03HMOV DX,BXADC AX,DXMOV BX,AXAAAJMP aENCODE2:MOV AX,01HMOV DX,BXADC

12、 AX,DXMOV BX,AXAAAJMP aa: CMP AL,00HJE bCMP AL,01HJE cCMP AL,02HJE dCMP AL,03HJE eCMP AL,04HJE fCMP AL,05HJE gCMP AL,06HJE hCMP AL,07HJE iCMP AL,08HJE jCMP AL,09HJE k;显示b: MOV BL,00111111BJMP lc: MOV BL,00000110BJMP ld: MOV BL,01011011BJMP le: MOV BL,01001111BJMP lf: MOV BL,01100110BJMP lg: MOV BL,0

13、1101101BJMP lh: MOV BL,01111101BJMP li: MOV BL,00000111BJMP lj: MOV BL,01111111BJMP lk: MOV BL,01101111BJMP ll:MOV DX,309H ;B口MOV AL,BLOUT DX,ALMOV AL,11101111BMOV DX,30AH ;C口OUT DX,ALa1: CMP AH,00HJE b1CMP AH,01HJE c1CMP AH,02HJE d1CMP AH,03HJE e1CMP AH,04HJE f1CMP AH,05HJE g1CMP AH,06HJE h1CMP AH,

14、07HJE i1CMP AH,08HJE j1CMP AH,09HJE k1;显示b1: MOV BL,00111111BJMP l1c1: MOV BL,11111001BJMP l1d1: MOV BL,10100100B JMP l1e1: MOV BL,10110000B JMP l1f1: MOV BL,10011001BJMP l1g1: MOV BL,10010010B JMP l1h1: MOV BL,10000010B JMP l1i1: MOV BL,11111000B JMP l1j1: MOV BL,01111111BJMP l1k1: MOV BL,10010000B

15、 JMP l1l1: MOV DX,309H ;B口MOV AL,BLOUT DX,ALMOV AL,11011111BMOV DX,30AH ;C口OUT DX,AL;恢复初始值MOV DX,309HMOV AL,0FFHOUT DX,ALMOV DX,30AHOUT DX,ALJMP GOCODE ENDS END BEGIN六、问题分析与解决方案:分析出租车计价器的实现,要解决的问题是如何采集信号,并将里程和价格用七段显示器显示出来。 脉冲采集:用8253产生2秒的方波信号。通道0和1工作在方式2和3下,CLK0接2M的脉冲频率,OUT0端口接CLK1, OUT1端口接CLK2,OUT2

16、输出频率为0.5Hz的方波,产生2秒脉冲。8255的C口工作在方式0输入,A,B口工作在方式0输出,为基本的输入输出方式。当产生1次脉冲时,将秒的个位加1,判断是否到指定数值,如到了则记录一次数据并清零;依次循环。如何显示里程和价格:主要是利用8255A和LED七段显示器的连接来显示里程和价格。七、结论与体会:一开始本实验用霍尔传感器来采集信号。但由于事先起来交不理想所以后来采取直接输入2MHZ的时钟脉冲信号。最终也是以这个固定的脉冲信号实现的。 刚开始试验时,由于我的微机原理与接口技术学得很差,再加上女生的能力一般都比男生弱一点,所以有点吃力。但随着课程满满的进行,在实验的过程中跟他们在一起

17、讨论很他们一起学习,再加上自己刻下的努力,渐渐的我弄懂了所有的芯片原理,和电路连接的原理。并和大家一起开始写代码,讨论代码运行的错误原因和如何改正。在讨论的学习中,我已经可以自己写出完整的代码,并且能实现编译过程没有错误,但实现的结果还是不能符合我所写代码的思想。所以我便继续向台们学习询问代码错误的原因,和如何改正。最终我订正完成了试验的代码,但代码中没有涉及里程,所以比我们组长的程序要简单一些。 在整个实验的过程中我学到了很多,不仅仅是知识上的增加,还学会了如何在和别人一起合作中学习,如何用别人的知识来武装自己,更懂得了,一个人的力量始终小于等于一,但N个人的力量一定远大于N。 八、参考资料:微机原理与接口 中国科学技术大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号