下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 8可编程接口芯片及通用IO

8可编程接口芯片及通用IO.ppt

8可编程接口芯片及通用IO

PeaceRiver90
2011-09-19 0人阅读 举报 0 0 暂无简介

简介:本文档为《8可编程接口芯片及通用IOppt》,可适用于高等教育领域

计算机硬件技术基础计算机硬件技术基础徐彬hardwarebasiccom并行通信接口并行通信接口CPU与外设之间的信息传送都是通过接口电路来进行的。计算机与外部设备、计算机与计算机之间交换信息称之为计算机通信,计算机通信可分为两大类:并行通信:多位(如位位位)数据通过多条数据线同时传送。数据的各位同时由源到达目的地。适合近距离、高速通信。串行通信:一位一位数据传送(在一条线上顺序传送)成本低多位数据通过同一条数据线按位依次传送。串行通信适于长距离、中低速通信。实现并行通信的接口就是并行接口。概念并行接口的特点并行接口的特点并行接口最基本的特点是在多根数据线上以数据字节(字)为单位与IO设备或被控对象传送信息。如:打印机接口AD、DA转换器接口IEEE接口开关量接口控制设备接口等。在并行接口中除了少数场合之外一般都要求在接口与外设之间设置并行数据线的同时至少还要设置两根握手(联络)信号线以便进行互锁异步握手方式(即查询方式)的通信。在并行接口中位或位是一起行动的因此当采用并行接口与外设交换数据时即使是只用到其中的一位也是一次输入输出位或位。并行传送信息不要求固定的格式这与串行传送的数据格式的要求不同。并行通信接口并行通信接口具有三个位(PA口、PB口、PC口)并行IO端口的接口芯片。能适应CPU与IO接口之间的多种数据传送方式的要求。可执行功能很强内容丰富的命令(方式字和控制字)为用户如何根据外界条件(IO设备需要哪些信号线以及它能提供哪些状态线)来使用A构成多种接口电路组成微机应用系统提供了灵活方便的编程环境。并行通信接口A的基本特性并行通信接口A的外部引线并行通信接口并行通信接口①与系统总线的连接信号面向数据总线的有:D~D:双向数据线用于CPU向A发送命令、数据和A向CPU回送状态、数据和A向CPU回送状态、数据。面向地址总线的有:A、A面向控制总线的有:RD:读信号低电平有效。WR:写信号低电平有效。RESET:复位信号高电平有效。它清除控制寄存器并将A的A、B、C三个端口均置为输入方式输入寄存器和状态寄存器被复位并且屏蔽中断请求条面向外设信号线呈现高阻悬浮状态。并行通信接口A的外部引线并行通信接口并行通信接口②与外部设备的连接信号PA~PA:端口A的输入输出线。PB~PB:端口B的输入输出线。PC~PC:端口C的输入输出线。这根信号线均可用来连接IO设备和传送信息。其中A口和B口只作输入输出的数据口用尽管有时也利用它们从IO设备读取一些状态信号如打印机的“忙”(Busy)状态信号、AD转换器的“转换结束”(EOC)状态信号但对A口和B口来说都是作A的数据口读入而不是作A的状态口读入的。A的外部引线并行通信接口并行通信接口PC口的使用比较特殊除作数据口外当工作在方式和方式时它的大部分引脚被分配作专用联络信号PC口可以进行按位控制在CPU读取A状态时PC口又作方式的状态口用等等。A的外部引线并行通信接口内部结构并行通信接口并行通信接口芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成。①数据总线缓冲器。这是一个三态双向位缓冲器它是A与CPU系统数据总线的接口。②读写控制逻辑。读写控制逻辑由读信号RD、写信号WR、片选信号CS以及端口选择信号AA等组成。③输入输出端口A、B、C。A包括个位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。④A组和B组控制电路。控制A、B和C三个端口的工作方式。并行通信接口内部结构并行通信接口A基本操作与端口地址并行通信接口并行通信接口方式命令作用:指定A的工作方式及其方式下个并行端口(PA、PB、PC)的功能是作输入还是作输出。格式:位其中最高位是特征位一定要写其余各位定义如下应根据用户的设计要求填写或。A的编程命令并行通信接口并行通信接口例:要把A口指定为方式输入C口上半部为输出B组指定为方式输出C口下半部定为输入则工作方式命令代码是:B或BH。若将此命令代码写到A的命令寄存器即实现了对A工作方式及端口功能的指定或者说完成了对A的初始化。初始化的程序段为(假设命令口地址H)MOVDXHA命令口地址MOVALBH初始化命令OUTDXAL送到命令口并行通信接口A的编程命令并行通信接口按位置位复位命令作用:指定PC口的某一位(某一个引脚)输出高平或低电平。格式:位其中最高位是特征位一定要写其余各位的定义如下应根据用户的设计要求填写或并行通信接口A的编程命令并行通信接口例:若要把C口的PC引脚置成高电平输出则命令字应该为B或H。将该命令的代码写入A的命令寄存器就会使得从PC口的PC引脚输出高电平其程序段为:(假设命令口地址H)MOVDXHA命令口地址MOVALH使PC=的命令字OUTDXAL送到命令口如果要使引脚PC输出低电位则程序段为:MOVDXHA命令口地址MOVALH使PC=的命令字OUTDXAL送到命令口A的编程命令并行通信接口并行通信接口利用C口的按位控制特性还可以产生、负脉冲或方波输出对外设进行控制。例:利用A的PC产生负脉冲作打印机接口电路的数据选通信号其程序段为:(假设命令口地址H)MOVDXHA命令口MOVALB置PC=OUTDXALNOP维持低电平NOPMOVALB置PC=OUTDXAL并行通信接口A的编程命令并行通信接口关于两个命令的讨论①方式命令是对A的个端口的工作方式及功能进行指定即进行初始化初始工作要在使用A之前做。②按位置位复位命令只是对PC口的输出进行控制使用它产不破坏已经建立的种工作方式而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。③两个命令的最高位(D)都分配作了特征位之所以要设置特征位是为了识别两个不同的命令。④按位置位复位的命令代码只能写入命令口。并行通信接口A的编程命令并行通信接口A口和B口另一个使用方法A口、B口也可以按位输出高低电平但是它与前面的按位置位复位命令有本质的差别并且实现的方法也不同。C口按位输出是以送数据到A口、B口来实现的。其具体作法是:若要使某一位置高电平则先对端口进行读操作将读入的原输出值“或”上一个字节字节中使该位为其他位为然后再送到同一端口即可使该位为然后再送到同一端口即可使该位置位。并行通信接口A的编程命令并行通信接口例:若要使PA位输出高低电平则用下列程序段:使PA输出高电平。(假设PA口地址H)MOVDXHPA数据口地址INALDX读入A口原输出内容MOVAHAL保存原输出内容ORALH使PA=OUTDXAL输出PA┇MOVALAH恢复原输出内容OUTDXALA的编程命令并行通信接口并行通信接口使PA输出低电平MOVDXHA口地址INALDX读入端口原输出值MOVAHAL保存原输出值ANDALFH使PA=OUTDXAL输出PA┇MOVALAH恢复原输出内容OUTDXALA的编程命令并行通信接口并行通信接口三种基本工作方式:方式基本输入输出方式方式选通输入输出方式方式双向传送方式并行通信接口A的工作方式并行通信接口并行通信接口在这种工作方式下A、B和C口都可以在程序规定下进行输入或输出。通常不用联络信号或不使用固定的联络信号。特点:通常使用于无条件输入输出方式或查询式输入输出在方式下彼此独立的两个位和两个位并行口都能被指定作为输入或者输出用共有种不同的使用状态。是单向IO一次初始化只能指定端口(PA、PB和PC)作输入或输出不能指定端口同时既作输入又作输出。、工作方式是一种基本输入或输出方式A的工作方式并行通信接口例:用A产生波形。A在方式下工作令其在PB、PB引脚产生图所示波形编写相应程序。电路连接设定A各端口地址分别为H、H、H和H波形延时时间可调用延时毫秒(Dms)子程序实现。APBPBms分析:根据要求可确定端口B应工作在方式下输出其余端口无具体要求也都定为方式输出则方式选择控制字为H程序如下:并行通信接口A的工作方式并行通信接口MOVAL,HA的初始化OUTH,ALSTART:MOVAL,HBOUTH,ALCALLDmsMOVAL,HBOUTH,ALCALLDmsMOVAL,HBOUTH,ALCALLDmsMOVAL,HBOUTH,ALCALLDmsJMPSTART并行通信接口A的工作方式并行通信接口并行通信接口特点需设置专用的联络信号线或应答信号线以便对IO设备和CPU两侧进行联络。这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。PA和PB为数据口而PC口的大部分引脚分配作专用(固定)的联络信号的C口引脚用户不能再指定作其他作用。各联络信号线之间有固定的时序关系传送数据时要严格按照时序进行。单向传送。一次初始化只能设置在一个方向上传送不能同时作两个方向的传送。、工作方式也称选通的输入输出方式A的工作方式并行通信接口并行通信接口方式下输入的联络信号线定义因为输入是从IO设备向A送数据进来所以IO设备应先把数据准备好并送到A然后CPU再从A读取数据。这个传递过程中需要使用一些联络信号线。所以当A口和B口为输入时各指定了C口的根线作为A与外设及CPU之间应答信号。STB:外设给A的“输入选通”信号低电平有效。IBF:A给外设的回答信号“输入缓冲器满”高电平有效。INTR:A给CPU的“中断请求”信号高电平有效。A的工作方式并行通信接口方式输入时联络信号线定义PCPCPCINTEAPA~PC,IOINTRAIBFASTBA方式输入(端口A)A的工作方式并行通信接口并行通信接口并行通信接口方式下输出的联络信号线定义ACK:外设应答信号低电平有效。当它有效时表示CPU输出到A的数据已被外设取走。OBF:输出缓冲器满信号输出信号低电平有效。当它有效时表示CPU已把数据写入A口或B口的输出缓冲器等待输出。INTR:中断请求信号高电平有效。当外设向A发回的应答信号(ACK)结束A便向CPU发中断请求信号INTR表示CPU可以对A写入一个新的数据。A的工作方式并行通信接口方式输出时联络信号线定义A的工作方式并行通信接口并行通信接口并行通信接口这种工作方式仅适用于端口A这时A口的位数据线为双向数据线端口C的个引脚配合A提供控制信号和状态信号而端口B和端口C余下的位仍可工作于方式或。例如磁盘驱动器CPU既可以向磁盘写数据也可以读磁盘数据所以可以将磁盘驱动器的数据线与A的PA~PA相连再使PC~PC和磁盘驱动器的控制线和状态线相连即可、工作方式也称选通的双向输入输出方式A的工作方式并行通信接口并行通信接口特点PA口为双向选通输入输出或叫双向应答式输入输出。一次初始化可指定PA口既作输入口又作输出口。设置专用的联络信号线和中断请求号信线因此方式下可采用中断方式和查询方式与CPU交换数据。各联络线的定义及其时序关系和壮态基本上是在方式下输入和输出两种操作的组合。A的工作方式并行通信接口方式下联络信号线的定义方式是一种双向选通输入输出方式它把A口作为双向输入输出口把C口的根线(PC~PC)作为专用应答线所以A只有A口才有方式。其引脚定义如图所示。方式的联络信号线定义并行通信接口A的工作方式串行通信接口数据的各位依次由源到达目的地→慢数据线少→远程(费用低)将数据的各位按时间顺序依次在一根传输线上传输。串行通信适于长距离、中低速通信串行通信接口串行通信基础.数据传输速率波特率.数据传输速率波特率数据传输速率也称比特率(BitRate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样为数据传输速率的倒数当进行二进制数码传输且每位时间长度相等时比特率还等于波特率(BaudRate)过去串行通信(异步)的数据传输速率限制在bps到bps之间。现在串行通信可以达到bps或更高串行通信接口串行通信基础.数据传输方式.数据传输方式全双工站A站B站A站B站A站B半双工单工串行通信接口串行通信基础串行通信接口串行通信主要适用于远距离通信因而噪声和干扰较大为了保证高效而无差错地传送数据对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验CRC(CyclicRedundancyCheck)等。串行通信基础串行通信接口.串行通信的校验方法串行通信接口()奇偶校验这种校验方法主要用于对一个字符的传送过程进行校验。在发送时在每一个字符的最后位之后都附加一个奇偶校验位这个校验位本身有可能是“”或“”加上这个校验位后使所发送的字符中“”的个数始终为奇数(奇校验)或偶数(偶校验)。接收时检查所接收的字符连同这个奇偶校验位其为“”的个数是否符合规定若不符合规定就置出错标志。供CPU查询及处理。()循环冗余校验CRC这是另一种常用的校验方法它可对一个数据块进行校验。串行通信基础串行通信接口串行通信接口串行通信有异步和同步两种方式:异步:按字符传输字符可以不连续发送每个字符的前后用一些数位来作为分隔位(两个字符之间的传输间隔任意)。收发时钟不要求严格同步。同步:许多字符组成一个信息组在每组信息的开始加上同步字符(不允许字符间有间隔)。收发双方时钟(频率和相位)严格同步。自同步:发送时将传送数据与时钟进行编码接收时解码单同步双同步外同步:另用一根时钟线专门用来传送时钟信号.串行通信的基本传送方式串行通信接口串行通信基础串行通信接口()异步通信方式异步通信的数据链路控制是面向字符的即传送的每一组数据构成一个字符或者把每个字符看作一个独立的信息进行传送并且每个字符出现在数据流中的相对时间是任意的而每一个字符中每一位占用的时间是固定的它由传送率确定。因此异步通信是字符内的同步字符间的同步。串行通信接口串行通信基础串行通信接口异步串行通信以字符为单位称为一个信息帧。一帧包括起始位、数据位、校验位、停止位四部分。字符间间隔不固定但在字符中相邻位间的时间间隔固定。收发双方速率和帧格式要完全相同。帧格式:校验位:可以奇校验、偶校验或没有校验位。异步传输信息冗余较大例如:中有效位数只有位。串行通信接口串行通信基础串行通信接口同步串行通信中要求发送端总是在正式发送数据之前先发送一个同步字符通知接收端接收端在收到同步字符后便开始按照双方约定的格式和速率接收数据也就是用同步字符作为信息开始传送的标志和启动信号接收端没有收到同步字符便不接收数据以此速率传送因此适用于高速串行传送。串行通信接口串行通信基础串行通信接口同步串行通信串行通信接口串行通信基础异步通信与同步通信的主要区别异步通信与同步通信的主要区别时钟要求:同步通信要求发送与接收时钟频率精确相等异步通信要求发送与接收时钟频率基本相等即可控制信息:同步通信要求对整个数据块附加帧信息用于高速数据链路。异步通信要求对每个数据字符均附加帧信息用于低速设备低速传送。校验方式:同步通信采用位循环冗余校验码可靠性高。异步通信采用位奇偶校验可靠性相对较低串行通信基础串行通信接口串行通信接口串行通信的基本问题在串行通信时数据和联络信号使用同一条信号线来传送所以收发双方必须考虑解决如下问题:波特率双方约定以何种速率进行数据的发送和接收帧格式双方约定采用何种数据格式帧同步接收方如何得知一批数据的开始和结束位同步接收方如何从位流中正确地采样到位数据数据校验接收方如何判断收到数据的正确性差错处理收发出错时如何处理收发双方必须遵守一些共同的通信协议才能解决上述问题。串行通信接口串行通信基础串行通信接口串行通信接口接口特性:可以工作在同步或异步方式。在同步方式时能用、、或位代表字符能自动检测同步字符允许奇偶校验。在异步方式下能用、、或位代表字符用位作为奇偶校验。能增加个启动位能增加个、个或个停止位。接口芯片串行通信接口的外部连接串行通信接口串行通信接口串行通信接口和CPU之间的连接()片选信号CS#为低电平时A被选中()数据信号D~D与系统的数据总线相连()读写控制信号RD#为读信号。WR#为写信号。CD#为控制数据信号。()收发联络信号TXRDY为发送器准备好信号TXE发送器空信号RXRDY接收器准备好信号SYNDET同步检测信号的外部连接串行通信接口串行通信接口和外部设备之间的连接()收发联络信号DTR#数据终端准备好信号DSR#数据设备准备好信号RTS#请求发送信号CTS#清除请求发送信号()数据信号TXD发送器数据信号端RXD接收器数据信号端串行通信接口A的内部工作原理串行通信接口串行通信接口串行通信接口接收控制电路的功能:复位后寻找启动位。消除假启动干扰。对接收到的信息进行奇偶校验。检测停止位。发送控制电路的功能:在异步方式下为数据加上起始位、校验位和停止位。在同步方式下插入同步字符和校验位。串行通信接口串行通信接口读写控制逻辑电路的功能:接收WR#写入数据和控制字接收RD#读取数据或状态字接收CD#。接收CLK完成内部定时。接收RESET。的发送和接收的发送和接收()异步收发方式下图为A工作在异步方式时的数据传输格式串行通信接口串行通信接口串行通信接口()同步收发方式下图为A工作在同步方式时的数据传输格式的发送和接收A的初始化编程A的初始化编程A初始化的约定:复位后用奇地址写入的值送模式寄存器。若为同步模式接着往奇地址端口输出的字节为同步字符。此后除复位命令往奇地址写入的值将送到控制寄存器往偶地址端口写入的值送到数据输出寄存器。串行通信接口串行通信接口A的初始化流程图串行通信接口模式寄存器的格式模式寄存器的格式下图为A模式寄存器的格式(异步模式)串行通信接口模式寄存器的格式模式寄存器的格式串行通信接口下图为A模式寄存器的格式(同步模式)控制寄存器的格式控制寄存器的格式串行通信接口状态寄存器的格式状态寄存器的格式串行通信接口异步模式下的初始化程序举例异步模式下的初始化程序举例MOVALFAHOUTHAL设置模式字为异步模式波特率因子为用个数据位偶校验个停止位MOVALHOUTHAL设置控制字使发送启动、接收启动并设置有关信号串行通信接口同步模式下的初始化程序举例同步模式下的初始化程序举例MOVALHOUTHAL设置模式字为同步模式个同步字符个数据位偶校验MOVALHOUTHALOUTHAL两个同步字符均为HMOVALHOUTHAL设置控制字并启动串行通信接口远距离传输和调制解调器远距离传输和调制解调器串行数据的远传提高电平摆幅RSC标准采用平衡式传输RSRS采用电流信号mA电流环利用电话线和声频信号调制解调调制(Modulating)和解调(Demodulating)把数字信号转换为电话线路上可传送的模拟信号将电话线路上的模拟信号转换为数字信号调制解调器(MODEM)具有调制和解调功能的联合装置串行通信接口串行接口标准RSC串行接口标准RSC美国电子工业协会EIA制定的通用标准串行接口年公布年修订年月正式改名为EIAD设计目的是用于连接调制解调器现已成为数据终端设备DTE与数据通信设备DCE的标准接口DTE数据终端设备例如计算机DCE数据通信设备(数传机)例如调制解调器可实现远距离通信也可近距离连接两台微机属于网络层次结构中的最低层:物理层串行通信接口串行通信接口DTEDCEDCEDTE调制解调器调制解调器计算机计算机电话线RSC接口RSC接口RSC接口的使用场合串行通信接口RSC的引脚定义RSC的引脚定义C接口标准使用一个针连接器绝大多数设备只使用其中个信号所以就有了针连接器C接口信号面向使用调制解调器的串行异步通信可支持两个通信信道:主信道:用于数据传送次信道:次信道为辅助串行通道主要提供通道控制但其传输速率比主信道要低得多其他跟主信道相同通常较少使用串行通信接口RSC的引脚RSC的引脚TxD:发送数据(终端→数传机)串行数据的发送端RxD:接收数据(终端←数传机)串行数据的接收端RTS:请求发送(终端→数传机)当数据终端设备准备好送出数据时就发出有效的RTS信号用于通知数据通信设备准备接收数据CTS:清除发送(允许发送)(终端←数传机)当数据通信设备已准备好接收数据终端设备的传送数据时发出CTS有效信号来响应RTS信号RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号串行通信接口RSC的引脚RSC的引脚DTR:数据终端准备好(终端→数传机)通常当数据终端设备一加电该信号就有效表明数据终端设备准备就绪DSR:数据装置准备好(终端←数传机)通常表示数据通信设备(即数据装置)已接通电源连到通信线路上并处在数据传输方式DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号例如应答数据接收GND:信号地为所有的信号提供一个公共的参考电平CD:载波检测(DCD)(终端←数传机)当本地调制解调器接收到来自对方的载波信号时该引脚向数据终端设备提供有效信号RI:振铃指示(终端←数传机)当调制解调器接收到对方的拨号信号期间该引脚信号作为电话铃响的指示、保持有效串行通信接口RSC的引脚RSC的引脚保护地(机壳地)起屏蔽保护作用的接地端一般应参照设备的使用规定连接到设备的外壳或大地TxC:发送器时钟控制数据终端发送串行数据的时钟信号RxC:接收器时钟控制数据终端接收串行数据的时钟信号串行通信接口RSC的电气特性RSC的电气特性C接口采用EIA电平(负逻辑)“”电平为+V~+V“”电平为-V~-V实际常用±V或±V标准TTL电平(正逻辑)“”电平:+V~+V“”电平:V~V相互转换串行通信接口可编程定时器计数器计算机中定时信号的作用动态存储器的定时刷新系统时钟计时喇叭声源计算机实时控制和处理多任务的分时系统中作为中断信号实现程序的切换输出精确的定时信号作为波特率发生器实现延迟可编程定时器计数器可编程定时器计数器可编程定时器计数器定时信号的产生办法软件方法:设计延迟子程序按指令执行的延迟时间进行定时。延迟期间CPU一直被占用。硬件方法:使用计数定时器由简单软件控制产生准确的时间延迟计数时不占用CPU。(设置定时常数启动计数定时器)可编程定时器计数器可编程计数器定时器的功能计数器:设置好计数初值开始减计数减为时输出一个信号。定时器:设置好定时常数进行减计数并按定时常数不断输出为时钟周期整数倍的定时间隔信号。可编程定时器计数器可编程定时器计数器可编程计数器和定时器的原理四个寄存器:初值寄存器计数输出寄存器控制寄存器状态寄存器都对应一个端口均可以被CPU访问可编程定时器计数器可编程定时器计数器可编程定时器计数器可编程定时器计数器CLK:时钟信号输入决定计数速率GATE:门控信号输入GATE=禁止计数GATE=允许工作OUT:输出端可以连接中断请求线也可以连接其他输入输出设备来启动设备的操作。可编程定时器计数器可编程定时器计数器可编程定时器计数器任何时候都可以将计数器的值直接传输到计数输出寄存器而被读出读出过程不影响计数。当计数结果为时一方面会通过OUT引脚产生输出为中断工作方式提供条件另一方面会设置状态寄存器的对应位为查询工作方式提供条件。可编程定时器计数器的内部有三个计数器每个计数器内部都包括:一个位的计数初值寄存器CR一个计数执行部件CE一个输出锁存器OL每个计数器按二十进制方式减法计数每个计数器的输入输出都决定于计数器本身控制寄存器的控制字互相之间的工作完全独立。可编程定时器计数器可编程定时器计数器可编程定时器计数器可编程定时器计数器数据总线缓冲器(传送信息)往计数器设置计数初值从计数器读取计数值往控制寄存器设置控制字可编程定时器计数器可编程定时器计数器可编程定时器计数器读写逻辑电路从系统控制总线接收输入信号用来控制A、A用来对个计数器和控制寄存器进行寻址(选择当前要操作的对象)RD为读信号低电平有效表示CPU正在读取一个计数器的值WR为写信号低电平有效表示CPU正在对一个计数器写入计数初值或对控制寄存器写入控制字CS为片选信号低电平有效表示RDWR被确认否则被忽略可编程定时器计数器控制寄存器(存放控制字)用来控制计数器定时器的工作模式:可编程定时器计数器可编程定时器计数器可编程定时器计数器可编程定时器计数器说明:除了这几种组合其他组合数据总线为高阻状态可编程定时器计数器可编程定时器计数器控制命令(方式字)可编程定时器计数器SCSC=对于没有意义对是回读命令可编程定时器计数器()模式计数结束产生中断当写入控制字后输出端OUT为低电平(初始状态)直到计数为时OUT输出高电平直到再次写入初始值因为要在写入初始值后经过一个时钟周期才能开始计数所以当计数条件满足时如果计数初值为n则需要经过n个时钟OUT端才升为高如果GATE=则CE获得初值后开始计数如果此时GATE变为低电平则计数停止此时OUT持续维持低电平如果计数过程中有新的计数初值被写入则原计数值作废待下一个时钟脉冲时新的初值送到计数执行部件如果在GATE=时写入计数初值仍会在下一个时钟脉冲时将初值送入计数执行部件但此时不会开始计数直到GATE=时计数开始此时计数次数为nOUT端经过n个时钟脉冲后升为高电平的工作模式可编程定时器计数器可编程定时器计数器()模式计数结束产生中断可编程定时器计数器CW写入OUT=写入初值通道开始计数计数到零OUT=计数器只计数一遍OUT是N个CLK后变高计数过程中如果GATE=计数暂停计数过程中可改变计数值可用OUT信号作为中断请求。可编程定时器计数器当写入控制字后输出端OUT为高电平(初始状态)计数初值经一个时钟周期后送计数执行部件GATE信号的上升沿到来时边沿触发器受到触发下一个时钟脉冲时OUT变为低电平直到计数为。计数器为后输出端OUT为高电平直到下一次被触发。如果计数初值为N则OUT输出N个时钟周期的负脉冲。可以不重新写入计数初值只要GATE上升沿到来又可再次计数。如果在计数过程中再次有GATE上升沿到来则在下一个时钟脉冲后又从计数初值开始重新计数使输出的负脉冲延长。如果计数过程有新的计数初值写入计数器不会影响当前输出即仍然输出宽度为原计数值的负脉冲直到GATE上升沿再次到来按新的计数值开始计数。可编程定时器计数器()模式可重复触发的单稳态触发器可编程定时器计数器()模式可重复触发的单稳态触发器可编程定时器计数器写入控制字OUT=写入常数不计数GATE启动计数OUT=计数到OUT=。单拍脉冲宽度为N由GATE重新启动计数中可重新启动计数中可改变计数值再次启动有效。可编程定时器计数器当写入控制字后输出端OUT为高电平(初始状态)计数初值经一个时钟周期后送计数执行部件开始计数减到时输出端OUT变为低电平。完成一次计数后输出端OUT变为高电平开始新的计数可以周而复始的进行下去。如果计数初值为N输出端在N个时钟期间经历一个输出周期其中N个时钟周期为高电平个时钟周期为低电平。GATE=时计数进行GATE=时计数结束。如果在输出脉冲期间GATE变为低电平输出端仍保持高电平但在下一个时钟周期时从计数初值重新开始计数。当写入控制字和初值后如果GATE=则在下一个时钟周期时开始计数经过N个时钟周期OUT输出低电平。在计数期间送入新的计数值如果GATE=则OUT不变当前计数完毕后按新值进行计数如果计数到之前写入新值而GATE出现上升沿一个时钟后新的计数值被送入计数器。可编程定时器计数器()模式分频器可编程定时器计数器()模式分频器可编程定时器计数器写入控制字OUT=写入常数立即对CLK计数计数到OUT=一个CLK周期后OUT=重新计数。通道连续工作不需重置时常计数过程中GATE=计数暂停GATE变高后重新计数计数过程中可改变计数值新的计数值在下一次有效。可编程定时器计数器()模式方波发生器当写入控制字后输出端OUT为高电平(初始状态)写入初值后下一个时钟开始计数计数到一半时OUT变为低电平计数为时再变为高电平从而完成一个输出周期马上开始下一次计数下一个输出周期。当初值为偶数则正负脉冲个数相等否则高电平比低电平多一个时钟。GATE=时进行计数GATE=时计数停止。如果OUT为低电平GATE变为时OUT会立即变为高电平且计数停止直到GATE又变为高电平后的下一个时钟周期时计数重新开始。GATE=时在写入控制字及初值后的下一个时钟开始计数。计数时如果写入新值不会影响当前的输出周期但如果遇到GATE的上升沿就会结束当前输出周期在一个时钟周期后计数按新值重新开始。可编程定时器计数器可编程定时器计数器*与方式的区别在于:输出为周期是N个CLK脉冲的方波。*若计数值为偶数每个CLK使计数值减计到OUT改变状态重装计数值开始新的计数。*若计数值为奇数第一个脉冲先减以后每个CLK使计数值减计到时OUT改变状态重装计数值后第一个脉冲减以后每个CLK使计数值减计到时OUT改变状态。*GATE信号控制计数过程*计数过程中写入新的计数值将在半周期结束时装入计数器。可编程定时器计数器可编程定时器计数器()模式软件触发的选通信号发生器当写入控制字后输出端OUT为高电平写入初值后的下一个时钟开始计数计数为后输出变为低电平此低电平持续一个时钟周期后自动变为高电平并一直保持。当初值N写入后经过一个时钟周期开始计数经过N个时钟产生一个时钟周期的负脉冲选通信号。GATE=时进行计数GATE=计数停止但输出电平不变直到再次启动计数器重新计数并且计数值为时输出负脉冲。如果计数过程中写入新值则经过一个时钟周期从新的初值开始计数。可编程定时器计数器可编程定时器计数器*写入控制字OUT=*写入常数立即对CLK计数*计数到OUT=*一个CLK周期后OUT=计数器停止计数。*计数器只计数一遍*OUT是N个CLK后变低*计数过程中GATE=计数暂停*若在计数过程中改变计数值则按新的计数值重新开始计数。可编程定时器计数器可编程定时器计数器()模式硬件触发的选通信号发生器当写入控制字后输出端OUT为高电平写入初值后必须等待GATE的上升沿到来时再经过一个时钟周期后开始计数计数为时OUT输出一个时钟周期的负脉冲然后又自动变为高电平而且保持不变。写入初值N后只有遇到GATE的上升沿一个时钟后才开始计数经过N个时钟后OUT端产生选通脉冲。如果在计数过程中GATE端又出现一个上升沿则经过一个时钟周期后计数器重新获得初值再次进行计数。如果计数过程中写入新值但GATE没有出现触发信号则不会影响当前输出周期只有再次触发后才按新值开始计数。可编程定时器计数器可编程定时器计数器*写入控制字OUT=*写入常数后由GATE的上升沿启动计数*计数到OUT=*一个CLK周期后OUT=计数器停止计数。*计数器只计数一次*OUT是N个CLK后变低*在计数过程中出现的GATE脉冲将使计数器重新开始计数对输出状态没有影响*若在计数过程中改变计数值只要没有GATE信号触发不影响计数过程。有新的GATE信号触发则按新的计数值开始计数。可编程定时器计数器可编程定时器计数器工作方式小结输出端OUT的初始状态只有方式是在写入控制字后输出为低其它均为高计数值的设置任一种方式只有在写入计数值后才能开始计数方式、、、在写入计数值后计数自动开始方式、需外部触发才开始计数。可编程定时器计数器可编程定时器计数器计数值N与输出波形的关系可编程定时器计数器可编程定时器计数器门控信号的作用GATE输入总是在CLK输入时钟的上升沿被采样。在方式中GATE输入是电平起作用。在方式中GATE输入是上升沿起作用的。可编程定时器计数器可编程定时器计数器在计数过程中改变计数值立即有效是写入计数值后的下一个CLK脉冲后新的计数值开始起作用。计数到后计数器的状态计数器减到后并不停止在方式计数器减到后从FFFF继续计数。方式是连续计数计数器自动装入计数值后继续计数。可编程定时器计数器可编程定时器计数器时钟周期指输入时钟CLK的周期输出周期指OUT端输出的波形周期的OUT端的信号变化都是在时钟的下降沿发生变化计数器只计数一次()定时器可循环重复计数()、说明可编程定时器计数器可编程定时器计数器的三个计数器是相互独立的其地址也相互独立而且控制字的内容又确定了所控制的计数器的序号所以对的编程要求不严但有两条原则:对计数器设置初始值前必须先写控制字初始值的设置要符合控制寄存器的格式规定编程命令:读出命令:用来读取计数器当前的值(要先锁定)写入命令:设置控制字设置初始值和计数值锁存命令可编程定时器计数器的编程命令可编程定时器计数器初始化编程的步骤:写入通道控制字规定通道的工作方式(AA=)写入计数值(由控制字的DD确定通道号)。①若规定只写入低位则写入的为计数值的低位高位自动置②若规定只写入高位则写入的为计数值的高位低位自动置③若是位计数值则分两次写入先写入低位再写入高位。可编程定时器计数器可编程定时器计数器工作原则:控制字写入后所有控制逻辑电路复位计数初始值写入后必须要经过一个时钟上升沿和一个下降沿计数执行部件CE才开始进行计数在时钟脉冲CLK上升沿时采样GATE信号模式、GATE为电平触发模式、GATE为上升沿触发模式、二者皆可在时钟脉冲的下降沿计数器作减计数可编程定时器计数器可编程定时器计数器用实现初始化编程步骤:初始化每一个通道的控制字控制字写入的控制字端口地址初始化通道的计数初值计数初值写入的通道端口地址。的编程实例例用实现初始化编程要求:使用通道工作在方式按二十进制计数计数值为H其中端口地址给定范围F~FBH分析:()确定通道控制字。如图示为B通道先写低位再写高位工作方式BCD计数可编程定时器计数器可编程定时器计数器用实现初始化编程步骤:初始化每一个通道的控制字控制字写入的控制字端口地址初始化通道的计数初值计数初值写入的通道端口地址。分析:()选择控制字端口地址:AA组合为控制字端口地址的低二位故选择FBH。()计数值的低位为H()计数值的高位为H()选择写入计数值的端口地址:计数值写入通道故AA组合为选择FH。可编程定时器计数器的编程实例可编程定时器计数器用实现初始化编程步骤:初始化每一个通道的控制字控制字写入的控制字端口地址初始化通道的计数初值计数初值写入的通道端口地址。初始化程序如下:MOVAL,HOUTFBH,AL写入方式控制字到端口地址中MOVAL,HOUTFH,AL写入计数初值低位到端口地址中MOVAL,HOUTFH,AL写入计数初值高位到端口地址中可编程定时器计数器的编程实例可编程定时器计数器例:要求计数器工作于方式输出方波的频率为KHz计数脉冲的频率为MHz采用BCD计数试写出初始化程序段。常数计算:TC=MHzKHz=MOVALHOUTHALMOVALHOUTHALMOVALHOUTHAL的端口地址为:HHHH。初始化程序段:可编程定时器计数器的编程实例可编程定时器计数器例:某端口地址为FH~FBH欲用通道以方式按BCD计数计数值为。确定通道控制字计数值的低位为计数值的高位为。初始化程序为:MOVALHOUTFBHALMOVALHOUTFHALMOVALHOUTFHAL在计数过程中读计数器现行值的方法:(将计数值存入内部锁存器)MOVALH计数器的锁存命令OUTFBHAL写入控制寄存器INALFH读低位MOVCLAL存入CL中INALFH读高位MOVCHAL存入CH中可编程定时器计数器的编程实例可编程定时器计数器可编程定时器计数器的编程实例可编程定时器计数器例:用产生各种定时波形。要求:()通道输出频率为KHz的方波()通道产生宽度为ms的负脉冲()通道以硬件方式触发输出单脉冲时常为。已知:基地址为H通道所用时钟脉冲频率为MHz。分析:通道工作于方式控制端GATE接V时间常数N=MHzKHz=通道工作于方式由控制端GATE的正跳变触发OUT的宽度为时常单次触发时间常数N=msms=通道工作于方式由控制端GATE的正跳变触发可连续触发时间常数N=。可编程定时器计数器可编程定时器计数器通道初始化程序MOVDXHMOVALBOUTDXALMOVDXHMOVALHOUTDXALMOVALHOUTDXAL通道初始化程序MOVDXHMOVALBOUTDXALMOVDXHMOVALHOUTDXALMOVALHOUTDXAL通道初始化程序MOVDXHMOVALBOUTDXALMOVDXHMOVALHOUTDXAL可编程定时器计数器可编程定时器计数器例:控制LED。要求:LED点亮秒熄灭秒分析:的地址线与CPU高位数据线DD相连的各端口的地址为H、H、H、H。OUT输出占空比为:的方波端口工作在方式。时钟频率为MHz时位计数通道的最大定时时间为:s=ms级连:通道输出Hz脉冲(时常)通道输出Hz方波(时常)。可编程定时器计数器可编程定时器计数器通道初始化程序MOVALBOUTALMOVALHOUTALMOVALHOUTAL通道初始化程序MOVALBOUTALMOVALHOUTALMOVALHOUTAL可编程定时器计数器可编程定时器计数器例:用设计一个自动计数系统(计数向CPU提出中断申请)。端口地址:FHFHFHFH工作方式:计数器工作于方式按BCD计数先读写低字节后读写高字节。可编程定时器计数器可编程定时器计数器通道初始化程序MOVALBOUTFHALMOVALHOUTFHALMOVALHOUTFHAL读通道计数值程序MOVALBOUTFHALINALFHMOVAHALINALFHX

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/116

8可编程接口芯片及通用IO

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利