第五章(1)可编程接口芯片8253

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/211第七章可编程接口芯片7.1输入输出接口(I/O接口)概念7.2输入输出接口的编址方式7.3可编程接口芯片82537.4I/O译码电路与8253连接7.5可编程接口芯片82557.6可编程接口芯片8255应用7.7可编程接口芯片8259/8250SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/212第七章可编程接口芯片7.1输入输出接口(I/O接口)概念–什么是I/O接口I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路(如:PC机系统板的可编程接口芯片、I/O总线槽的电路板)–为什么需要I/O接口微机的外部设备多样性:工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大,它们不能与CPU直接相连,必须经过中间电路再与系统相连SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/213第七章可编程接口芯片7.1输入输出接口(I/O接口)概念–I/O接口的主要功能•对输入输出数据进行缓冲和锁存,输出接口有锁存环节,输入接口有缓冲环节•对信号的形式和数据的格式进行变换•微机直接处理:数字量、开关量、模拟量•对I/O端口进行寻址•建立外设与计算机的连接CPU外部设备接口电路SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/214第七章可编程接口芯片7.1输入输出接口(I/O接口)概念–I/O接口的基本结构:设计成满足CPU与外设信息相互交换的要求•数据信息:•状态信息:READY/BUSY•控制信息:IORD/IOWRcpuI/o设备数据输入寄存器数据输出寄存器状态寄存器控制寄存器中断控制逻辑数据总线地址总线控制总线DATASTATUSCONTROLSchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/215第七章可编程接口芯片7.2输入输出接口(I/O接口)编址方式–I/O端口的编址方式:在一个微型计算机系统中,如何编排这些I/O接口的端口地址,即所谓I/O端口的编址方式,为了让CPU能够访问这些I/O端口,每个I/O端口都需有自己的端口地址(或端口号)。•存储器映像:I/O端口和存储器统一编址•I/O映像:I/O端口和存储器分开编址I/O端口存储单元整个地址空间00000H0ffffH0fffH存储单元I/O端口00000H0fffffH0000H0ffffHSchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/216第七章可编程接口芯片7.3可编程接口芯片8253–定时器(计数器):由数字电路中的计数电路构成,记录输入脉冲的个数•如果脉冲信号具有一定随机性,往往通过脉冲的个数可以获知外设的状态变化次数(计数)•如果脉冲信号的周期固定(使用高精度晶振产生脉冲信号),个数乘以周期就是时间间隔(定时)–实现定时/计数的方法•软件定时:由CPU执行指令序列所花费的时间来构成一定的时间间隔,从而达到定时的目的。优点:不需要专门的硬件设备。缺点:浪费了宝贵的CPU资源•不可编程硬件定时/计数•可编程定时/计数器:软硬件结合:Zilog公司Z80-CTCIntel公司8253(8254)SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/217第七章可编程接口芯片7.3可编程接口芯片8253–8253基本功能•三个独立的16位计数通道;每个计数通道有六种工作方式;•每个计数通道可按二进制或二-十进制计数;•减法计数器,具有计数和定时功能;计数值可读出;•全部输入输出都与TTL电平兼容;•8253占用4个端口,3个定时器各占1个,控制端口占1个•3个定时器分别由三个输入/输出信号控制–CLK:输入脉冲信号,周期或非周期–OUT:输出信号,计数结束产生–GATE:输入门控信号(电平/沿触发)SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/218第七章可编程接口芯片7.3可编程接口芯片8253-基本功能计数器0计数初值寄存器高8低8执行部件输出锁存寄存器D0D7~数据总线缓冲器读/写控制逻辑控制寄存器计数器2OOO计数器1CLK1GATE1OUT1CLK2GATE2OUT2D0D7~RDWRA0A1CSSchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/219第七章可编程接口芯片7.3可编程接口芯片8253-引脚SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2110第七章可编程接口芯片7.3可编程接口芯片8253-控制字–读取当前计数值:•先向控制寄存器写锁存命令(即D5D4=00),把当前计数值锁存到输出锁存器•再执行读相应端口数据–读取装入的计数值:•直接读取相应的端口(IN指令,端口大于255时要间接寻址)•分两次读出:先低字节,后高字节BCDM1M2M3RW0RW1SC0SC1工作方式选择000:方式0001:方式1010:方式2011:方式3100:方式4101:方式5计数值写入顺序00:读计数值(锁存)01:写低8位,高8位为010:写高8位,低8位为011:先写低8位,后写高8位计数器选择00:计数器001:计数器110:计数器211:*8253读回计数值形式0:二进制1:BCD码D0D1D2D3D4D5D6D7SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2111第七章可编程接口芯片7.3可编程接口芯片8253-控制字设置–例:将计数器2初始化为工作方式3,计数初值为533H,为二进制计数方式,设寄存器地址为40H~43HMOVAL,0B6H;计数器2,先低后高字节OUT43H,AL;写命令字MOVAX,533H;计数初值OUT42H,AL;写计数值低位MOVAL,AHOUT42H,AL;写计数值高位10110110SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2112第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式0:计数结束产生中断输出(软件控制)–方式1:重复触发的单稳输出(硬件控制)–方式2:分频器(软件控制)–方式3:方波发生器(软件控制)–方式4:选通信号发生器(软件触发)–方式5:选通信号发生器(硬件触发)SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2113第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式0—计数结束产生中断(软件控制)•向计数器写完计数值时,开始计数,OUT变为0•计数到0时OUT输出为1•GATE为高电平时,计数器工作,为低电平时停止计数•在计数时,若重新写入新的计数值,则按新的值重新工作WRN=4初始低电平43210OUTGATE=1计数到0产生高电平写入计数值开始计数计数值一次有效SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2114例:方式0初始化•设计数器0工作于方式0,8位二进制计数,初值为9。端口地址为0E0H~0E3H•控制字:00010000•初始化程序MOVAL,10H;设计数器0,工作方式0OUT0E3H,AL;写入控制寄存器MOVAL,9;设计数初值OUT0E0H,AL;写初值入计数器0的CRSchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2115第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式1:重复触发的单稳输出(硬件控制)•设置方式后,OUT即变为高电平•写入计数值后,并不开始计数,只有其后当GATE的上升沿才开始工作,OUT变为低。计数到0后,OUT变高•计数过程中若GATE又出现0-1的脉冲,则重新装入原始计数值,重新开始计数。•若计数中改变计数值,则要下次才会以新数计数。WRGATEOUTN=332103210计数值写入计数值不计数GATE触发开始计时初始高电平GATE再次触发再计数计数值多次有效SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2116例:方式1初始化•设计数器1工作于方式1,BCD码计数,计数值为十进制4000。设端口地址为0E0H~0E3H•16位计数初值,但由于计数值低8位为0,所以可以设定读/写操作控制段只写高8位,CR低8位自动清0。控制字为01100011B,初始值40HMOVAL,63H;设控制字OUT0E3H,ALMOVAL,40H;设初值40H(高8位)OUT0E1H,ALSchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2117第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式2:分频器(软件控制)•为自动装入计数常数的计数器。计数期间OUT为1,计数到0后输出1个周期的0,并重新装入计数值开始计数。•计数过程中若GATE又出现0-1的脉冲,则重新装入原始计数值,重新开始计数。•若计数中改变计数值,则要下次才会以新数计数。N=4WROUT4321(4)0321周期等于计数值NGATE=11个CLK自动连续循环计数不用触发计数值多次有效写入计数值开始计数SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2118第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式3:方波发生器(软件控制)•方式3与方式2相似•若计数N为奇数,OUT输出是一个占空比为1:1的方波•若计数N为奇数,则OUT输出(N+1)/2个正脉冲和(N-1)/2个负脉冲432103210543210N24242N=奇数,高电平N+12低电平N-125+125-12其它同方式2计数值N=偶数,输出对称的方波SchoolofAutomationScienceandElectricalEngineeringComputerandSystems2020/1/2119第七章可编程接口芯片7.3可编程接口芯片8253-工作方式–方式4:选通信号发生器(软件控制)•写入计数值后输出为高,开始计数•计数结束时,输出1个脉冲低电平,再变高•若计数中改变计数值,则要结束后才会以新数计数。WROUTN=33210GATE=1软件触发写入计数值开始计数1个CLK计数值一次有效,再计数需再次写入计数值SchoolofAutomationScienceandElectricalEn

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功