计算机接口技术_第1页
计算机接口技术_第2页
计算机接口技术_第3页
计算机接口技术_第4页
计算机接口技术_第5页
已阅读5页,还剩179页未读 继续免费阅读

下载本文档

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

文档简介

微机接口讲义,微机接口讲义课时:28学时。第一章:接口的简单介绍第二章:I/O接口编址和地址译码。第三章:DAC0832数模转换器。第四章:ADC0809模数转换器。第五章:并行接口8255第六章:定时计数器8253。,第一章 概述,1.1接口的基本概念:1.11什么是接口:微机系统中,能实现一个部件和另一个部件之间硬件的连接和软件控制的电路称为接口.主要指连接CPU与外设的电路,1.12为什么要用接口,1.12为什么要用接口: 问:为什么不像内存那样将外设直接同三总线相连呢?答:外设特点:1、外设品种繁多:计算机发展很快,其作用范围不断增长,例如输入输出设备,检测控制设备,机械式、电子式设备等。构造原理等很不相同。,1.12为什么要用接口,不可能使CPU适应所有外设,也不能使所有外设的硬件结构依赖CPU,对外设以及计算机本身发展不利。2、外设速度慢:例如温度传感器,温度变化最快几秒钟才能变化。又如步进电机6000转/分钟=100Hz3、信号类型与电平类型不同:CPU与外设在时序关系,信号线定义,串并行,模数信号等皆不同。,1.12为什么要用接口,问题:比较而言,为什么存储器能与三总线直接相连。存储器特点:基本结构简单。控制命令简单。速度快基本与CPU同步。基本功用简单,专为CPU设计。,1.2接口的功能和基本组成,1.2接口的功能和基本组成1.21接口的功能:1.寻址:设备选择功能2.数据缓冲:匹配速度3.信号转换: 电气特征的匹配,如驱动能力的匹配.数据转换:正负逻辑,串并,模数转换等.,1.2接口的功能和基本组成,4.联络:数据传送之间的协调,“准备好”,“空”,“满”等.5.错误检测:传输过程,传输错误,溢出错误进行检测。6.中断管理:收发存中断请求。7.可编程:选择多种控制方式。8.数据输入输出,1.2接口的功能和基本组成,1.2.2接口的基本组成接口 若干端口 控制逻辑 地址译码 中断控制 内部逻辑DB:数据总线.AB: 地址总线.CB:控制总线.,1.3接口的分类,1.3接口的分类1.按使用的角度分类系统接口:必不可少, 微机的一部分.如主板上的中断控制器,CRT控制器等.应用接口:扩展微机应用.AD/DA接口等.2.应用范围:专用接口 :专门用于某一用途,磁盘控制器,CRT控制器等通用接口:并口,串口等,不是为某一特定的应用而设计.3.信息传递方式:并行,串行.4.信息类型:数字接口,模拟接口.,1.3接口的分类,思考题:1.什么是接口?2.为什么用接口3.接口的功能是什么?4.简述接口的分类.,第二章I/O接口编址与地址译码,2.1 I/O端口及其编址方式2.11 I/O端口: 是接口电路中能被CPU直接访问的寄存器,计算机通过这些寄存器,即端口,向接口电路发布命令,读取状态和传送数据。一个接口可有多个端口,如,并行接口8255有四个端口,DMA接口8237有16个端口。访问端口就是访问寄存器。,端口地址的编址方式,2.12 端口地址的编址方式存储器映射编址方式:端口地址,存储器地址统一编址.I/O映射方式:I/O端口地址,存储器地址分开独立编址.,端口地址的编址方式,端口地址的编址方式,1.统一编址实质内容:端口看成存储器单元.例MC68000.优点:访问I/O与存储器用同样指令,功能强,易操作.可直接处理I/O端口数据给端口较大的编址空间,对大型数据系统,控制系统很有用.无需IOW,IOR信号线.缺点:I/O占内存空间寻址线路复杂指令比专用I/O指令长,执行速度慢,端口地址的编址方式,2.单独编址内容:I/O端口与存储器单独编址,专设I/O指令(IN,OUT),访问内存(MOV),例如intel系列。优点:不占内存空间指令短,速度快译码简单缺点:加专用指令指令中缺少运算,处理,保护功能。,I/O端口地址分配,2.1.3 单独编址方式I/O端口地址分配若地址线A15-A0,单独编址,共16根,寻址能力64K一般PC只取十根A9-A0,寻址能力1K.(0000-03FF)1. 000-0FF;前256个端口,供系统板I/O使用.2. 100-3FF;后768个端口,供扩展槽I/O接口控制卡使用3. 端口地址举例4. 端口地址的选用不用系统地址不用保留地址一般0300-031F可供用户开发。,I/O端口地址分配,独立编址方式的端口访问,2.2独立编址方式的端口访问独立编址方式采用专用I/O指令访问。1. I/O端口与AL或AX之间传送数据 16位寻址,0000H-FFFFH,最多64K个端口,间接寻址。(微机中0000-03ff)输入 MOV DX,XXXXH 16位地址 IN AX,DX 16位数据 IN AL,DX 8位数据输出 MOV DX,XXXXH 16位地址 OUT DX,AX 16位数据 OUT DX,AL 8位数据,独立编址方式的端口访问,8位寻址,00H-0FFH,最多256个端口,即系统板上的端口,直接寻址输入 IN AX,PORT 16位数据 IN AL,PORT 8位数据输出 OUT PORT,AX 16位数据 OUT PORT,AL 8位数据系统板上的端口,可直接寻址或间接寻址地址大于FF的端口,即非系统板上的端口,仅能间接寻址。,独立编址方式的端口访问,2. I/O端口与内存之间的数据传送输入 MOV DX,PORT;I/O端口地址PORTIN AL,DX ; 从端口读数据到ALMOV DI,DATA; 将地址存入目的变址寄存器 MOV DI,AL ; 将数据从AL到存储器输出 MOV AL, SI; 将数据从存储器到ALMOV DX,PORT ;I/O端口PORTOUT DX,AL; 数据从AL 到端口。3. 数据的输入输出实际是接口寄存器,CPU累加器,存储器之间的数据存取。,独立编址方式的端口访问,Outportb(port,value)/从Port端口输出字节型数据valueOutportw(port,value)/从Port端口输出字型数据valueValue=inportb(port) /从Port端口读入字节型数据,并存储于Value变量中Value=inportw(port) /从Port端口输出字型数据,并存储于Value变量中,I/O端口的地址译码,2.3 I/O端口的地址译码目的:根据地址产生芯片的片选信号根据地址找到接口的相应端口2.31 译码方法一个接口往往有多个端口高位地址译码片选信号接口电路被选中,接口处于工作状态.低位地址译码端口,端口开放与计算机交换信息。保证了接口地址是连续的AEN:地址信息(控制DMA传送或非DMA传送),IOR、IOW(I/O写) (I/O读),BHE(控制奇偶端口)等CPU引出线参与编址。,2.32 译码电路的一般形式,1.固定式:接口地址不变,一般可采用门电路:AEN=0,非DMA操作,允许输出有效的片选信号AEN=1,DMA操作,禁止译码器译码与非门,全高出低或非门,全低出高,专用译码器,译码电路的一般形式,NMI,译码电路的一般形式,译码电路的一般形式,2.可选式:接口适配器的端口地址能适应不同场合而改变.解释:与非门,全高出低。A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 EQU1 1 1 1 1 1 1 x x x 3F8-3FF1 0 1 1 1 1 1 x x x 2F8-2FF,译码电路的一般形式,I/O的控制方式,2.4 I/O的控制方式1. 程序控制方式 无条件传送最简单I/O控制方式,一般用于CPU与低速I/O之间的信息交换,如开关,继电器,LED发光,传感器的缓慢信号等.输入输出只需选址与缓冲.,I/O的控制方式,I/O的控制方式,有条件传送程序查询方式.完成此种操作的接口,除数据缓冲,数据锁存外,还应具有外设状态标志位.CPU检测状态字状态字,“就绪”则传送数据“不就绪”则循环再测状态字。当输入数据已准备好或输出数据已清空,则标志位置位。状态寄存器也占有端口地址号上述操作效率很差。,I/O的控制方式,2中断控制方式I/O数据准备就绪,主动请求CPU,CPU暂时中止当前的事物,转去执行优先的中断服务程序。3DMA存取方式中断方式效率虽高,但实际上CPU要保护中断,浪费CPU时间。同时存取要经过CPU。DMA存取方式中,接口向CPU发出请求,CPU让出总线,DMA接口电路控制总线,比较适合于成批数据传送。,4I/O处理机方式CPU 内存 8089读取完成I/O操作 通知例CPU将一组数送至不同端口,先在内存建立信息块,数据参数写入,CPU通知8089完成操作。,作业,I/O编址方式有几种?intelCPU采用什么方式,简述其地址如何分配。简述微机数据传送控制方式。用与非门和非门构成一地址为304H-307H的译码电路。用与非门和非门构成一地址为XX0H-XX3H的译码电路。(XX为学号)编写从304H读8位数至CPU,再将其送至01FH端口的程序片段。,第三章数模转换器接口DAC0832,第三章数模转换器接口DAC0832 3.1 接口DAC0832原理及内电路接口DAC0832是倒T型电阻网路数模转换器di=0 Si=0di=1 Si=1 开关对电路皆相当于接地,接口DAC0832原理及内电路,接口DAC0832原理及内电路,所以,无论开关置在S=0或S=1处,阻抗不变,流过2R与R的电流不变。总阻抗 R总=R,总电流IR=UR/R流入d3控制开关的电流 I3=IR/2流入d2控制开关的电流 I2=IR/22流入d1控制开关的电流 I1=IR/23流入d0控制开关的电流 I0=IR/24,接口DAC0832原理及内电路,因为: UO= RFIO1若RF=R,数模转换器的主要技术指标,3.2数模转换器的主要技术指标1.分辨率 8位 数一模转换器的分辨率是指最小输出电压(对应的输入二进制数为1)与最大输出电压(对应的输入二进制数的所有位全为1)之比。2精度 满刻度时,实际值-理论值,数模转换器的主要技术指标,3线性度通常用非线性误差的大小表示数一模转换器的线性度。整个转换范围内误差最大值/满刻度值4输出电压(或电流)的建立时间 1uS 从输入数字信号起,到输出电压或电流到达稳定值所需时间,称为建立时间。,DAC0832片脚功能说明,3.3 DAC0832片脚功能说明:ILE:(input latch enable)允许输入锁存。 (chip select)片选信号。它与ILE结合起来用以控制 是否起作用。 :写信号1。在历和ILE有效下,用它将数字输入并锁存于输入寄存器中。 ;写信号 2。在有效下,用它将输入寄存器中的数字传送到8位 DA寄存器中 :(transfer)传送控制信号。用它来控制 是否起作用。,DAC0832片脚功能说明,DAC0832片脚功能说明,DI。DI7:8位数字输入。DI。为最低位。IOUT1:D/A电流输出1。它是逻辑电平为1的各位输出电流之和。IOUT2:D/A电流输出 2。它是逻辑电平为 0的各位输出电流之和。Rfb:反馈电阻。该电阻被制做在芯片内,用作运算放大器的反馈电阻。VREF:基准电压输入。可以超出士 10V范围。 VCC:逻辑电压。5V15V,最佳用十15V。,DAC0832片脚功能说明,AGND:模拟地。芯片模拟电路接地点。DGND:数字地。芯片数字电路接地点。,3.4 DAC0832的模拟输出,3.4 DAC0832的模拟输出1. 单极性工作电路当输入数字为单极性数字时,电路接法如图所示。,2. 双极性工作电路,3.5举例用双极性工作电路编程产生锯齿波硬件电路,译码器,双极性电路,AB,CS,编程开始将0赋给CLCL中的数据送0832CL加1有键按下吗返回DOS,Y,N,编程CODE SEGMENTASSUME CS:CODESTART:MOV CL,0 MOV DX,299HLLL: MOV AL,CL OUT DX,ALINC CL ;CL加1MOV AH,1 ;判断是否有键按下(ZF=1)INT 16H JE LLL ;若无就跳转LLLMOV AH,4CH ;返回DOSINT 21HCODE ENDS END START,编程产生正弦波,用示波器观察,硬件电路同上开始 将数据段的段基址送DS将数据段偏移地址送SI数据表长度送BH用SI间接寻址取正弦波数据送0832延时有键按下吗返回DOS,SI加1,BH减1,BH为0吗,Y,Y,N,N,DATA SEGMENTSin db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hdb 00h,04h,09h,15h,25h,38h,4eh,66hDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX LL: MOV SI,OFFSET SINMOV BH,32LLL:MOV AL,SIMOV DX,290HOUT DX,AL,MOV AH,1INT 16HJNE EXITMOV CX,30DELAY: LOOP DELAYINC SIDEC BHJNZ LLL(BH不=0,LLL,ZF不=0)JMP LLEXIT: MOV AH,4CHINT 21HCODE ENDSEND START,作业0832单极性输出产生阶梯电压信号0V,-0.5V,-1V,-1.5V,0V倒T型DAC的工作原理是什么?单双极型工作电路输出电压、参考电压,输入数据间的关系。用坐标纸手绘一个波形,第四章 模数转换器ADC0809,4.1逐次逼近型模数转换器工作原理4.1.1逐次逼近法1.逐次逼近称物举例用8g,4g,2g,1g砝码称13g物体。,2逐次逼近模数转换器的工作过程例如四位二进制A/D 转换器,参考电压为8伏,对输入5.52V电压进行转换的过程.,DAC,比较器,1000,寄存器,5.52V,1100,1010,1011,4.1.2 模数转换器的主要技术指标1.分辨率 8位 以输出二进制数的位数表示分辨率,位数越多误差越小,转换精度越高。2相对精度 相对精度是指实际的各个转换点偏离理想特性的误差。3转换速度 100uS它是指完成一次转换所需的时间。,4. 3 ADC0809模数转换结构框图,ADC0809共有28个引脚,各引脚的功能如下,IN。一IN7 为八通道模拟量输入端。A,B,C为8选1模拟量选择器的地址选择线输入端。输入的三个地址信号共有8种组合,以便选择相应的输入模拟量.ALE 为地址锁存信号输入端,高电平有效。在该信号的上升沿将A,B,C三选择线的状态锁存,8选1选择器开始工作。D0一D7 为8位数字量输出端。EOUT 为输出允许端,高电平有效。,CLOC 为外部时钟脉冲输入端。START 为启动信号输入端。在其下降沿使转换工作开始。EOC 为转换结束信号输出端,高电平有效。当转换结束时,EOC从低电平转为高电平。UDD 为电源端,电压为十5V。GND 接地端REF+,REF-为正负参考电压输入端。,译码器,A9。A3,4.4模数转换器应用1、模数转换硬件电路图38高端地址 CS低端地址 A、B、C或非门单极性工作方式双极性工作方式,2.一次性A/D转换的程序MOV DX,PORT ;INO-IN7的口地址 OUT DX,AL ;写入时IOW上升沿启动转换延时IN AL,DX ;读取结果放入AL中.例;数字示波器双极性工作方式输入端接入低频交流信号(幅度-5+5)变成采集此信号,并显示波形硬件电路:图38,A3-A9译码产生 300H-307H CSIN1输入,程序开始设屏幕VGA640*480初始横坐标CX=0启动A/D转换延时读转换后数据坐标变换画点CX为639吗CX+1 有键按下吗 结束,Y,N,CODE SEGMENTASSUME CS:CODESTART: MOV AX,0012HINT 10HAND CX,0PUSH CXGET:MOV DX,301HOUT DX,ALMOV CX,200HDELAY:LOOP DELAY,IN AL,DXMOV AH,0MOV DX,19FHSUB DX,AXPOP CXMOV AL,0AHMOV AH,0CHINT 10HCMP CX,639JZ STARTINC CXPUSH CXMOV AH,1INT 16H,JE GETMOV AX,0003HINT 10HMOV AH,4CHINT 21HCODE ENDSEND START,作业用0809的IN0和IN1输入,用双极性工作方式,交叉检测两路缓慢变化信号(幅度-5至+5V),要求采集口地址为300H,301H。在显示器上用640*480模式同时显示(横轴0-300,310-610),延迟时间要比较长。简述 参 考 电 压8V,4位逐次逼近ADC检测6.6V 电 压工作过程。 简 述 如 何 用 0809双 极 型 工 作 方 式 检 测 幅 度-5 V至+5V 的 电 压 信 号。,第三章 8253定时/计数器,定时计数作用举例定时作A/D转换采集信号定时发送控制信号计算机、总线的主频计数对零件产品计数统计车辆流量等测量转速,定时的本质-计数: 对 时 间 基 准 的 计 数 任 何 一 个 周 期 运 动 的 周 期 皆 可 作 为 时 间 标 准将若干小片时间累积起来,就获得一定时间。以秒为单位计时,即60秒就是1分钟,计满60分钟就是1小时。秒的定义:是Ce-133原子基态两个超细能级间跃迁所对应辐射的9192631770个周期的时间。T=1.087827757*10-10,微机定时的方法软件定时:CPU执行指令,预先知道所编程执行指令的周期,循环执行指令以延时硬件定时:单稳电路,可编程通用定时器/计时器。例intel82533个独立16位计数通道每个通道可任选6种工作方式之一种24脚双列直插芯片,6.1框图与引脚6.1.1框图1. 数据总线缓冲器8位,三态,双向缓冲器,是CPU和8253交换数据的唯一通道。2.读写控制逻辑 高电平时禁止三态和读写逻辑 控制数据的传送方向。A0 A1 不同组合决定CPU访问的芯片内部不同端口。CS=0 A0 A1 不同组合决定CPU 读 写 不同端口,3 .控制字寄存器A0A1=11时访问控制字寄存器,控制字D6D7决定写入那个通道寄存器,各个通道的控制寄存器的控制字,决定各通道工作方式等内容。4. 通道0,1,2计数器三个通道计数器相同16位通道寄存器CR:接受初始计数值,开始计数之前,由CPU用输出指令预置入CR中。16位计数单元CE:对CLK的输入脉冲信号,从预置的初始值减1计数,当初始值减为0时,由OUT输出电平或脉冲,GATE引脚可控制输入脉冲是否能输入。输出锁存器OL,锁存CE的内容,CPU可随时读取OL中CE的当前值,不影响计数器脉冲输入和计数器的继续计数。,6.1.28253的引脚1.与CPU的连接线D0-D7双向三态接至数据总线。A1,A0 :地址线,片内寻址 片选8253。 读出写入82532.三个通道CLK,GATE,OUT 功能相同CLK 引脚: 可 输 入 周 期 或 随 机 的 脉 冲 信 号GATE引脚 启动或禁止计数OUT引脚 减1计数到零信号输出端,输出信号可以是方波,脉冲,电平等.,6.28253初始化6.2.18253寻址控制寄存器写入,三个通道寄存器仅一个地址,据D6D7不同写入. =0, =1写入CR =1, =0读出OL,例: 写 入 计 数 通 道 0 的计 数 初 值MOV AL,XXHMOV DX,304HOUT DX,ALCS=0,A1A0=00,WR=0 RD=1, 数 据 由缓 冲 器 进 入CR08 位 总 线 如 何 写16 位 计 数 初 值数 据? 一 个 地 址 如 何 写 入 三 个 通 道 寄 存 器?,6.2.2 8253初始化设定1.编程顺序先写控制字,再写计数初值,8253工作。2.8253控制字设定计数制标志位D0=0,按二进制计数,16位最大FFFF,216=65536。D0=1,按十进制计数,4位最大1001=9,16位9999工作方式 D3D2D1计数值读写 写CR,读OL通道控制字D6D7,通道1,方式3,二进制计数,先写低八位,后写高八位。,通道0,方式5,十进制计数,只写高八位。,通道2,方式0,二进制计数, 写低八位。,6.38253的读 写操作6.3.18253的读 操作1. 读之前停止计数GATE低电平,或CLK无信号因为先读低8位,后读高8位,有一定时间间隔。若不停止计数,两次读入计数值不是同一个。使GATE低电平,或CLK无信号,Mov, 01110000BOut 43h, al先读低八位后读高八位IN AL,40H 读入计数器0的OL低8位MOV BL,ALIN AL,40H 读入计数器0的OL高8位MOV BH,AL,2.读之前先锁存控制寄存器D6D7选择通道,D5D4=00时表示锁存,所以,向控制寄存器写入00H,40H,80H表示锁存通道0,1,2。(此时D3-D0无关全设为0)锁存 通 道2 计 数 值 并 读 取MOV AL,80HOUT 43H,ALMov al,10110000BOut 43h,alIN AL,42HMOV BL,ALIN AL,42HMOV BH,AL,6.3.2 8253的写操作 向 通 道 1 写 入 数 据2000( 十 进 制), 工 作 方 式0, 二 进 制 计 数MOV AL,70H;(01110000B)MOV DX,303HOUT DX,ALMOV AX,2000MOV DX ,301HOUT DX,ALMOV AL,AHOUT DX,AL,向 通 道 1 写 入 数 据2000( 十 进 制), 工 作 方 式0, 十 进 制 计 数MOV AL, 01100001BMOV DX,303HOUT DX,ALMOV AX,2000HMOV DX ,301HMOV AL,AHOUT DX,AL,例 如图电路8253的地址范围以方式3,二进制计数向通道2写入初值0432H,6.48253工作方式,6.4.1方式0 :减1到0发中断请求计数中重写CR,CR重新装入CE再减1至0GATE=0期间,停止计数,GATE=1,从原计数值继续计数减1至0。,CR-CE后经N个脉冲宽度,例:计数值5,通道0,以方式0二进制计数。CS=40H-43HMOV AL,10HOUT 43H,ALMOV AL,5OUT 40H,AL,6.4.2 方式1 可编程单脉冲输出可编程单稳态工作方式计数过程中,GATE上升沿重新开始计数每个GATE的上升沿CR的内容装入CEOUT低电平CE减1计数到0OUT出高电平CPU可以重新写CR,但写入后GATE上升沿方有效。,OUT脉冲宽度为N个时钟脉宽,例CLK频率1MHz,通道1,工作方式1,二进制计数,设计电路时GATE脉冲触发OUT产生100US的单脉冲。T=1/1M=1US,N=100/1=100MOV AL,52HOUT 43H,ALMOV AL,100OUT 41H,AL,6.4.3方式2周期性时间间隔计数器(频率发生器),GATE=0,停止计数。GATE上升沿重新启动计数。改变CR,下一次减计数有效。计数初值5,低电平维持1个周期,高电平维持4个周期OUT频率 f=1/5T=f/5,CLK=1M,方式2,通道0,二进制计数,CS=300H-304H编程得到200kHz信号f=f/N,N=5 (产生信号的周期是原信号的N倍)mov dx,303hmov al,14hout dx,almov al,5mov dx,300hout dx,al,6.4.4方式3 方波发生器类似方式2,但计数时间间隔内,OUT引脚一半保持高电平,一半低电平。,CR的数为偶:OUT输出:N/2脉冲为正,N/2脉冲为负。,CR的数为奇:OUT输出:(N+1)/2脉冲为正,(N-1)/2脉冲为负。,例CLK=1MHZ,8253方式3,通道0,CS=300H-304H,编程产生100KHZ信号1MHZ/100K=N=10MOV DX,303HMOV AL,16HOUT DX,ALMOV DX,300HMOV AL,10OUT DX,AL画图,6.4.5方式4 软件触发选通(一次性)类似方式0,计数结束后,OUT输出CLK同宽负脉冲。CR赋新数值,立即有效。GATE=1计数,GATE=0禁止。,写入初值后延迟N个脉宽CLK=1M,CS=40H-43H,方式4,二进制计数,通道1,软件触发后50us,OUT输出0脉冲T=1us,50/T=50=NMOV AL,58HOUT 43H,ALMOV AL,50OUT 41H,AL,6.4.6方式5 硬件触发选通写入CR后,GATE正跳变后开始计数,计数结束输出与CLK等宽的OUT零脉冲。CR赋新值后不立即生效,GATE正跳变后生效。,CLK=1KHZ,按下GATE信号后1S输出脉宽1ms的零脉冲通道2,方式5,二进制计数,CS=40HT=1ms,N=1s/1ms=1000mov al,0bahout 43h,almov ax,1000out 42h,almov al,ahout 42h,alGATE 脉冲触发,8253有几种工作方式?有何特点?用途如何?总结GATE管脚作用简述8253方式1的时序。某应用系统扩展一块8253,芯片地址304H-307H,系统中已经制作好1MHz标准信号。学号的末两位为XX,则产生XXHz的方波。请画出硬件设计草图,编制各通道初始化程序。,第五章 8255可编程并行输入输出接口,5.1 8255A的框图结构与引脚5.1.18255A的框图结构1. CPU接口电路(CPU 总线)D0-D7 数据总线缓冲器(接口) 8255端口 数据总线缓冲器:特点: 8位,双向,三态的缓冲器作用:写控制字,读状态信息,读数据,皆通过此口传送,2 内部控制逻辑控制寄存器:例如D6-D3 A组控制,控制A端口和C端口高四位D2-D0 B组控制,控制B端口和C端口低四位,读写控制逻辑特点:接收CPU信号,实现对8255的控制。RESET:复位线,使8255复位。,3输入输出接口电路端口A、B亦称PA口PB口8位数据输入锁存器/缓冲器8位数据输出锁存器/缓冲器端口C,亦称PC口8位数据输入缓冲器8位数据输出锁存器/缓冲器,方式0:PA,PB,PC高四位,PC低四位,A通道端口A端口C高五位,B通道端口B端口C低三位,方式1、2此时,PC端口作为各通道的数据联络线。,5.1.28255A引脚说明1连接外设PA0-PA7 A口PB0-PB7 B口PC0-PC7 C 口连接CPU总线D0-D7双向三态接至数据总线。,六根控制线(DB数据总线)CSWRRDA1A0端口DB1xxxx高阻011xx高阻01000A01001B01010C00100A00101B00110C00111控制寄存器,例:当地址为11000000xx时选中8255,低位地址接A1、A0求:8255地址范围求:各端口地址,5.2 8255A编程控制字,5.2 8255A编程控制字1、方式控制字同一地址端口D7=1 写入方式控制字。D7=0对端口C按位置位控制字举例16种传输方式,将地址为300H-303H的8255的PA口设成方式0输出1000 0000mov dx,303hmov al,80hout dx,al可否将端口A设成方式1输入,端口c高四位设成方式0输出不可,2. 8255A按位置位复位控制字,向控制端口写,将PC6置1(300-303H)mov dx,303hmov al,0dhout dx,alPC口作联络线时,有些联络线状态由8255或外设决定,CPU不知道,不可整体读写。,5.38255A工作方式5.3.1方式01.基本输入输出方式:特点:两个8位端口,端口A,端口B。两个四位端口,C高四位,C低四位。共四个I/O端口。由编程设定输入或是输出端口,但不能同时既是输入,又是输出。输出锁存,输入不锁存。无条件输入输出方式端口C仅能整体读写。,CS=300H-303H的8255,PA口接7只LED,驱动已接好,输出1时灯亮。设计电路使LED依次显示4328,定义数据段变量LED,开始,数据段段码送DS,LED偏移地址送SI,内存取数至AL,送PA口,延时,有键按下吗,END,YES,NO,SI+1,BH-1,BH为零吗,YES,NO,DATA SEGMANT ;定义数据段LED DB 66h, 0f2H,0d2H,ffHDATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA;代码段、数据段寄存器说明START: MOV AX,DATA ;数据段寄存器段码送DSMOV DS,AXMOV DX,303HMOV AL,80H OUT DX,AL ;PA口设成方式0。,LP: MOV SI,OFFSET LED ;LED数据偏移地址送SIMOV BH,4 一组输出4个数据。 LLP: MOV AL,SI ;数据送累加器。MOV DX,300H ;数据送PA口OUT DX,ALMOV CX,100 ;延时DELAY: LOOP DELAY MOV AH,1 ;有键按下则EXITINT 16HJNE EXIT,INC SI ;取下一个数据DEC BHJNZ LLP ;未取完4个则转LLPJMP LPEXIT:MOV AH,4CH ;软中断返回DOSINT 21HCODE ENDS ;结束END START,CS=300H-303H的8255,PC口低四位接开关输入,设计电路读取状态。MOV DX,303HMOV AL,81HOUT DX,AL;PC口低四位设成输入。,MOV DX,302HIN AL,DXAND AL,0FHAL低四位为开关量的值,高八位为0。,0809定时子程序8253(300H-303H)8255(304H-307H)8253方式0,定时200usdelay proc nearpush dxmov al,10h;通道0,方式0mov dx ,303hout dx,almov dx ,300hmov al,200out dx ,al,mov dx,307h;8255设置mov al,90hout dx,al stay:in al,dxand al,1jz stay;与结果为零pop dxretdelay endp,作业:1、8255PA口地址280H,其余口地址。2、8255编程控制字命令格式,每位含义,读写方式。3、地址为(300H-303H)的8255,其PB0-PB7接7段数码管,设计硬件草图,编写程序使数码管显示2,8255方式1,5.3.28255方式1 特点: 中断方式驱动A通道端口AB通道端口BPC3-PC7PC0-PC2 输入输出皆锁存,方式1输入,5.3.2.1 方式1输入1.通道A 控制字 D7-D0=10111/0xxxPC4= (strobe)端口A选通控制信号。外部输入低电平(上升沿)有效PC5=IBFa (input buffer full)端口A输入缓冲器满指示信号,高电平有效。数据输入A口未被CPU取走前,IBFa输出高,指示外设不要在新入信号。PC3=INTRa (interrupt request) 中断请求信号,通道A发出,高电平有效。通常接8259A的Iri端,或CPU的INTR 引脚,申请中断。,2 通道B 控制字1xxxx11xPC2= (strobe)端口B选通控制信号。PC1=IBFb (input buffer full)端口B输入缓冲器满指示信号PC0=INTRa (interrupt request)通道B中断请求信号,3.中断的允许与禁止:INTE: ( Interrupt enable) 8255中断允许寄存器通道A INTEa=1 , A口可发中断申请 通道B INTEb=1, B口可发中断申请8255A工作于方式1输入时,对PC4,PC2置位,复位操作,分别用来控制INTEa和INTEb的置1与置0。,方式1输入时序,4方式1输入时序外数据 =0锁存8255数据口 下降沿0.3us IBF=1有效,禁止输入新信号 =0上升沿后0.3us,(若INTE=1,IBF=1) INTR=1,有效 CPU中断,读数 =0 上升沿后0.4us,IBF=0 下降沿后0.3us,INTR=0,5.2.2.3方式1输出1.通道APC7= (output buffer full)端口A输出缓冲器满,低电平有效。输出给外设,表明CPU已经将外设写入端口A输出缓冲器。PC6= (acknowledge)端口A的响应输入信号 ,外设收到信号后,发低电平回答8255。PC3=INTRa 向CPU发送中断请求信号,要求CPU中断,把数据写入输出锁存器。,2.通道BPC2= PC1= PC0= INTRb.中断允许与禁止INTEa(INTEb) 由CPU向PC6(PC2)送置位,复位控制字,INTE=1,允许中断。INTE=0,不允许中断。,3.时序CPU中断后总线数据 上升沿锁存8255输出口 下降沿0.85us,INTR申请撤销 上升沿后0.5us 有效通知外设,外设回应 =0下降沿0.35us 无效上升沿0.35us,INTR有效,5.2.2.4方式1输入输出的组合两通道可任意工作在输入或输出方式,由控制寄存器决定。方式1下,端口C仅能读,写入可采用置位/复位方法。,方式1的状态字,STBa,ACKa,例8255,300H-303H,设置通道A方式1输入中断允许MOV DX,303HMOV AL, 1010000BOUT DX, AL;方式1输出MOV AL,00001001B;PC4=1OUT DX,AL;输入中断允许,例题:要求从甲机发送3FF字节到乙机,甲机使用方式1,乙机使用方式0,划出硬件草图并编程序。,8255方式1例题,PA0-PA7PC7PC 38255方式0输入,PA0-PA7PC7(OBF)PC6(ACK)8255方式1输出,甲机发送,乙机接收,甲机发送程序段,甲机发送程序段:MOV DX,303H;8255命令口MOV AL,10100000B;OUT DX,AL;8255设置成方式1输出MOV AL,0DH;PC6置1OUT DX,AL;置发送中断允许INTE=1MOV SI,OFFSET BUFS;发送数据区首址MOV CX,3FFH;发送字节数,甲机发送程序段,L:MOV DX,300H;MOV AL,SI;OUT DX,AL;INC SI;内存地址加1DEC CX;传送字节数减1JZ EXIT;CX=0结束LL:MOV DX,302H;状态口IN AL,DXAND AL,08H;JZ LL;无则等待JMP L;有则发送下一个数。,向PA口写数据,产生OBF信号,等待ACK信号,查发送状态PC3=1?,甲机发送程序段,EXIT:MOV AH,4CH;程序返回DOSINT 21H;,乙机接收程序段,MOV DX,303H;MOV AL,10011000BOUT DX,ALMOV AL,00000111B;OUT DX ,ALMOV DI,OFFSET BUFR;设接收数据区首址MOV CX,3FFH;接收字节数,PA口设置成方式0输入,PC3置1(甲ACK=1),乙机接收程序段,L:MOV DX,302HIN AL,DXAND AL,80HJNZ LMOV DX,300H;IN AL, DXMOV DI,ALMOV DX,303H;MOV AL,00000110BOUT DX,ALNOPNOPMOV AL,00000111BOUT DX,AL,PC7=0?(查甲机的OBF=0?)否,等待。是,继续。,从PA口读数,存入内存,PC3置0;PC3置1;产生ACK信号,乙机接收程序段,INC DI;内存地址加1DEC CX;字节数减1JNZ L;字节未完,继续循环MOV AH,4CH;结束回DOSINT 21H,乙机接收程序段,端口C引脚的定义,2、端口C引脚的定义PC7= (output buffer full)8255输出低电

温馨提示

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

评论

0/150

提交评论