微机原理设计报告_第1页
微机原理设计报告_第2页
微机原理设计报告_第3页
微机原理设计报告_第4页
微机原理设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理课程设计题 目: I/O接口卡设计学 院: 仪器与电子学院 专 业: 测控技术与仪器 指导教师: 陈 鸿 成员姓名:设计日期:2015.6.15-2015.6.28目录一 设计题目及设计要求1. 设计内容2. 设计要求二 设计总体方案三 主要元件1. IBM PC/XT总线简介2. ISA总线简介3. 8255芯片简介4. 驱动器5. LED显示器四工作原理五硬件电路六程序设计及流程图1.流程图2.程序设计七设计心得八参考文献1、 设计题目及设计要求:1. 设计一块I/O卡,该卡具有3个8位I/O口(A、B、C口),利用该I/O卡控制该卡控制一个四位的LED显示器,该卡插在PC机的IM

2、B-PC扩展总线插槽上(ISA),选用8255接口芯片2. 设计要求:画出电路原理图,说明工作原理,编写利用该接口卡对键盘上键入的数字进行显示的程序(当回车键按下前,如果键入的数字的次数大于4时显示最后的4位数)二设计整体方案该接口卡的主芯片是8255芯片,将ISA总线上的地址线A0-A19经过译码作为8255的片选信号,IOR、IOW分别作为8255的读写信号。四位LED显示器采用共阴极接法,将8255的A端口的8个引脚经过驱动器与LED的a-h相连,用C端口的低四位来控制那个LED亮,B端口不使用。三主要元件1.IBM PC/XT总线简介总线在PC/XT机的底板上共有8个插头,称为IMB

3、PC/XT总线。PC/XT总线在每个插槽(扩展槽)配有62个引脚代表各种不同的信号。IBM PC/XT总线的62条引线包括20位地址线、8位数据线、21根控制线、2根状态线和11根辅助线及电源线。每一个插槽对应的引脚均有相同的意义,因此所有的接口卡可插于任何一个插槽上。引脚间隔为2.54mm。2.ISA总线简介ISA总线是IBMPCAT机(CPU是80286)所用的系统总线,这是一个16位兼8位的总线标准。如果忽略标准化细节,则可认为16位ISA总线就是PCAT总线。由于IBMPCAT与IBMPC、IBMPCXT机(CPU都是8088)所用的Pc总线兼容,所以可认为8位ISA总线(16位ISA

4、总的低8位部分)就是PC总线。ISA总线的主插槽与IBM总线的插槽兼容,如下:注意事项:(1)当设计非DMA方式的IO接口时,应把AEN为低作为该接口工作的使能条件,以确保在总线上进行DMA传送时该接口不工作,否则DMA传送时所发出的地址与该接口设计地址相同时该接口会误操作。(2)系统对ISA总线上的IO端口地址采用部分译码方法,只译码A9AO或A10A0,在选择接口地址时应避开系统已占用的地址以及它们的重叠区。(3)原则上讲,在用户自行设计接口插卡时,反未被占用的地址端口都可以使用,但要考虑到系统的现存配置情况,对端口地址的占用要留有余地,以免发生地址冲突。一般用户可使用300H-31FH的

5、地址,这些地址是留作实验卡用的。3.8255芯片简介8255是可编程并行IO口接口芯片。如下图所示:(1)8255具有24个可编程设置的I/O口,即3组8位的I/O口分别为A口,B口和C口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).(2)8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据就是引脚PA7PA0、PB7PB0、PC7PC0上输入或输出的数据。其中,1PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。2PB0PB7:端口B输入输出

6、线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。(3) PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行操作。CS为低电平时选通8255;A1、A0为地址选通。具体如下:当A0=0,A1=0时,PA口被选择;当A0=0,A1=1时,PB口被选择;当A0=1,A1=0时,PC口被选择;当A0=1.A

7、1=1时,控制寄存器被选择.RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。(3)8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低

8、电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。(4)8255有三种基本的工作方式:方式0(基本的输入输出方式),方式1(选通输入输出方式),方式2(双向传输方式)。具体如下:1方式0:这种方式不需要任何选通信号。A口、B口及C口的两个4位口中的任何一个端口都可以被设定为输入或输出。输出锁存,输入不锁存;2方式1:这种方式下,A口、B口、C口分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,

9、C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低四位则用来作为输入/输出操作的控制和同步信号。A口和B口的输入输出数据都被锁存;3方式2:这种方式下,A口为8位双向总线口,C口PC3PC7用来作为输入/输出操作的控制和同步信号;B口和C口的PC0PC2则可编程为方式0或方式1工作。4.驱动器74LS07同向能够驱动共阴极起端数码管显示,8255C端口为LED显示器的控制端口需用74LS04进行反向驱动。5.LED显示LED数码管的主要部分是七段发光管,分别称为abcdefg,通过七个发光段的不同组合,可以显示0-9和A

10、-F共16个字母数字,从而实现16进制的显示。LED数码管有两种结构,分为共阳极接法和共阴极接法,如为共阴极结构,各字段阴极控制端共接低电平,而各段阳极控制端凡接高电平者便发光。四工作原理首先由I/O卡的RESET将8255A芯片复位,由微机系统的扩展槽中20根地址线来决定8255A片选信号是否选通,由其工作原理图可知A端口地址300H,B端口地址301H,C端口地址302H,控制口地址303H。(为避免地址冲突,因此选用300H-303H)。经MSDOS功能调用从键盘输入一串字符,(调用OAH号功能,输入的字符串可达254个字符,其入口参数为DS:DX,在DX第一个字节必须存放输入字符的最大

11、字节量,第二个单元存放是实际输入字符的个数,字符串本身从第三个字节开始有效,由终止回车符生成的码作为穿的最后一个字符输入。),通过软件设计,不管输入多少个数,始终只显示最后输入的四个数。同时也将由键盘输入的四个ASCII码数转换成相应的BCD码,取个位数,将此BCD码转换成字形码,在将字形码送入到8255A的A端口,而将状态字送入C端口,用来控制哪一个显示器亮,并调用5ms延迟程序。依此类推,取十位,百位,千位进行相同的操作,只是送C端口的数据不同,依次为O7H,O5H,03H、O1H。由于四个显示器依次点亮的时间间隔短,利用发光管的余晖和人眼视觉的暂留作用,使人感觉好像4位LED显示器都在显

12、示(动态显示)。五硬件原理图:六程序设计及流程图1.流程图2.程序设计DATA SEGMENT STRING1 DB “please input char”STRING2 DB 100 DUP (?) STRING3 DB 100 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART : MOV AX,DATA MOV DS,AX ; 数据段寄存器的初始化 MOV AL,80H ; 8255的初始化 MOV DX, 300H OUT DX, AL LEA DX, OFFSET STRING1 MOV AH,09H ; 显示字符串功能 I

13、NT 21HNEXT1: LEA DX, OFFSET STRING2MOV AH,0AH ; 从键盘读入数字INT 21H MOV CL,STRING2+1 ;实际读入的数字的个数送至CL CMP CL,0 JZ NEXT1 ; 没有读入数字则继续等待 MOV SI,DXADD CL,1MOV CH,0 ADD SI,CX MOV AL,SI ; 个位数转化为BCD码 AND AL,0FHLEA DI,OFFSET STRING3 MOV DI,AL DEC SI ; 十位数转化为BCD码 MOV AL,SI AND AL,0FH MOV DI+1,AL DEC SI ; 百位数转化为BCD

14、码 MOV AL,SI AND AL,0FH MOV DI+2,AL DEC SI ; 千位数转化为BCD码MOV AL,SI AND AL,0FH MOV DI+3,ALNEXT2: LEA BX, OFFSET LEDADD ; 将千位数字转化为对应的字型码 MOV AL,DI+3 XLAT ; 查表转换 MOV DX, 302H OUT DX,01H ; 将与之对应的数码管的位选打开 OUT 300H,AL ; 将转换后的字型码送A口 CALL DELAY ; 调用5ms的延时子程序 LEA BX, OFFSET LEDADD ; 将百位数字转化为对应的字型码 MOV AL,DI+2 X

15、LAT MOV DX,302H OUT DX,03H OUT 300H,AL CALL DELAY LEA BX, OFFSET LEDADD ; 将十位数字转化为对应的字型码 MOV AL,DI+1 XLAT MOV DX,302H OUT DX,05H OUT 300H,AL CALL DELAY LEA BX, OFFSET LEDAD; 将个位数字转化为对应的字型码 MOV AL,DI XLAT MOV DX,302H OUT DX,07H OUT 300H,AL CALL DELAY LOOP NEXT2DELAY PROC ; 延时子程序 PUSH BX PUSH CX MOV C

16、X,4167NEXT3: LOOP NEXT3 POP CX POP BX RETDELAY ENDPLEDADD: DB 40HDB 79H DB 24H DB 30H DB 19H DB 12H DB 02H DB 78H DB 00H DB 10H CODE ENDS END START七课程设计心得:通过这次课程设计,我们受益匪浅。最大的收获就是将理论与实际相结合,但同时也知道了自己的操作能力不行,希望以后加强这方面的锻炼。在做完这个设计后发现自己所学知识有限觉的惭愧,以后会加强对这方面的知识的学习。本次设计过程中,我们了解了计算机控制技术发展史,I/O接口、8255芯片、发展和使用等

17、。使我巩固了在课堂上学到的东西,加深了印象。本次课程设计,同时也使我们进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,还进一步了解了波形发生器的原理及汇编语言的应用,加深了自己对理论知识的理解,提高了动手能力,独立分析问题、解决问题能力,协调能力和创造性思维能力。提高了在应用方面的实技践能,树立了严谨的科学作风。通过电路和程序的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。通过课程设计要实现以下两个目标:第一,让学生初步掌握计算机控制技术的试验、设计方法。即学生根据设计要求和性能参数,查阅文献资料,收集、分析类似电路的性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论