ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:406.80KB ,
资源ID:26973235      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26973235.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理及接口技术课程设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理及接口技术课程设计.docx

1、微机原理及接口技术课程设计昆明理工大学理学院微机原理与接口技术综合课程设计 成 员:谢X X(2xxxxxxxxxx8) 阳兴贤(201111103122) 毕成旭(201111103216) 专 业: 电子科学与技术指导教师: 赵建军试验箱号: 8号完成时间: 2013年12月 一、实验目的 1. 了解简单LED灯规律工作基本原理。 2. 熟悉8255A并行接口的各种工作方式和应用。 3. 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法。二、实验内容 本次课程设计的内容为简单规律LED灯控制管理:通过8253编程控制工作方式,实现精确延时。通过8255并行接口

2、来控制LED发光二极管的亮灭,实现试验箱上面的LED1-LED8灯的间歇闪烁。三、实验原理 (一)8253芯片的内部结构及引脚功能 8253控制字intel8253是NMOS工艺制成的可编程计数器/定时器,工作的最高计数速率8253(2.6MHz)。8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一

3、个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,

4、与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。2.读/写控制读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。3.计数通道02每个计数通

5、道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。 采用BCD码计数时,写入的初值范围为00009999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位)定时

6、系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;计数/定时:向通道写入计数值,启动计数操作;读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。计数到:当计数器减1为0时,通过引脚OUT向外输出“到”的脉冲信号。计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。控制字的确定方式:SC1,SC0计数通道选择位。由于825

7、3内部3个计数通道各有一个8位的控制字寄存器,而这三个控制字寄存器 共用同一个控制端口地址,所以控制字中设置SC1,SC0 这两位来确定CPU当前发出的控制字是写入哪个计数通道的控制字寄存器中。RL1,RL0读/写操作方式位。这两位用来确定对选中的计数通道进行读/写操作方式。当CPU对8253进行16位读/写操作时,可以只读/写高8位或只读/写低8位,也可以读/写16位。读/写16位时,先读/写低8位,后读/写高8 位,具体是哪种操作方式由RL1,RL0这两位的编码确定。由于8253的数据线只有(D7D0),一次只能传送8位数据,故传送16位数据时,要分两次进行。 M2,M1,M0工作方式择位

8、。8253的每个计数通道有6种不同的工作方式,即方式0到方式5,M2M1M0这三类就是用来选择具体的工作方式,具体选择如图。BCD计数方式选择位。8253的每个计数通道有两种计数方式按二进制计数或按十进制(BCD码)计数。BCD位用来具体确定采用哪种计数方式。采用方式0 计数结束产生中断8253用作计数器时一般工作在方式0。所谓计数结束产生中断,是指在计数值减到0时,输出端(OUT)产生的输出方式0有如下特点: 当控制字写进控制字寄存器确定了方式0时,计数器的输出(OUT端口)保持低电平,一直保持到计数值减 到0。 计数初值装入计数器之后,在门控GATE信号为高电平时计数器开始减1计数。当计数

9、器减到0时输出端OUT才由低变高,此高电平输出一直保持到该计数器装入新的计数值或再次写入方式0控制字为止。 GATE为计数控制门,方式0的计数过程可由GATE控制暂停,即GATE=1时,允许计数;GATE=0时,停止计 数。GATE信号的变化不影响输出OUT端口的状态。 计数过程中,可重新装入计数初值。如果在计数过程中,重新写入某一计数初值,则在写完新计数值后,计数器将从该值重新开始作减1计数。方式3的特点是: 方式3常用于波特率发生器。方式3和方式2类似。但输出为方波或近似方波的矩形波。 写入方式3控制字后输出为高电平。写入计数值后计数器自动开始对输入CLK脉冲计数,输出OUT仍保持为高;在

10、计数完成一半时,输出OUT变为低电平,直到计数器全部完成,输出OUT又变为高电平,并重复上述计数过程 。 若计数值N为偶数时,OUT方波的占空比为1:1;若N为奇数,其占空比为:(N+1)/2:(N-1)/2 即输出分频波高电平宽度为(N+1)/2 CLK周期,低电平周期为(N-1)/2 CLK周期。(二)8255芯片的内部结构及引脚功能 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设

11、的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB

12、:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。 1.C口的位控字8255A的C口具有位控功能,即允许CPU用输出指令单独对C口的某一位写“1”或“0”,C口的位控字的格式 如图所示。这是通过向8255

13、A的控制寄存器写入(注意不是直接对C口写入)一个位控字来实现的。最高位 D7必须为“0”是 C口置位/复位控制字的特征位。D0位决定了是置“1”还是置“0”操作;D3D1位决定了 对C口中的哪一位进行操作。2. 8255A工作方式的控制字8255工作方式:1. 方式0 基本特点:方式0是一种基本输入或输出方式,该方式适合于通信双方不需要联络信号(应答信号)的简 单输入/输出场合,CPU可以随时用输入/输出指令对指定端口进行读写操作。该方式的特点是:使8255A分成彼此独立的两8位端口(A口,B口)和两个4位端口(C口高4位和低4位),4个端口的输入 /输出可有16种不同的组态,可适用于各种不同

14、的应用场合。方式0规定输出有无锁存能力,而输入数据不被锁存。方式0是单向的I/O,即一次初始化指定了输入或输出,则不能改变;若改变,则须重新初始化。不能 指定同一端口同时既作输入又作输出。这种方式下,无固定的I/O联络信号,联络信号线可由用户自行安排。这种方式只能用于无条件传送和 查询传送,不能实现中断传送。2方式1 基本特点:方式1为选通输入/输出方式,即可借助于选通(应答式)联络信号的I/O方式。这种方式中,A口和B口 用于输入/输出的数据端口,C口某些位用作接收或产生应答联络信号。方式1的特点是: 有两组选通工作方式的端口,每组包含一个8位数据端口和3条控制线。只有A口和B口可作为数据端

15、口, C口的某些线被固定作为A口或B口与外设之间的联络信号线,其余的线只能定义为基本I/O,即只能工作于方式0。 每组端口提供有中断请求逻辑和中断允许触发器。对中断允许触发器INTE的操作是通过对端口C的置位/ 复位控制字进行的。 方式1在输入/输出数据时都被锁存。 方式1可以用查询方式和中断传送方式进行数据的输入/输出。 (1)方式1输入 A口、B口和PC6、PC7作为数据口;端口C其余6位PC5PC0作为控制口。A口工作于方式1输入,固定用PC5PC3作 联络信号线;B口工作于方式1输入,固定用PC2PC0作联络信号线。各信号的作用说明如下::SIB选通信号,输入,低电平有效。它将外设的信

16、号输入8255A的锁存器中。IBF(INPUT BUFFER FULL)输入缓冲器满信号,输出,高电平有效,这是8255A输出的状态信号,通知外设送来的数 据已接收。当CPU用输入指令读走数据后,此信号被清除。INTR中断请求信号,输出,高电平有效。当输入数据时,若IBF有效或输出数据时ACK有效, 则INTR变成有效,以便向CPU发出中断请求。INTE中断允许位,INTE=0禁止中断,可事先用位控方式写入。INTEA写入PC4,INTEB写入 PC2。 (2)方式1输出A口、B口、C口的PC4、PC5作为数据口;PC3PC0、PC6、PC7作为控制口。A口工作于方式1输出,所用的联络信号 线

17、为PC7、PC6和PC3,而B口工作于方式1输出时,使用PC2PC0作其联络信号线。各联络信号的作用如下所述:OBF输出缓冲器满,低电平有效。当OBF有效时,表示CPU给指定端口写入一个字节数 据,通知外设可以取数据。OBF是由写信号WR的上跳沿置成有效电平的,而由ACK的有效信号使它恢复为高电平。ACK应答信号,低电平有效。当外设得知OBF信号,取数据时,要发出ACK信号选通,取走数据 并清除OBF。A,B两口的ACK信号分别由PC6及PC2提供。INTR中断请求信号、INTR中断允许位,其作用及引出端都和方式1输入时相同。3. 方式2基本特点:方式2为分时双向输入/输出方式(双向I/O方式

18、),即同一端口的I/O线既可以作为输入也可 以作为输出。方式2的主要特点为:A口可以工作于方式2,此时C口有5条线固定为A口和外设之间的联络信号线。C口余下的3条线可以作为B口方式 1下的联络线,也可以和B口一起成为方式0的I/O线。方式2在输入/输出数据时都被锁存。 方式2可以用查询方式和中断传送方式进行数据的输入/输出。 在方式2时为双向传送设置的联络信号,实际上是方式1下输入和输出两种操作时的组合。只有中断申 请信号INTR既可作输入的中断申请,又可作输出的中断申请。四、实验步骤实验连线为:8255C接线:PC0接开关K0,PC7接8253的OUT0,PA07接LED07 ,OUT3接8

19、253CLK0,8255C片选CS0 ,8253片选CS1。将程序在PC机上编译通过,并将PC机与硬件连好,进行连接和运行调试。拨动开关K0,即启动该工作。其中8255A PA0PA7接8个LED显示灯,用于显示当前定时时间工作状态。五、实验结果全速运行程序后,拨动开关K0后8个LED显示灯偶数序列灯先亮,奇数序列灯后亮。关闭开关K0时,8个LED显示灯结束工作。其中每次变换灯的工作状态时,设置计数器0的计数初值,期间时间的控制有软件程序来实现定时,每隔一秒变换一次。每进入刷新LED显示,用对于闪烁频率实现简单规律LED灯控制管理。六、实验总结在本次设计中,使用了8253计数器、8255可编程

20、并行接口实现简单规律LED灯控制管理。熟悉8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。读取计数器的当前值采用输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。其中学到了:每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A

21、、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。附录一:源程序 assume cs:code code segment public org 100hstart: mov dx,04a6h ;8255控制字入口地址, mov al,10001011b ;控制字:1方式选择控制字的表识位 ;00方式0 基本的输入/输出方式 ;0 端口A的输出,1PC7PC4 输入 ;011 B组方式为0 B口输入 PC7PC4输入 out dx,al mov dx,04a0h ;控制端口A地址 mov al,11111111

22、b ;A口 初始化 ff out dx,al mov bl,10100101b ;a组 控制字p228 ;方式1 端口A输出,PC4、PC5输出 call jianceagain: mov dx,04a0h ;控制端口A地址 mov al,bl out dx,al call delay call jiance not bl jmp again;=delay: mov dx,04b6h ;8253控制字入口地址 mov al,00110000b ;方式3 p275 ;选择计数器0,先读写低8位,再读写高8位 ;模式0(计数结束产生中断),计数初值为二进制 out dx,al mov cx,50

23、;循环50次delay1: mov dx,04b0h ;8253计数器0入口地址 mov ax,37500 out dx,al mov al,ah out dx,al ;上面是先低8位,再高8位送到计数器0入口地址 mov dx,04a4h ;控制8255端口C地址next: in al,dx test al,80h ;比较开关k0的状态,是否开 jz next call jiance loop delay1 ret;=jiance: push ax push dx mov dx,04a4h ;控制端口C地址wait: in al,dx ;读pc0口开关状态 test al,01h ;比较,开OR关 jz on ;开则跳转到on mov dx,04a0h ;控制端口A地址 mov al,11111111b ;A口 初始化 ff out dx,al mov dx,04a4h ;控制端口C地址 jmp waiton: mov dx,04a0h ;控制端口A地址 mov al,bl ;bl=10100101 out dx,al pop dx pop ax ret ;回到again code endsend start

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1