微机原理与接口技术键盘LED显示【课程设计报告】.doc

上传人:文库蛋蛋多 文档编号:2881852 上传时间:2023-03-01 格式:DOC 页数:25 大小:400KB
返回 下载 相关 举报
微机原理与接口技术键盘LED显示【课程设计报告】.doc_第1页
第1页 / 共25页
微机原理与接口技术键盘LED显示【课程设计报告】.doc_第2页
第2页 / 共25页
微机原理与接口技术键盘LED显示【课程设计报告】.doc_第3页
第3页 / 共25页
微机原理与接口技术键盘LED显示【课程设计报告】.doc_第4页
第4页 / 共25页
微机原理与接口技术键盘LED显示【课程设计报告】.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《微机原理与接口技术键盘LED显示【课程设计报告】.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术键盘LED显示【课程设计报告】.doc(25页珍藏版)》请在三一办公上搜索。

1、重庆大学课 程 设 计 报 告课程名称: 微机原理与接口技术 设计题目: 键盘LED显示 院 系:电气信息学院 班 级: 2007级 设计时间:2009年12月 第一章 概述21.1学习目的21.2 计算机的应用21.3学习计算机的意义31.4课程设计目的3第二章 总体方案设计42.1 设计注意问题42.2 总体思路4第三章 硬件设计53.1 8255工作原理53.2 键盘工作原理73.3 键特征值的形成83.4段值的形成83.5 8255接线图9第四章 软件设计104.1 8255初始化104.2 键盘扫描的处理方法104.2.1. 判断是否有键被按下的方法104.2.2. 判断是否有键被按

2、下的源程序114.2.3 防抖动114.2.4.防抖动的延时子程序124.3 程序核心部分124.3.1 逐行扫描124.3.2逐行扫描的源程序12第五章 源程序代码135.1 根据整体思路以及软件设计得到的代码135.2 以上代码存在问题分析16第六章 难点分析16第七章 体会 感慨 建议19第八章 参考文献20 第一章 概述1.1学习目的“微机原理与接口技术”是电气工程及其自动化专业的一门重要的专业基础课程。我们通过该门课的学习,知道了微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计,为后续的课程的学习和今后的工作打下坚实的基础。通过实验可以培养学生利用计算机技术和编程手段

3、分析,解决专业领域的各种问题的能力和意识,并进一步感受微机发展的微机发展的新技术和新方法。1.2 计算机的应用目前计算机的应用已经遍布各个行业,如科学计算、数据处理、过程控制、人工智能、网络应用等。科学和工程计算:科学和工程计算的特点是计算量大,而逻辑关系相对简单,它是计算机重要应用领域之一。数据和信息处理:数据处理是指对数据的收集、存储、加工、分析和传送的全过程。这些数据处理应用的特点是数据量很大,但计算相对简单。多媒体技术的发展,为数据处理增加了新鲜内容,都涉及更广泛的数据类型,这些数据处理过程不仅数据量大,而且还会带来大量的运算和复杂的运算过程。过程控制:过程控制是生产自动化的重要技术内

4、容和手段,它是由计算机对所采集到的数据按一定方法经过计算,然后输出到指定执行机构去控制生产的过程。人工智能:人们把计算机模拟人脑力劳动的过程成为人工智能。人工智能是利用计算机来模拟人的思维过程,并利用计算机程序来实现这些过程。 1.3学习计算机的意义电子计算机是一种能自动高速地进行大量运算的电子机器。电子计算机的出现和发展,是科学技术和生产力的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。微型计算机的发展前景是不可估量的。微型计算机功能强,体积小,使用方便,可靠性高,价格低廉,因而应用范围非常广泛,航天工业,交通运输,医药卫生甚至家庭生活及教学仪器等方面都广泛地使用了微型计算机

5、。毫无疑问,今后微型计算机在人类社会和日常生活中的影响将会越来越大。感受接口的重要作用,学会微机与接口的综合应用。掌握接口的编程技术。1.4课程设计目的 1.掌握 8255的使用和编程方法。 2.通过8255设计键盘扫描及它们的输入输出方式和它们的控制字。综合运用本学期所学的关于汇编的知识,在实验中进一步熟悉本学期所学的课程并结合实际生活,掌握汇编的应用。 3.注重键盘扫描的方法设计以及解决问题的思路。 4.了解任何微机应用开发工作都离不开接口的技术、选用及连接。微机应用系统需要设计的硬件是一些接口电路,所要编写的软件是控制这些接口电路按要求工作的驱动程序。重点讲述可编程并行接口芯片8255A

6、、内部结构、工作方式、初始化编程及其应用实例。第二章 总体方案设计2.1 设计注意问题 在唐都实验箱上实现键盘扫描并显示在LED上,比如当按下6时,LED会显示6的字样。总体设计方案如下: 1.实现键盘的扫描(键号与键值的对应)。 2.防抖动措施。 3.防重键的措施。2.2 总体思路 本次试验报告的整体思路如下:1. 行开放,找到列值并保存;2. 逐行扫描,找到行值并保存;3. 行值和列值组合成键特征值;4. 根据键特征值找到键号;5. 根据键号查表得段码;6. 送出相应位码。键盘扫描逻辑性很强,步步相扣。思路显得尤其重要。第三章 硬件设计3.1 8255工作原理并行接口是以数据的字节为单位与

7、I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255 A可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能以下三种方式下工作:方式0:基 输入/输出方式方式1:选通输入/输出方式方式2:双向选通工作方式8255A的内部结构及引脚如图3.1 所示,8255 工作方式控制字和 C口按位 置位/复位控制字格式如图3.2所示。 双向选通工作方式。8255的内部结构及引脚如图3.1所示,8255工作方式控制字和C口按位置位/复位控制字如图3.3所示图3.1 825

8、5的内部结构及引脚图3.2 8255工作方式控制字和C口按位置位/复位控制字3.2 键盘工作原理 唐都实验箱提供的是4*4的小键盘,如下图所示, 列为高电平。并且位选口与行控口共用端口。键盘原理图3.2:FE7dCbA9876543210列0列1列2列3 0 0+5 图3.2 键盘原理图键盘工作原理阐述: 每一个键跨接在行、列线之间; 在无按键时,列线固定为高电平;列控制口用于读入列线状态,即列值。 行线电平受控于“行控制口”,行控口输出的信号称为行值 某键未按下,该键关联的行、列线不通;按下,则把行线的电平引入列线。设置行线为低电平,则把行线的低电平引入列线。3.3 键特征值的形成根据键盘的

9、工作原理可以得到如下键特征值表3.4: 键值列值行值键特征值键值列值行值键特征值00111B1110B7EH10111B1101B7DH20111B1011B7BH30111B0111B77H41011B1110BBEH51011B1101BBDH61011B1011BBBH71011B0111BB7H81101B1110BDEH91101B1101BDDHA1101B1011BDBHb1101B0111BD7HC1110B1110BEEHd1110B1101BEDHE1110B1011BEBHF1110B0111BE7H .3键特征值表3.4段值的形成 DpgfedcbaD7D6D5D4D3

10、D2D1D0000111111 3FH100000110 06H2010110115BH301001111 4FH 401100110 66H501101101 6DH601111101 7DH700000111 07H801111111 7FH901101111 6FHA01110111 77Hb01111100 7CHC00111001 39H d01011110 5EHE待添加的隐藏文字内容201111001 79HF0111000171H显示段值见表3.5表3.4 段码表3.5 8255接线图 PB PA0 PA1 PA2 PA3 PC3 PC2PC1 PC0 LED6 LED5 LE

11、D4 LED3 LED2 LED1 控位控行控+5V 图3.5 8255接线图3.6 寄存器地址选取 根据唐都实验仪器提供的手册,选取IOY1作为8255芯片的片选端口,A1 A0为片内译码。即:PA口地址: 0640HPB口地址: 0642HPC口地址: 0644PD(控制口) 地址: 0646H第四章 软件设计4.1 8255初始化以PC为列控口;以PA低4位为行控口;列口为输入,行口输出;显示以PB为段选口;PB口输出;PA低6位为位选。根据3.1与3.2 得出8255芯片的控制字为:10001001B,即:89H。4.2 键盘扫描的处理方法4.2.1. 判断是否有键被按下的方法 行开放

12、:使所有行线输出低电平,从列控口读入列状态(列值)即: 通过行控口,输出全0 。4条行线均为低电平。如果没有键按下,则行线低电平不会引入到列线,从列控口读入的必为全1;只要有一个键按下,如F键,则行1的低电平引入列3,从列控口读入的列值为1110,非全1,由此得出判断是否有键按下的条件: 读入的列值为全1,无按键;非全1,必有按键!判断是否有键被按下的流程:1. 让行线输出全为0;2. 读列的值;3. 判断列值是否全为0;4. 若不全为0,则说明有按键按下;5. 全为0,则说明没有按键按下,继续等待输入。 4.2.2. 判断是否有键被按下的源程序 MOV DX,0640H MOV AL,00H

13、 OUT DX,ALJXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR对源程序的解释:程序中只需要C口低四位,所以用“AND AL,0FH”对低4位保存4.2.3 防抖动防抖动措施对按键来说是必需的,可以让微机准确输入,在课程设计中,利用延时子程序来实现防抖动。4.2.4.防抖动的延时子程序 DELAY PROC NEAR ;延时子程序 MOV CX,0F000HDLP: LOOP DLP RETDELAY ENDP4.3 程序核心部分4.3.1 逐行扫描 问题:怎么判断按键说在行的位置? 查阅资料,判断按键所在行的位置用逐行扫描

14、的方法。 逐行扫描:使行线输出逐一为低电平,从列控口读入列状态(列值)。 此时如果列值读入为全1,则按键不在本行;非全1,在本行。 判断是否有键被按下的流程:1. 使第0行为0(扫描0行);2. 读入列值;3. 判断列值是否全为04. 若列值全为0,则说明按键不在本行;5. 列值移位,再次读入列值,进行判断。4.3.2逐行扫描的源程序 LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1逐行扫描的源程序的解释:ROL AH,1,行值

15、移位后继续扫描。 第五章 源程序代码5.1 根据整体思路以及软件设计得到的代码 DATA SEGMENT DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H JZTABLE DB 7EH,7DH,7BH,77H DB 0BEH,0BDH,0BBH,0B7H DB 0DEH,0DDH,0DBH,0D7H DB 0EEH,0EDH,0EBH,0E7HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

16、 MOV DX,0646H MOV AL,89H OUT DX,AL ;初始化 T1: MOV DX,0640H ;行开放 MOV AL,00H OUT DX,AL JXSR: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JE JXSR CALL DELAY ;防抖动 MOV BL,AL ;保存列值 MOV AL,0FEH ;逐行扫描 MOV AH,AL LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH

17、 JMP LOP1 ZJSC:SHL BL,4 AND AH,0FH OR BL,AH ;形成键特征值 LEA SI,JZTABLE MOV CL,0 LOP3:CMP BL,SI JE LOP2 INC CL INC SI JMP LOP3 LOP2:MOV DX,0640H MOV AL,00H OUT DX,AL LOP4: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE LOP4 CALL DELAY LEA DI,DZTABLE MOV BX,DI MOV AL,CL XLAT MOV DX,0642H OUT DX,AL MOV DX

18、,0640H MOV AL,00H OUT DX,AL MOV AH,4CH INT 21H DELAY PROC NEAR ;延时子程序 MOV CX,0F000HDLP: LOOP DLP RETDELAY ENDPCODE ENDS5.2 以上代码存在问题分析 以上源代码在理论上已经准确了,但是任然不能调试成功,经过细心检查,发现源程序中的延时子程序出现问题。DELAY PROC NEAR ;延时子程序 MOV CX,0F000HDLP: LOOP DLPRETDELAY ENDPCODE ENDS在延时子程序中用了寄存器CX,但是后面程序中还要用CX,没有保存现场。应该改为:DELAY

19、 PROC NEAR PUSH CX MOV CX,0F000HDLP: LOOP DLP POP CXRETDELAY ENDPCODE ENDS第六章 难点分析本课程设计的难点之一是行扫描的实现。以上工作做完后,已经能显示了,键盘扫描问题就基本解决了。但是本课程设计的又一难点怎么实现防重键?我想的方法是根据键特征值去判断:观察键特征值,发现键特征值0的个数均是偶数。就利用此条件去判断,若出现奇数则是重键,具体操做见一下程序 DATA SEGMENT DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,

20、79H,71H JZTABLE DB 7EH,7DH,7BH,77H DB 0BEH,0BDH,0BBH,0B7H DB 0DEH,0DDH,0DBH,0D7H DB 0EEH,0EDH,0EBH,0E7HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0646H MOV AL,89H OUT DX,AL ;初始化 T1: MOV DX,0640H ;行开放 MOV AL,00H OUT DX,AL JXSR: MOV DX,0644H IN AL,DX AND AL,0FH CM

21、P AL,0FH JE JXSR CALL DELAY ;防抖动 MOV BL,AL ;保存列值 MOV AL,0FEH ;逐行扫描 MOV AH,AL LOP1:MOV DX,0640H OUT DX,AL MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE ZJSC ROL AH,1 MOV AL,AH JMP LOP1 ZJSC:SHL BL,4 AND AH,0FH OR BL,AH ;形成键特征值 JNP AAA ;防重键 LEA SI,JZTABLE MOV CL,0 LOP3:CMP BL,SI JE LOP2 INC CL INC S

22、I JMP LOP3 LOP2:MOV DX,0640H MOV AL,00H OUT DX,AL LOP4: MOV DX,0644H IN AL,DX AND AL,0FH CMP AL,0FH JNE LOP4 CALL DELAY LEA DI,DZTABLE MOV BX,DI MOV AL,CL XLAT MOV DX,0642H OUT DX,AL MOV DX,0640H MOV AL,00H OUT DX,ALAAA JMP T1MOV DX,0640H MOV AL,00H OUT DX,AL MOV AH,4CH INT 21H DELAY PROC NEAR ;延时子程

23、序 MOV CX,0F000HDLP: LOOP DLP RETDELAY ENDPCODE ENDS这才是本次课程设计的最终可执行程序。 第七章 体会 感慨 建议1、通过这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,我们通过这个方案包括设计了键盘扫描LED显示。这个方案使用了8255可编程接口芯片。2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。3. 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中

24、得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。4.此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。5.此次课程设计使我真正的掌握了小健盘的扫描方法,让我知道了解决设计问题的方法。从整个设计流程我知道问题是一步步地解决的。不能惧怕问题,问题的提出就是自我进步,自我升华

25、的关键。6.此次课程设计很好地培养了自己对知识的综合应用能力。7.短短的两周转瞬即逝,现在还回味无穷,对课程设计总有意犹未尽的感觉,保留这份感觉继续激励自己前进吧!5 在此,感谢蔡华老师的细心指导,也同样谢谢其他各组同学的无私帮助!第八章 参考文献1.80*86微机原理学生指导书2.80*86微机原理教师指导书3.马春燕主编 微机原理与接口技术 电子工业出版社 g an employment tribunal claimEmployment tribunals sort out disagreements between employers and employees.You may need

26、 to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, seeDismissal.You can make a claim

27、to an employment tribunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.Remember that in most cases you must make an applicat

28、ion to an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept it.If you are worried about how the time limits apply to you, take advice from one of the organ

29、isations listed underFurther help.Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.Most people find making a claim to an employment tribunal challenging. If you are thinking about making a cla

30、im to an employment tribunal, you should get help straight away from one of the organisations listed underFurther help.If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is know

31、n as adamages-based agreement. In England and Wales, your solicitor cant charge you more than 35% of your compensation if you win the case.If you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. It might be best to get ad

32、vice from an experienced adviser, for example, at a Citizens Advice Bureau. To find your nearest CAB, including those that give advice by e-mail, click onnearest CAB.For more information about making a claim to an employment tribunal, seeEmployment tribunals.The (lack of) air up there Watch mCayman

33、Islands-based Webb, the head of Fifas anti-racism taskforce, is in London for the Football Associations 150th anniversary celebrations and will attend Citys Premier League match at Chelsea on Sunday.I am going to be at the match tomorrow and I have asked to meet Yaya Toure, he told BBC Sport.For me

34、its about how he felt and I would like to speak to him first to find out what his experience was.Uefa hasopened disciplinary proceedings against CSKAfor the racist behaviour of their fans duringCitys 2-1 win.Michel Platini, president of European footballs governing body, has also ordered an immediat

35、e investigation into the referees actions.CSKA said they were surprised and disappointed by Toures complaint. In a statement the Russian side added: We found no racist insults from fans of CSKA.Age has reached the end of the beginning of a word. May be guilty in his seems to passing a lot of differe

36、nt life became the appearance of the same day; May be back in the past, to oneself the paranoid weird belief disillusionment, these days, my mind has been very messy, in my mind constantly. Always feel oneself should go to do something, or write something. Twenty years of life trajectory deeply shal

37、low, suddenly feel something, do it.一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。The end of our life, and can meet many things really do?而穷尽我们的一生,又能遇到多少事情是真正地非做不可?During my childhood, think luck

38、y money and new clothes are necessary for New Year, but as the advance of the age, will be more and more found that those things are optional; Junior high school, thought to have a crush on just means that the real growth, but over the past three years later, his writing of alumni in peace, suddenly found that isnt really grow up, it seems is not so important; Then in high school, think dont want to give vent to out your inner voice

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号