《键盘及显示接口设计》由会员分享,可在线阅读,更多相关《键盘及显示接口设计(10页珍藏版)》请在金锄头文库上搜索。
1、12目录一、 课程设计的意义(3)二、 课程设计的主要内容(3)三、 课程设计的组织与安排(3)四、 课程设计的要求(4)五、 课程设计正文(5)1. 设计原理(5)2. 设计电路原理图(6)3. 键盘及数码管显示电路接线图(7)4. 使用原器件(7)5. 课程设计总3结(7)6. 论文参考资料(7)六、 附录一:程序流程图(8)七、 附录二:课程设计程序(9)课程论文(设计)指导书课程论文(设计)指导书课程编号j1610031课程名称微型计算机原理与应用课程设计周数1英文课程名Course Design of the Principle and Applications of Microco
2、mputer开课院(系)信息学院开课系电子系修订时间2009 年 8 月 8 日一、课程论文(设计)的意义:1 1通过微型计算机原理与应用课程设计,使学生能够进一步理解微型计算机工作原理, 微型计算机的硬件结构及微型计算机的应用软件编程。2 2要求学生能够根据功能要求初步进行硬件接口电路的设计,以及有关应用程序的设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。43 3课程设计是培养和锻炼学生在学习完本课程后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善
3、于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 4 4通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。5 5通过设计过程,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件硬件调试、查阅资料、绘图、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,
4、实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统与接口扩展电路的设计方法,熟练应用 8086 汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。二、课程论文(设计)的主要内容:结合微型计算机应用系统的功能要求、硬件电路设计,进行汇编语言程序设计,要求画出程序流程图,编写完整的源程序,并经上机调试完成。课程设计过程一般 23 人一组,各组完成的内容不能雷同。要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统。设计题目可以在给出的参考题目中选,也可以自己选择适当的设计题目。三、课程论文(设计)的组织与
5、安排:设计题目的选题原则:根据教学大纲对本门课程的教学要求和所讲授的课程内容,结合现有的教学实验设备和能力,按照课程设计的目的和作用所提出的要求,选择符合教学内容、符合学生水平、符合实验室条件,综合本门课的全部知识,难易适中,使学生能在规定的时间内的通过集体讨论、查阅资料后可以完成课题。所有的题目都要求以 8086/8088 为处理器,以所学过的常用接口芯片及存储器为外围扩展器件,软、硬件结合,完成题目给定的设计任务,要求画出正确的硬件电路并给出完整的程序清单。分组要求:每 23 人一组。通过 1 周的集中设计时间,在老师的指导下应独立完成规定的设计任务。四、课程论文(设计)的要求:课程设计报
6、告的内容主要有:方案确定,硬件电路图和设计说明,软件设5计清单和设计说明,要求软件要有注释,设计报告的书写要求字迹清楚,语言流畅。设计报告主要包括以下内容:1. 设计题目分析2. 总体设计方案分析、讨论3. 硬件原理图设计(用自动布线绘图软件最好) ,要有设计过程说明。4. 软件流程框图及程序清单(汇编语言源程序必须加注释说明)要有设计过程说明。5. 设计总结和心得体会课程设计报告的基本内容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规范。 1、封面 封面内容包括“微型计算机原理与应用课程设计报告” 、班级、姓名、学号以及完成日期等信息。 2、目录3、正文正文是实践设计报
7、告的主体,具体由以下几部分组成: (1)课程设计题目; (2)课程设计任务与要求; (3)设计过程(包括方案论证、设计原理、创新点以及采用的新技术等) ; (4)硬件系统框图与说明; (5)软件主要模块流程图与说明; (6)工作总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等) ; 4附录附录 1:电路原理图附录 2:源程序及程序注释附录 3:使用元器件一览表(序号、名称、型号、规格、数量、备注)附录 4:参考文献82558255 键盘及显示接口设计键盘及显示接口设计用 8255A 的 A 口和 B 口作为 20 健的小键盘的接口,编写程序,
8、使得在小键盘上按下键后,微机屏幕上有相应字符显示出来,当按下R键时返回 DOS。设计原理:1、键盘一般都是矩阵排列,行和列分别接微机的输出、输入端口,每个键都跨接在某行和某列上,当键按下时,该行与该列短路。输入的端口线一般都通过电阻上拉至高电平。识别键盘上的闭合键,常用的方法有行扫描法和行反6转法。2、行扫描法:是使键盘的某一行输出为低电平,其余行为高电平,然后读取列值,如果行值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可知有否键按下,若有键按下,还可以知道是哪一行哪一列交点的键按下。3、行反转法识别闭合键,需要用可编程的并行接口。行线
9、接一个并行口,先让它工作于输出方式, ;列线接另一个并行口,先让它工作于输入方式。编程使 CPU 通过输出口向行线上全部送低电平,然后通过输入口读列线值,如果此时有某一键按下,则必定会使某一列线值为 0。然后重新对并行口初始化编程,使行线接的端口为输出口,并将刚读得的列线值所接的并行口输出,再读取行线所接的输入口,取得行线上的输入值,那么,在闭合键所在的行线上的值必定为 0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可知哪一行哪一列的键被按下。4、由于键内部的机械簧片在键按下和释放时会产生颤动,致使输入端口线上呈现如图(一)所示波形。图中 t1 和 t3 分
10、别为键闭合和断开过程中的抖动期,呈现一串负脉冲,时间长短和开关的机械特性有关,一般为 1020ms 之间,t2 为闭合的稳定期,其时间由操作员的按键动作所决定,一般为十分之几秒。t0、t4 为断开期。为了保证 CPU 对键的一次闭合作一次且仅作一次处理,必须去抖动,在键的稳定闭合或断开期读键的状态。图(一)7克服抖动常用两种方法,硬件与软件法。在按键数较少时可用硬件方法。 利用 RS 触发器,使输出得到没有抖动的理想波形。实验台上的单脉冲电路就 是采用硬件法消抖动的例子,如图(二) 。在按键数较多时一般采用软件延时法, 延迟到键态稳定后再去读键的状态。功能描述: 键盘及数码管显示实验,通过 8
11、255 控制。 8255 的 B 口控制数码管的段显示,A 口控制键盘列扫描及数码管的位驱动,C 口控制键盘的行扫描。按下按键,该按键对应的位置将按顺序显示在数码管上。PA0PA7,PB0PB7,PC0PC7 与其键盘及数码管端口连接即可。 键盘及数码管显示单元部分内部电路结构图如下:单脉冲发生电路 图(二)82558255 键盘扫描及数码管显示线路图键盘扫描及数码管显示线路图8使用元器件:电阻若干个,规格为 1K,10K。正 5V 电源若干个。系统总线集成 块一个,8255A 系统集成块一个,键盘及显示数码管集成块一个。74L37 与非 门 2 个,开关 1 个。 流程图见附录一,程序见附录
12、二。 课程设计总结: 学了微型计算机原理与应用这门课后,把学到的用于做此次课程设计。此次设计选用了“8255 键盘及显示接口设计”这个题目,题目并不陌生,应用道德知识却比较多,所以单从课本上学到的东西无法吗,满足这样的要求,只好查阅了其他资料后,历经一个星期终于顺利完成,完成的效果还满意,基本完成了课程设计的要求,并完成此份课程设计论文。设计中,碰到的问题还是比较多的。编程序是最大的问题。程序包括总线程序,8255A 及键盘数码管显示的主程序。虽然有较多的参考资料,但毕竟和本次课程设计还是有区别,所以必须读懂程序,然后修改程序,以达到自己设计的效果。另外,设计电路原理图时也有些地方不知所措,系
13、统总线和 8255A 及键盘数码管显示各个单元内部结构的了解。虽然不用对电路模块内部进行全方位的设计,但必须清楚内部大概结构,才知道如何进行接线,在这部分上参考了较多版本资料,最终由自己综合设计而成。通过此次课程设计,把课堂上的理论知识很好的应用到了设计中来,不仅对 8255A 键盘及显示接口技术的知识有更多的了解,而且对这门课也认识很多。并且希望通过此次设计能在日后学习中有所用处。参考资料:雷丽文等主编的微机原理与接口技术学习指导与实验邹逢兴主编的计算机硬件技术基础实验教程网上部分阅读参考资料键盘及数码管显示单元部分内部电路接线结构图9YNYYN显示提示信息开 始是结束符“R” 吗?调键盘扫
14、描子程序开 始置 A 端口为输出方式,B 端口为输入方式A 输出全“0” ,从 B 口读取列值列线全为“1”?保存列值,延时去抖动重置 A 端口为输入方式,B 端口为输出方式通过 B 端口输出保存的列值,并送 AH从 A 端口读入行值并送 AL行列值(AX)取反后与健值表比较与表中码相同吗?在屏幕上显示键入的字符重置 A 端口为输出方式,B 端口为输入方式A 口输出全“0” ,从 B 口读入列值健释放了吗?保存键入字符于 DL 中(a)主程序(b)键盘扫描程序返回 DOS返回8255A 与小键盘接口程序流程图附录一:程序流程 图10设计程序如下: ;PC8255ASM PAGE 60,78 P
15、A55 EQU 218H PB55 EQU 219H P55CTL EQU 21BHDATA SEGMENT TABLE DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180HDW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280HDW 0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H;字符码表 CHAR DB CDEFBA9845673210 RPMG MES DB PLAY ANY KEY IN THE SMALL KEYBOARD!,0AH,0DH DB IT WILL BE ON THE SCREEN! END WITH“R”,0AH,0DH,DATA ENDSSTACK SEGMENT STACK STACKDB 100 DUP(0) STACK ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DAT