您好,欢迎访问三七文档
微机课程设计一、概况二、即插即用原理三、实验指导一、概况1、实验平台简介本次实验是基于PCI总线结构和Windows的操作平台。通过这次课程设计,同学们不仅可以加深对理论知识的理解,还可以掌握控制硬件的技术,尤其是熟练掌握基于即插即用的DOS编程技术,同时能够培养独立分析问题和解决问题的能力。2、实验要求按指导书P7的步骤进行实验,严禁损坏仪器设备;认真准备并独立完成实验,不得抄袭、拷贝;实验完毕须经教师检查;写出实验报告。二、即插即用原理PCI总线是高性能的局部总线,除了支持猝发传送且传输率高、传输延时短、不受处理器限制等特点外,它还提供即插即用即自动配置功能。有了这个特性,就能最大限度地避免人工干预资源的配置及不必要的混乱,降低了对用户的要求,但是对访问硬件却带来一些不便。设备ID厂商ID状态寄存器命令寄存器分类代码修改版本ID内置测试头标类型等待时间定时器高速缓存行容量6个基地址寄存器(BAR05)Cardbus卡的卡信息结构指针子系统ID子系统供应商ID扩充ROM基地址(保留)(保留)最长等待时间最短获准时间中断引脚寄存器中断线寄存器在配置空间的头标区中有6个双字的基地址寄存器,上电时这6个基地址寄存器中的内容向POST软件反映该设备需要多少存储器空间和I/O空间。POST软件通过各设备内的基地址寄存器了解到PCI总线上有哪些存储器设备和I/O设备,然后根据它们的容量需求把它们映射到适当的存储器空间和I/O空间,并把起始地址再写入基地址寄存器的高位字段,之后引导系统。1、基地址寄存器(BAR05)1)用于I/O空间映射的基地址寄存器保留31109876543210基地址(R/W)-1I/O空间指示类型63(31)109876543210基地址(R/W)-0存储器空间指示数据是否可预取2)用于存储器空间映射的基地址寄存器位2~1含义00基地址寄存器为32位宽,该存储器可映射于32位存储空间的任意地方01基地址寄存器为32位宽,该存储器必须映射于1MB以下的存储器空间里10基地址寄存器为64位宽,该存储器可映射于64位存储空间的任意地方11保留存储器空间映射要求类型编码2、地址映射地址映射思路:首先读取各设备中的这些基地址寄存器,查明各设备想要的空间和容量,经统一协调和分配后,再向各寄存器的高位字段写入所分配空间的基地址。从而将设备的存储器或I/O映射到系统的物理地址空间中去。1)确定空间类别和容量要求空间类别的判定:基地址寄存器的最低位为1则申请I/O空间,反之申请存储器空间。空间容量的判定:设备将其配置空间的基地址寄存器中除只读位外的若干低位从硬件上连到“0”,来表达自己索要空间的大小。POST软件通过PCI总线先向某基地址寄存器写全1,然后读回其值,由于硬连到“0”的位不能写成“1”,所以根据读回的值就可判断出所申请空间的大小。2)分配基地址POST软件根据各片空间的要求和系统物理空间的具体情况,给每片空间分配一段地址,并把每段地址的起始地址写回对应基地址寄存器的高位字段。地址映射举例:一个设备要申请一个1MB(02300000H023FFFFFH)的局部存储器空间,使用了一个32位的基地址寄存器,则应该将该基地址寄存器的位419从硬件上连到0,POST软件向该寄存器写入全1后,位419读回0值,而高2031位读回1值,即读回值为FFF0000XH且b0位为0,由此CPU知道该设备所需的空间类别及容量。经统一协调和分配后,发现可以将PCI的78900000H789FFFFFH这片地址空间分配给该设备,于是将基地址789XXXXXH写入对应的基地址寄存器。3、实验设备中接口卡基址寄存器接口卡上使用的PCI接口芯片为PLX9052,且只用到了其中的前4个基地址寄存器,分别是:BAR0:以存储器方式映射9052的内部寄存器;BAR1:以I/O方式映射9052的内部寄存器;BAR2:映射PCI板卡的存储器空间;BAR3:映射PCI板卡的I/O空间;真实物理地址=I/O空间基地址+偏移地址三、实验指导1、流水灯控制2、实验箱小键盘按键的识别3、LED数码显示4、查询式A/D转换1、流水灯控制1)实验目的和内容掌握三态门、锁存器构成的简单I/O电路的原理及应用完成流水灯控制的编程2)实验电路原理+5V74LS244输入缓存器74LS273-8D锁存器IOR#IOW#D7~D0A7A6A5A4A3A2A1A0输入输出INAL,DX(I/O空间基地址+60H)偏移地址60H用两位输入选择流水灯的3种显示方式流水灯+5V74LS244输入缓存器74LS273-8D锁存器IOR#IOW#D7~D0A7A6A5A4A3A2A1A0输入输出OUTDX,AL2、实验箱小键盘按键的识别1)实验目的和内容掌握8255并行接口芯片的工作原理掌握扫描式键盘的原理2)实验电路原理完成扫描式键盘输入的编程实验实验电路的连接PC3PC2PC1PC0PC4PC5PC6PC70123456789ABCDEF8255实验箱上已将8255C端口的高4位和键盘矩阵的行线相连,C端口的低4位和键盘矩阵的列线相连。编程时可将PC03设置为输入,PC47设置为输出,也可设置PC03为输出,PC47为输入。编程中8255端口的访问方法真实物理地址=I/O空间基地址+偏移地址I/O空间基地址通过读取配置空间获得8255的偏移地址控制口:3A口:0B口:1C口:2行扫描法原理使键盘某一行线为“1”,其余行线为“0”,然后读取列值,如果列值中有某位为“1”,则表明行列交点处的键被按下,据此识别按下的键;否则扫描下一行,直到扫完全部行线为止。PC3PC2PC1PC0PC4PC5PC6PC70123456789ABCDEF82553、LED数码显示1)实验目的和内容掌握8255并行接口芯片的工作原理掌握动态LED数码显示的原理2)实验电路原理完成动态LED数码显示的编程实验实验中(共阳极)LED数码显示的原理实验中(共阳极)LED数码显示的原理共阳极LED0:亮1:灭8255APA7~PA0PB7~PB0LD1LD2LD3LD4PB0PB1PB2PB38255A的A、B端口均工作在简单输出方式选通信号LD有效,对应LED按输入数据显示!实验电路的连接(已连接好)8255A的A端口对应关系:PA0:aPA1:bPA2:cPA3:dPA4:ePA5:fPA6:gPA7:DP100111110F9H编程中8255端口的访问方法同上一实验多个LED动态显示方法A)一个并行接口分时向当前位LED送显示数据B)送相应选通信号LD,点亮当前LED的相应段C)每位LED分时显示,故需利用视觉迟滞达到稳定流畅的效果3)实验编程要求:让4位LED从0000至9999循环显示,要求会调整显示速度!4、查询式A/D转换1)实验目的和内容掌握ADC0809的工作原理2)实验电路原理和要求完成查询方式A/D转换的编程实验参见实验指导书第五章内容注意,EOC接至8255A的PB7用汇编语言完成查询式(通过查询EOC状态的方法)编程实验
本文标题:微机课程设计
链接地址:https://www.777doc.com/doc-3356557 .html