已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术课程设计实验报告微机原理与接口技术课程设计评分标准1、对课程设计的目的和意义的表述和理解 5分2、总体方案设计 5分3、硬件电路设计:(1)按给定的要求正确的设计出8086最小模式电路图 5分(2)按给定的要求正确的设计出各所需的译码电路图 5分(3)按给定的要求正确的设计出各所需的接口电路图 5分(4)按给定的要求正确的设计出系统硬件电路图 5分4、软件设计:(1)按所设计系统的要求给出正确的程序流程图 5分(2)按给定的要求正确的编写出各接口的初始化程序 5分(3)按给定的要求正确的编写出主程序 10分(4)对所编写的程序有注释说明 5分5、设计报告的书写:(1)阐明了硬件设计的基本原理和设计要求与方法 5分(2)阐明了软件设计的基本原理和方法 5分6、按时完成设计任务 10分7、考勤 5分8、答辩 20分答辩表问题一答辩一问题二答辩二问题三答辩三问题四答辩四问题五答辩五评语小键盘按键识别数码管移位显示设计内容:用系统小键盘输入控制数码管的移位显示。设计目的:掌握“行扫描”按键识别的原理,掌握行扫描按键识别的编程技术 设计要求:用行扫描技术识别小键盘将小键盘键入的任意长度的由09组成的数字串,采用左移位显示的方法显示任数码管上(仿照移动电话显示屏的显示效果),当小键盘按下F键时,程序结束。一、课程设计的目的和意义: 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼,它具有动手、动脑,理论联系实际的特点,是培养我们工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。通过这次设计实践能够进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 二、总体设计方案:(1) 在数据段设置两张表,一张是09的键值表,一张是09的字形编码表。对应关系见表。 键值表与字形编码表(2)在数据段设置一个显示缓冲区,即BUFBUF+6单元,其中,BUFBUF+5单元的初值为数码管熄灭的字形码。程序应将当前的闭合键字形码存人BuF6单元,随后将BuF1BuF6单元的内容上移到BUFBUF+5单元,再扫描显示BuFBuF+5单元的内容,从而使数码管显示左移一位。(3) 按键的识别方法如下:键盘一般都是矩阵排列,行和列分别按微机的输出、输入端口,每个键都跨接在某行和某列上,当键按下时,该行与该列短路。输入的端口线一般都通过电阻上拉至高电平。识别链盘上的闭合键的常用方法有行扫描法.行扫描法是使键盘的某一行输出为低电乎,其余行为高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可知有否键按下,若有键按下还可以知道是哪一行哪一列交点的键按下。(4)LED显示电路:LED显示电路的核心是6个共阴极数码管,6个数码管的同名阳极段已经复接。6位数码LED的结构参见图。该电路有两个端口:位选N为偶地址,段选口为奇地址,片选信号CS取自“IO口地址译码电路”的任一输出端,如果将口地址译码输出的“200207”连接到数码管电路的CS则片选地址为20DH207H,此时有以下两种情况:a.针对奇地址端口执行OUT指令、CS0;IOW0A0l,数据线D0D7上的字形编码存入段选锁存器,其输出端通过8位同相驱动器分别驱动6个数码管的ah阳极段。b.对偶地址端口执行OUT指令CS0,IOW0,A00、数据线D0D7上的位选代码码存入位选锁存器,其输出端通过6位反相驱动器分别驱动第1至第6位数码管的共阴极。因为数据线D0D7依次对应6个数码管的ah段,因此可以列出适用于该电路的数码管字形编码表。16位数码管的共阴极依次和数据线D0D7位一一对应,因此16位数码管的位选代码依次为01H、02H、04H、08H、30H及20H。由于6个数码管的同名阳极段己经复接,当1个字形编码写入段选锁存器之后,6个数码管都有可能显示相同的字形。很显然,若要6个数码管显示不同的字形,必须采用“扫描显示”的方法。扫描显示是用多位数码管显示电路最基本的编程技巧,它借助LED的余辉效应和人眼的视觉暂留功能达到静态显示的效果。扫描显示的方法是:从第1位至第6位(或者从第6位至第1位),每位显示一个数字后,延时1ms。(5) 将小锻盘的8根横向引出线,3根纵向引出线与8255连接。8根横向引出线与PA0PA7相连,3极纵向引出线与PB0PB7相连,从“IO口地址译码器”选择一个译码输出连接到8255A的片选端,选择另一个译码输出连接到数码管电路的片选端。(6) 要用8255做小键盘的处理由路、首先要将8255铵要求初始化。具体要求是:A口方式0输出,B口方式0输入。采用“行扫描”技术识别闭合键。在实现LED显示时,注意在显示后面的字符时,要保存前面输入的字符并左移显示。LED字符的显示用查表的方式。三、硬件电路设计与过程说明: (1)、8086最小模式电路图 8086芯片介绍:AD15AD0(I/O,三态):地址/数据复用引脚。A19/S6 A16/S3(O,三态):地址/状态复用引脚。BHE/S7 (O,三态):高字节允许/状态复用引脚。NMI(In):非屏蔽中断请求线,上升边触发。INTR (In) :可屏蔽中断请求线,高电平有效。RD (O,三态) :读选通信号,低电平有效。CLK (In) : 时钟信号,处理器基本定时脉冲。RESET (In):复位信号,高电平有效。WR (O,三态):写选通信号,低电平有效。READY (IN):准备好信号,高电平有效。处理器与存储器及I/O接口速度同步的控制信号。当被访问的部件无法在8086 CPU规定的时间内完成数据传送时,应由该部件向8086 CPU发出READY=0(低电平),使8086 CPU处于等待状态,插入一个或几个等待周期T,当被访问的部件完成数据传输时,被访问的部件将使READY=1(高电平),8086 CPU继续运行。TEST (IN):等待测试控制信号(输入)。在WAIT(等待)指令期间,8086 CPU每隔5个时钟周期对TEST引脚采样。若TEST为高电平,8086 CPU循环在等待状态,若TEST为低电平,则8086 CPU脱离等待状态,继续执行后续指令。MN/MX (IN):最大/最小工作模式选择信号。硬件设计者用来决定8086工作模式,MN/MX =1, 8086为最小模式。 MN/MX =0, 8086为最大模式。Vcc (IN): 处理器的电源引脚,接 +5V电源。GND :处理器的地线引脚,接系统地线。(O)为输出信号;(IN)为输入信号74LS245芯片介绍:74LS373芯片介绍:最小模式介绍: 有关控制信号:INTA (O) :最小模式下的中断响应信号。ALE (O) :地址锁存允许信号ALE引脚高有效时,AD7 AD0和A19 A16正在传送地址信息,由于地址信息在这些复用引脚上出现的时间很短暂,所以系统需利用ALE引脚将地址锁存起来。DEN (O,三态) :数据总线缓冲器允许信号。数据允许,输出、三态、低电平有效,有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/R (O,三态) :数据总线缓冲器方向控制信号。数据发送/接收,输出、三态。该信号表明当前总线上数据的流向: 高电平时数据自CPU输出(发送) 低电平时数据输入CPU(接收)M/IO (O,三态) :存储器或I/O接口选择信号。为低电平时,表示CPU将访问I/O端口,这时地址总线A15 A0提供16位I/O口地址。该引线输出高电平时,表示CPU将访问存储器,这时地址总线A19 A0提供20位存储器地址。(注:书中错)WR (O,三态) :写控制。输出、三态、低电平有效,有效时,表示CPU正在写出数据给存储器或I/O端口RD (O,三态):读控制,输出、三态、低电平有效,有效时,表示CPU正在从存储器或I/O端口读入数据HOLD (IN) : 总线请求信号。(用于DMA)HLDA (O) :总线请求响应信号。 (用于DMA)最小模式硬件上的特点:(1)MN/ MX引脚接+5V,决定了8086工作在最小模式。(2)有一片8234A,作为时钟发生器。(3)有三片8282或74LS373,用来作为地址锁存器。(4)当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,可选用两片8286或74LS245作为总线收发器。(2)译码电路图 (3)接口电路图CS接Y0CS接Y1说明:0#8255APA0CPU总线行0+5 VPA1PA2PA3PB0PB1PB2PB312#1#13#2#14#3#15#行1行2行3列0列1列2列3与键盘相连接的8255 (4)系统硬件电路图 与LED相连的8255与键盘相连的8255 四、软件设计:(1)参考程序流程图(2)初始化程序MOV AL, 80H ; 初始化与LED相连的8255A ,A口方式零输出,B口方式零输出OUT 83H,AL ; 将工作方式控制字送控制寄存器MOV AL,82H ;初始化与键盘相连的8255A,A口方式0输出,B口方式0输入OUT 87H,AL ;将工作方式控制字送控制寄存器(3)编程如下:DATA SEGMENT ;定义数据段TABLE1 :DW FE0E ;0键DW 0FD0EH ;1键DW 0FB0EH ;2键DW 0F70EH ;3键DW 0FE0DH ;4键DW 0FD0DH ;5键DW 0FB0DH ;6键DW 0F70DH ;7键DW 0FE0BH ;8键DW 0FD0BH ;9键DW 0FB0BH ;A键DW 0F70BH ;B键DW 0FE07H ;C键DW 0FD07H ;D键DW 0FB07H ;E键DW 0F707H ;F键 ,0F的键值表TABLE2 DB 3FH ;0DB 06H ;1DB 5BH ;2DB 4FH ;3DB 66H ;4DB 6DH ;5DB 7DH ;6DB 07H ;7,DB 7FH ;8DB 6FH ;9DB 77H ;ADB 7CH ;BDB 39H ;CDB 5EH ;DDB 79H ;EDB 71H ; ;F 0F的字形编码表BUF DB 7 DUP 0 , 0 , 0 , 0 , 0 , 0 , 0 ;显示缓冲区,BUFBUF+5单元的初值为数码管熄灭的字形码DATA ENDSSTACK1 SEGMENT PARA STACKSTACK ;定义堆栈段STA DB 1000 DUP (?)STACK1 ENDSCODE SEGMENTASSUME CS : CODE , DS : DATA , SS : STACK1 ; 段说明MOV AX, SEG DATA ;段初始化MOV DS, AXMOV AX, SEG STACK1MOV SS, AXMOV AL, 80H ;初始化与LED相连的8255A ,A口方式零输出,B口方式零输出OUT 83H,AL ; 将工作方式控制字送控制寄存器MOV AL,82H ;初始化与键盘相连的8255A,A口方式0输出,B口方OUT 87H,AL ;式0输入,将工作方式控制字送控制寄存器BEGAIN : MOV DI,OFFSET BUF ;指向缓冲区的首地址MOV CL, 01H ;指向左端LED显示器MOV AL, 00H ;将00送位码寄存器,关显示OUT 81H, ALDISP: MOV AL, DI ;取要显示的字符LEA BX, TABLE2;段码表首地址送BXXLAT :将要现实的字符转换成对应的段码存入ALOUT 80H, AL ;将段码送至端口AMOV AL, CL ;将位码送至端口BOUT 81H, ALPUSH CX ;保存位码至堆栈MOV CX, 30H;延迟一段时间DELAY: LOOP DELAYPOP CX :从堆栈段移出位码ROL CL, 1CMP CL,40H :显示到最左端了吗?JZ LOOA ;是,转去扫描键盘INC DI ;否,指向下一个要显示的字符JMP DISPLOOA: MOV AL,00HOUT 84H,AL ;使PA3=PA2=PA1=PA0=0 IN AL,85H ;读B口,判断PB30是否有一位为低电平AND AL,0FH ;只考虑低四位的值CMP AL,0FH ;有键闭合吗?JZ LOOA;无键被按下,转LOOA等待CALL LD20ms;有键被按下,PB3PB0有一位为低,调延;时20 ms子程序,消除抖动引起的误动作。IN AL,85H ;再次读入B口值。AND AL,0FH;有键按下,在检查是否真的按下。CMP AL,0FH;如果延时后PB3PB0中低电平不再存在,JZ LOOA;说明是由干扰或抖动引起的,则转LOOA继续扫;描,延时后仍有某位为0,说明有键被按下,查键值。START:MOV BL,4 ;行数送BL(共四行)MOVBH,4;列数送BH(共四列)MOVAL,0FEH;准备扫描0行,使D0位=0。MOVCL,0FH;键盘屏蔽码送CL(只要低四位)MOVCH,00H;CH中存放起始键号LOP1: OUT84H,AL;A口输出,扫描一行(D0=0)ROLAL,1;行值左移一位,修改扫描码,准;备扫描下一行。MOVAH,AL;暂时保存行线值IN AL,85H;读B口,以便确定所按键的列值AND AL,CL ;比较是低四位,只保留低四位CMP AL,CL ;检查该列线是否为0,JN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数据仓库开发工程师招聘面试题库及参考答案
- 2025年产品测试工程师人员招聘面试题库及参考答案
- 2025年社群运营管理专员招聘面试题库及参考答案
- 2025年网络开发运维工程师招聘面试题库及参考答案
- 2025年数字资产经理招聘面试题库及参考答案
- 2025年化妆造型师招聘面试参考题库及答案
- 2025年工程项目总监招聘面试参考题库及答案
- 2025年绩效管理专员招聘面试题库及参考答案
- 2025年团队领导招聘面试参考题库及答案
- 2025年关键客户经理招聘面试参考题库及答案
- 江西省稳派上进教育联考2026届高三年级11月一轮复习阶段检测英语试题(含答案)
- 工程勘测安全培训课件
- 2025下半年四川泸州合江县人力资源和社会保障局考调事业单位工作人员7人笔试考试备考试题及答案解析
- 2025年房地产企业营销管理制度
- 2025年驾照三力测试试题题库及答案
- 2024年杭州辅警招聘考试真题含答案详解(黄金题型)
- 2025年下半年中电科太力通信科技限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025-2026学年上海市闵行区九年级(上)期中语文试卷(含答案)
- 中原银行从业知识考试及答案解析
- 泌尿外科尿路感染护理新技术
- 新造船合同(标准版)
评论
0/150
提交评论