HUT-简易键盘的制作

上传人:jin****ng 文档编号:70508934 上传时间:2022-04-06 格式:DOC 页数:17 大小:230KB
返回 下载 相关 举报
HUT-简易键盘的制作_第1页
第1页 / 共17页
HUT-简易键盘的制作_第2页
第2页 / 共17页
HUT-简易键盘的制作_第3页
第3页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
湖南工业大学课程设计资料袋湖南工业大学学院(系、部)2015 2016 学年第 一 学期课程名称 微机原理与接口技术扌旨导教师杨伟丰学生姓名 专业班级通信1302 学号题 目简易键盘的制作成 绩起止日期2015年12月二9日2015年12月25日目 录清单序号材料名称资料数量备注1课程设计任务书12课程设计说明书13课程设计图纸456湖南工业大学课程设计任务书20152016学年第1学期 学院通信工程专业1302 班级 课程名称:微型计算机组成原理设计题目:简易键盘的制作完成期限:自 2015 年12月日至 2015 年12月25 日共周内 容 及 任 务一、设计的主要技术参数利用扩展按键、6个数码管、微机完成代码输入器制作,通过按键输入某个数字或字母, 然后在数码管上显示,显示时输入几个显示几个,最多显示6个,显示采用队列的形式。(祥见课程设计指导书)二、设计任务(内容)1、完成相关的电路设计2、完成汇编程序设计3、连接相关的电路4、验证5、完成课程设计说明书三、设计工作量1周完成进度安排起止日期工作内容12月19日分组、任务分配、课题理解12月20日-22日功能分析、程序设计、电路设计12月22日-24日实验验证和测试12月25日总结、书写实验报告,答辩。参 考 资 料1 戴梅萼微型计算机技术及应用,清华大学出版社,2008年2 彭楚武微机原理与接口技术,湖南大学出版社,2006年3 艾德才 32位微机原理及接口技术,清华大学出版社,2003年指导教师(签字):系(教研室)主任(签字):微型计算机组成原理课程设计计算机与通信学院2015年 12月湖南工业大学微机原理与接口技术课程设计说明书简易键盘的制作起止日期:2015年12月19日 至2015年12月25日学生姓名班级通信1302学号成绩指导教师(签字)计算机与通信学院2015年12月25日目录目录第一部分 总则错误!未定义书签。一、 目的要求 错误!未定义书签。二、设计步骤与设计说明书的撰写要求 错误!未定义书签。三、时间进度安排二7四、考核要求二7第二部分 课程设计项目内容 二8项目一简易键盘的制作二8一、设计目的二8二、设计内容二8三、基本原理二8四、 设计步骤错误!未定义书签。五、程序代码J2总结错误!未定义书签。8第一部分 总则一、目的要求 课程设计是培养和锻炼在校学生综合应用所学理论知识解决实际问题能力、 进行工程实 训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论 联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好 方法。微型计算机组成原理是一门实践性较强的课程,让学生在学完该课程之后,进行一次课 程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步 骤和接口设计的方法,提高分析和解决实际问题的能力。通过设计实践,培养学生查阅专业资料、工具书或参考书,了解有关工业标准,掌握现 代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。通过设计,不但要培养和提高学生解决工程具体问题、动脑动手的技术工作能力,而且 还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃 认真的工作态度。二、设计步骤与设计说明书的撰写要求1、设计步骤1)选题与分组:根据分组,选择课题,在小组内进行分工,进行系统调查,搜集资料。2)课题分析:根据搜集的资料,进行功能分析,并进行系统功能等设计。3)课题设计:根据课题要求设计必要的电路,并利用汇编语言编写程序,实现所设计的模块功能。4)调试与测试:利用计算机和微机原理与接口实验箱自行调试程序,成员交叉测试程 序,并记录测试情况。5)验收与评分:指导教师对每个小组的开发的系统,及每个成员开发的模块进行综合 验收,结合设计报告,根据课程设计成绩的评定方法,评出成绩。2 、设计说明书的撰写要求1)本课题设计主要内容和要求。2)描述自己所分配到的设计任务。3)进度安排与完成情况。4)所涉及到的技术原理与解决方案。5)本课程设计的目的意义,设计的结果与心得体会。三、时间进度安排1、组织动员与分组,分组讨论, 1 天2 、资料查阅,功能分析, 1 天3 、电路设计与程序设计, 1 天4 、验证与调试, 2 天。5 、总结,分组讨论, 1 天。6 、书写课程设计说明书, 1 天 四、考核要求中、及格和不及格课程设计完成后,每位同学单独答辩。 根据设计完成情况和所掌握的知识,并结合平时表示,给与优、良、5 个等级评定。第二部分 课程设计项目内容项目一 简易键盘的制作一、设计目的通过该设计,掌握 8255 并行接口芯片的使用,掌握普通键盘的设计,并掌握相应的程序 设计和电路设计的技能。 是对 8253 定时计数章节理论学习的总结和补充, 为后续的硬件课程 的学习打下基础。二、设计内容利用开发板KB-C中的18个按钮中的前16个作为代码键,即代表:0、1、2、9、A、 b、C d、E、F,最后2个键,1个为删除键(S24), 个为回车键(S25),实现以下功能: 每按 1 个键,则在屏幕上显示相应该键代表的字符,按 S25 键结束输入。再利用KB-C上的6个数码管中最后面的4个,在输入代码时不在屏幕上显示,而在数码 管上显示,即输第 1 个时,在最后 1 位显示,输第 2个时,前的那个在倒数第 2个显示,而 刚才输入的那个在最后1位显示,如此等等,4个代码输完后,按S25结束输入,并在屏幕 上显示出来。三、基本原理1. 按键的基本原理在KB-C板上,端口 A负责发按键扫描信息,端口 C的低3位,即PC0 PC1 PC2负责 接收扫描结果,如下图所示,先定时通过端口A ( PA0 PA1, PA2, PA3 PA4, PA5扫描各按钮,即先PA0=0其它为1发信号,然后PA1=0其它为1,端口发出1个信号后,即读 端口 C,如果PC0 PC1, PC2全为高电平,说明无按钮按下,如果 PC0为低电平(PC1, PC2 肯定为高电平),且此时,端口扫描的情况是:PA0=1, PA1=0 PA2=1,则说明SW1被按下。0255RAO PA1PA2PA3PA4PASPCOPC2-L-SW0丄丄SW1-LSW13丄SW2丄 SVB-L SW14-LSW15丄SW4丄 SVV10-CSW16-LSW11-LSW171 卜一+5VHfrdp2. 数码显示管工作原理数码管由8255端口 B和端口 C联合控制,端口负责控制某个数码管中的那些段码的显示和小数点的显示(PB7。端口 C的PC4 PC5 PC6发送的信号通过译码后,负责选择 6个数码管中的1个显示,即某时刻只有1个数码显示,如果要让几个同时显示,则采用来回扫描100ms左右,太短显示不显示的方法,且当某个数码管显示时,必须要有一定的延时,约在 明显(发光不够),太长会产生闪烁。数码管的控制如下图所示:lb3、防止按键时的抖动,可以设计一个延时子程序来肖抖。4、本实验用到了 8255A芯片,它是In tel系列中的并行接口芯片。由于它是可编程的,可以 通过软件来设置芯片的工作方式,所以,用它连接外部设备时,通常不需要再附加外部电路。5、8255A有三个8位的端口 A,端口 E,端口 C。在方式 0下工作时,它们都是基本的输入 输出口,要注意该方式下是单向传输的。8255A的控制字如下图所示1D6D5D4D3D2D1D0图4.1 8255A 的控制字其中:D6D5是A组方式选择,00为方式0,01为方式1,1X为方式2;D4表端口 A工作方式,0为输出,1为输入;D3表示PC7-PC4 1为输入,0为输出;D2表B组方式选择,0为方式0,1为方式1;D1表端口 B工作方式,1为输入,0为输出;D0表示PC3-PC0,1为输入,为输出。本实验中用到了 8255A的端口 A,端口 C、端口 C它们都工作在方式0下,因此控制字为 81H。端口 B与数码管相连用来显示操作的内容, 而端口 C低4位用来检测是否有按键按下高4位用来控制数码管的段,端口 A用来发送按键信息。 电路图如下所示控制列数8255APA0PA1PA2PA3PA4PA5PC0PC1PC2PC4PC5PC6控制数码管段制行PB0PB1PB2PB3PB4PB5PB6PB7图4.2 8255A电路图数码管各信息的表示和二进制和十六进制的转换如下表所示: 下所示的是0-F:fe显示 字形gefdcba段码001111113fH1000011006H210110115bH310011114fH4110011066H511011016dH611111017dH7000011107H811111117fH911011116fHA111011177HB11111007CHC011100139HD10111105EHE111101179HF111000171H表4.1七段数码管的字型代码表四、设计步骤1、电路设计:根据设计内容,通过分析,设计出相应的电路图。2、控制字设计:根据要求,设计出各自8255的控制字和8253控制字3、程序设计:根据要求,设计程序流程图,并设计相应的程序。4、验证:在实验室具体测试和验证。程序代码:data segment ; anjian1 db 012345;anjian2 db 6789Ab;anjian3 db CdEF;data endsSTACK SEGMENTDB 200 DUP(?)STACK ENDScode segment ; assume cs:code,ds:data,ss:stack start: mov ax,datamov ds,axmov dx,303h ;8255 mov al,10000001Bout dx,alscan1: mov al,11111110B mov bh,0 ;bhscan2: mov dx,300h ; out dx,al mov bl,al ;数据段的定义第一行按键回显现实内容 第二行按键回显现实内容 第三行按键回显现实内容程序段的定义初始化键盘的扫描 (11111110)用来记录扫描的次数对 A 端口开始扫描暂存扫描值变量读入 C 端口的值mov dx,302h in al,dx暂存不变量 把当前扫描值还给 al 循环左移,开始对 A 的下一个端口扫描 扫描一次自加 1控制每排扫描 6 次第一排按钮的某个按钮输出屏幕上test al,00000001b jz p1 ;test al,00000010b jz p2test al,00000100bjz p3mov al,blrol al,1 ;inc bhcmp bh,6jz scan1jmp scan2p1:call delaymov si,offset anjian1测试 D0 是否为 1 为 1 跳转第一行的处理测试 D1 是否为 1测试 D2 是否为 1call screen在屏幕上显示p2:jmp scan1call delay第二排按钮的某个按钮输出屏幕上mov si,offset anjian2call screen ; 在屏幕上显示jmp scan1p3:call delaymov si,offsetanjian3 ; 第三排按钮的某个按钮输出屏幕上cmp bh,0jz next1;是 0 ,显对应的值cmp bh,1jz next1;是 1,显示对应的值cmp bh,2jz next1;是 2 ,显对应的值cmp bh,3 jz next1; 是 3,显对应的值cmp bh,4; 在屏幕上显示jnz next;不是 4,检测是不是 5call backspace;是 4,退格jmp scan1next: cmp bh,5jnz wr ; 不是 5 就返回最初call enter ; 是 5 的话就退出next1:call screenjmp scan1wr:jmp scan1 ; 回到最初,重新检测screen procmov bl,bhmov bh,00hmov al,si+bxmov dl,almov ah,02hint 21hretscreen endpenter procjmp exitenter endpbackspace proc push bx push dx mov ah,3 mov bh,0 int 10hmov al,80 mul dhmov dh,0 add ax,dxdec axmov dl,80 div dlmov dh,al mov dl,ahmov bh,0 mov ah,2 int 10h pop dx pop bx ret backspace endpdelay proc; 延时子程序mov cx,0aa: mov di,1100hbb: dec dijnz bbdec cxjnz aaretdelay endpexit: mov ah,4ch ; 退出程序返回 DOS int 21hcode endsend start心得一周的微机原理课程设计结束了,虽然上课过程感到非常的枯燥,总是对 着冗长的程序段,删掉,编译,测试,不过还是有很多收获的。此次微机原理 课程设计我们组选择的是简易键盘制作的设计,由于微机原理的知识掌握的不 够扎实,所以花了一部分时间来学习键盘的工作原理,这样才能更好的来设计 创新。每个按键都有了功能,而且也编译测试通过,算是小有理解吧。我们把精 力又转移到了怎么使按键所对应的功能在屏幕上显示出来,连接了 8255 和键盘 区控制灯的针脚后,自己又学习了对应的屏幕显示程序,及怎么把扫描出来的 行或列值进行保存,后面在程序中可以看到很多极其类似的程序段。其后我们 又添加了一些数码管显示模块。通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时 也增加了我对汇编语言的一些认识,在做实验的过程中通过和同学的交流,也 增加了合作的技巧。每个人都可能会在某个地方钻死角,而团队虽然不能避免 死角,但却可以及早的钻出来而不浪费太多的时间在没用的地方。细节决定成败。很多次的调试总是发现功能是有瑕疵的,就是因为一些小 的细节没有做好,也许只是忘了加个逗号亦或是跳转错了地方。本次实验是实践和理论的结合的实验,不仅巩固了对理论知识的理解,而 且还加强了动手能力以及独立思考解决实际问题的能力,设计出了一些小功能, 当然程序还是有很多地方有瑕疵,至少程序的易读性就没有做的很好,每次改 程序都要改半天,设计的功能也不是很有创新,这也就对我提出了更高的要求, 要不断的学习,来弥补不断产生的瑕疵。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!