第7章 输入输出接口技术第3节内容_第1页
第7章 输入输出接口技术第3节内容_第2页
第7章 输入输出接口技术第3节内容_第3页
第7章 输入输出接口技术第3节内容_第4页
第7章 输入输出接口技术第3节内容_第5页
已阅读5页,还剩59页未读, 继续免费阅读

下载本文档

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

文档简介

1、第7章输入输出接口,2020年7月4日星期六,中北大学微机原理及接口技术,2,第7章输入输出接口,主要内容:7.1I/O接口基础和传送方式7.2中断技术7.3定时器/计数器(8253/8254)7.4并行口8255A7.5A/D和D/A转换,学时分配:18学时,第三节可编程定时/计数器8253,2020年7月4日星期六,中北大学微机原理及接口技术,4,7.3可编程定时/计数器8253,掌握:引线功能及计数启动方法6种工作方式及其输出波形8253的使用:芯片与系统的连接芯片的初始化编程,2020年7月4日星期六,中北大学微机原理及接口技术,5,主要内容:7.3.18253/8254定时计数器7.

2、3.28253编程7.3.38253在IBMPC系列机上的应用7.3.48253在扩充定时计数器的应用7.3.58253的应用,7.3可编程定时/计数器8253,学时分配:3学时,2020年7月4日星期六,中北大学微机原理及接口技术,6,定时/计数器的用途,可以实现定时与计数两个功能,可用于系统时钟DRAM刷新定时定时采样实时控制脉冲的计数。,2020年7月4日星期六,中北大学微机原理及接口技术,7,如何实现定时?,软件方法:用一段程序实现延时利用程序循环延迟指定的时间缺点:CPU占用率?延时精度?兼容?硬件方法:定时/计数器电路利用脉冲计数在设定的时间输出定时信号,8253是一种硬件定时/计

3、数器芯片,2020年7月4日星期六,中北大学微机原理及接口技术,8,定时器和计数器,定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔;计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器;,2020年7月4日星期六,中北大学微机原理及接口技术,9,定时功能的实现方法,软件延时利用微处理器执行一个延时程序段实现不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,2020年7月4日

4、星期六,中北大学微机原理及接口技术,10,7.3.18253/8254定时计数器,3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数,8254是8253的改进型,2020年7月4日星期六,中北大学微机原理及接口技术,11,一、8253/8254的内部结构和引脚,2020年7月4日星期六,中北大学微机原理及接口技术,12,内部结构及外部引线,DB,D7-D0,8253,A1,A0,WR,RD,CS,通道2,通道1,通道0,CLK0GATE0OUT0,CLK1GATE1OUT1,CLK1GATE1OUT1,A1A0,IOWIOR片选信号,2020年7月4日星期六,中

5、北大学微机原理及接口技术,13,内部结构及外部引线,连接系统端的主要引线:D7D0CSRDWRA1,A0用于选择四个编址部件之一,A1A0选择00计数通道001计数通道110计数通道211控制寄存器,2020年7月4日星期六,中北大学微机原理及接口技术,14,内部结构及外部引线,计数通道的主要引线(每通道均相同):CLKn时钟脉冲输入,计数器的计时基准。GATEn门控信号输入,控制计数器的启停。OUTn计数器输出信号,不同工作方式下产生不同波形。(n=02),2020年7月4日星期六,中北大学微机原理及接口技术,15,8253的内部结构,2020年7月4日星期六,中北大学微机原理及接口技术,1

6、6,计数器结构示意图,2020年7月4日星期六,中北大学微机原理及接口技术,17,计数器结构示意图,计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值,2020年7月4日星期六,中北大学微机原理及接口技术,18,计数器的3个引脚,CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号,2020年7月4日星期六,中北大学微机原理

7、及接口技术,19,与处理器接口,D0D7数据线A0A1地址线RD*读信号WR*写信号CS*片选信号,2020年7月4日星期六,中北大学微机原理及接口技术,20,编程结构程序员的观点,计数器(3个)包括控制寄存器存放控制命令字(只写)占用4个地址3个计数器,1个控制寄存器,16位初值寄存器16位计数寄存器,(减法计数器),2020年7月4日星期六,中北大学微机原理及接口技术,21,定时/计数的工作过程,1.设置8253的工作方式2.设置计数初值到初值寄存器3.第一个CLK信号使初值寄存器的内容置入计数寄存器4.以后每来一个CLK信号,计数寄存器减15.减到0时,OUT端输出一特殊波形的信号注:以

8、上计数过程中还受到GATE信号的控制,2020年7月4日星期六,中北大学微机原理及接口技术,22,计数启动方式,软件启动过程硬件启动过程,GATE端保持为高电平写入计数初值后的第2个CLK脉冲的下降沿开始计数,GATE端有一个上升沿对应CLK脉冲的下降沿开始计数,程序指令启动软件启动外部电路信号启动硬件启动,2020年7月4日星期六,中北大学微机原理及接口技术,23,二、8253/8254的工作方式,8253有6种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式每种工作方式的过程类似:设定工作方式设定计数初值硬件启动计数初值进入减1计数器每输入一个时钟计

9、数器减1的计数过程计数过程结束,2020年7月4日星期六,中北大学微机原理及接口技术,24,方式0计数结束中断,设定工作方式,设定计数初值,计数值送入计数器,计数过程,计数结束,2020年7月4日星期六,中北大学微机原理及接口技术,25,方式1可编程单稳脉冲,设定工作方式,设定计数初值,硬件启动,计数值送入计数器,计数过程,计数结束,2020年7月4日星期六,中北大学微机原理及接口技术,26,方式2频率发生器(分频器),2020年7月4日星期六,中北大学微机原理及接口技术,27,方式3方波发生器,2020年7月4日星期六,中北大学微机原理及接口技术,28,方式4软件触发选通信号,2020年7月

10、4日星期六,中北大学微机原理及接口技术,29,方式5硬件触发选通信号,2020年7月4日星期六,中北大学微机原理及接口技术,30,各种工作方式的输出波形,讨论:计数开始的时刻,2020年7月4日星期六,中北大学微机原理及接口技术,31,计数开始的时刻,需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。,实验:计数开始的时刻,2020年7月4日星期六,中北大学微机原理及接口技术,32,三、8253/8254的编程,8253加电后的工作方

11、式不确定8253必须初始化编程,才能正常工作写入控制字写入计数初值读取计数值8254新增读回命令,2020年7月4日星期六,中北大学微机原理及接口技术,33,1写入方式控制字,00计数器001计数器110计数器211非法,00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节,000方式0001方式1010方式2011方式3100方式4101方式5,0二进制1十进制,控制字写入控制字I/O地址(A1A011),示例,2020年7月4日星期六,中北大学微机原理及接口技术,34,2写入计数值,选择二进制时计数值范围:0000HFFFFH0000H是最大值,代表65536选择

12、十进制(BCD码)计数值范围:000099990000代表最大值10000,计数值写入计数器各自的I/O地址,示例,2020年7月4日星期六,中北大学微机原理及接口技术,35,3读取计数值,对8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值,读取计数值,要注意读写格式和计数数制,2020年7月4日星期六,中北大学微机原理及接口技术,36,例1写出8253的初始化程序。其中,3个CLK频率均为2MHZ。1、计数器0在定时100s后产生中断请求;2、计数器1用于产生周期为10s的对

13、称方波;3、计数器2每1ms产生一个负脉冲。编写8253的初始化程序。,编程举例,2020年7月4日星期六,中北大学微机原理及接口技术,37,方法:先确定各个计数器的工作方式,再计算其计数器的初值。,编程举例,2020年7月4日星期六,中北大学微机原理及接口技术,38,编程举例,1.计数器0在定时100s后产生中断请求;编写8253的初始化程序。计数器0工作在方式0,初值为100s/0.5s=200,可以只写低8位,二进制计数。所以控制字为:00010000B=10HMOVDX,0FF07HMOVAL,10H;计数器0,只写计数值低8位,方式0,二进制计数OUTDX,ALMOVDX,0FF04

14、HMOVAL,200;计数器0计数初值OUTDX,AL,2020年7月4日星期六,中北大学微机原理及接口技术,39,编程举例,2.计数器1用于产生周期为10s的对称方波计数器1工作在方式3,初值为10s/0.5s=20,可以只写低8位,二进制计数。所以控制字为:01010110B=56HMOVDX,0FF07HMOVAL,56H;计数器1,只写计数值低8位,方式3,二进制计数OUTDX,ALMOVDX,0FF05HMOVAL,20;计数器1的初值OUTDX,AL,2020年7月4日星期六,中北大学微机原理及接口技术,40,编程举例,3.计数器2每1ms产生一个负脉冲。计数器2工作在方式2,初值

15、为1ms/0.5s=2000,需要写16位,二进制计数。所以控制字为:10110100B=B4HMOVDX,0FF07HMOVAL,0B4H;计数器2,先写低8位再写高8位,方式2,二进制计数OUTDX,ALMOVDX,0FF06HMOVAX,2000;计数器2的初值OUTDX,ALMOVAL,AHOUTDX,AL,2020年7月4日星期六,中北大学微机原理及接口技术,41,START:MOVDX,0FF07HMOVAL,10H;计数器0,只写计数值低8位,方式0,二进制计数OUTDX,ALMOVAL,56H;计数器1,只写计数值低8位,方式3,二进制计数OUTDX,ALMOVAL,0B4H;

16、计数器2,先写高8位再写低8位,方式2,二进制计数OUTDX,AL,编程举例,2020年7月4日星期六,中北大学微机原理及接口技术,42,MOVDX,0FF04HMOVAL,200;计数器0计数初值OUTDX,ALMOVDX,0FF05HMOVAL,20;计数器1的初值OUTDX,ALMOVDX,0FF06HMOVAX,2000;计数器2的初值OUTDX,ALMOVAL,AHOUTDX,AL,2020年7月4日星期六,中北大学微机原理及接口技术,43,7.3.28253的控制字编程,例2某个8253的计数器0、1、2端口和控制端口地址依次是40H43H;设置其中计数器0为方式0,采用二进制计数

17、,先低后高写入计数值MOVAL,30H;方式控制字:30H00110000BOUT43H,AL;写入控制端口:43H,2020年7月4日星期六,中北大学微机原理及接口技术,44,8253的计数初值编程,;设置计数器0采用二进制计数,写入计数初值:1024(400H)MOVAX,1024;计数初值:1024(400H);写入计数器0地址:40HOUT40H,AL;写入低字节计数初值MOVAL,AHOUT40H,AL;写入高字节计数初值,2020年7月4日星期六,中北大学微机原理及接口技术,45,8253/8254的I/O地址,01000,01001,01010,01011,00100,00101

18、,00110,功能,对计数器0设置计数初值,A1,A0,对计数器1设置计数初值,对计数器2设置计数初值,设置控制字,从计数器0读出计数值,从计数器1读出计数值,从计数器2读出计数值,2020年7月4日星期六,中北大学微机原理及接口技术,46,7.3.58253的应用,与系统的连接设置工作方式置计数初值,编程,2020年7月4日星期六,中北大学微机原理及接口技术,47,与系统的连接示意图,CLK,GATE,OUT,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,高位地址A15-A2,8253,共三组,8253占用4个接口地址:计数器0计数器1计数器2控制寄存器,

19、(决定8253的基地址),2020年7月4日星期六,中北大学微机原理及接口技术,48,初始化程序流程,写控制字,写计数值低8位,写计数值高8位,*,非必须,写入顺序:可按计数器分别写入控制字和初值。也可先写所有计数器控制字,再写入它们的初值,2020年7月4日星期六,中北大学微机原理及接口技术,49,8253应用举例,采用8253作定时/计数器,其接口地址为0120H0123H。输入8253的时钟频率为2MHz。计数器0:每10ms输出1个CLK脉冲宽的负脉冲计数器1:产生10KHz的连续方波信号计数器2:启动计数5ms后OUT输出高电平。画线路连接图,并编写初始化程序。,2020年7月4日星

20、期六,中北大学微机原理及接口技术,50,8253应用举例(续),确定计数初值:CNT0:10ms/0.5us=20000CNT1:2MHz/10KHz=200CNT2:5ms/0.5us=10000确定控制字:CNT0:方式2,16位计数值00110100CNT1:方式3,低8位计数值01010110CNT2:方式0,16位计数值10110000,2020年7月4日星期六,中北大学微机原理及接口技术,51,8253应用举例(续),CLK0,GATE0,OUT1,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8253,CLK2,GATE1,GATE2,+5V,

21、CLK1,2MHz,OUT0,OUT2,?,线路连接图:,2020年7月4日星期六,中北大学微机原理及接口技术,52,8253应用举例初始化程序,CNT0:MOVDX,0123HMOVAL,34HOUTDX,ALMOVDX,0120HMOVAX,20000OUTDX,AL,MOVAL,AHOUTDX,ALCNT1:CNT2:,2020年7月4日星期六,中北大学微机原理及接口技术,53,8253小结,包含3个16位计数器通道4个编址部件:CNT0/1/2和控制寄存器每个计数器通道工作前必须初始化:控制字和计数初值6种工作方式每种工作方式:启动方式、输出波形、是否可重复计数等各不相同,2020年7

22、月4日星期六,中北大学微机原理及接口技术,54,结束语,掌握定时/计数器8253的原理掌握定时/计数器8253的使用方法,2020年7月4日星期六,中北大学微机原理及接口技术,55,复习题(三):,7.318253A的功能作用?有哪些工作方式?7.32当8253的输入信号*CS=0、*RD=1、*WR=0且A1=A0=1时,此8253执行的操作是。7.33要产生对称方波,可考虑使用8253的方式。7.348253内每个计数通道的计数过程均为()计数,2020年7月4日星期六,中北大学微机原理及接口技术,56,复习题题解(三):,7.318253A的功能作用?有哪些工作方式?8253A起着计数或

23、定时的作用,提供可编程的三个16位定时/计数器通道。它有方式0到方式5共6种工作方式,分别是:计数结束中断方式,可编程单程方式,频率发生器,方波发生器,软件触发的选通信号,硬件触发的选通信号。,2020年7月4日星期六,中北大学微机原理及接口技术,57,复习题题解(三):,7.32当8253的输入信号*CS=0、*RD=1、*WR=0且A1=A0=1时,此8253执行的操作是接收一个控制字。7.33要产生对称方波,可考虑使用8253的方式3(方波发生器)。7.348253内每个计数通道的计数过程均为(减法)计数,2020年7月4日星期六,中北大学微机原理及接口技术,58,复习题(三):,7.35若使用8253定时,CLK的频率为2MHz,那么一个计数器的最大定时时间为,一个8253芯片共有计数器:每个计数器有工作方式。7.36若8253中某一个定时器的定时时间为50ms,而计数值为50000D,则输入时钟脉冲CLK的频率应为。,2020年7月4日星期六,中北大学微机原理及接口技术,59,复习题题解(三):,7.35若使用8253定时,CLK的频率为2MHz,那么一个计数器的最大定时时间为65536*0.5us=32768us,一个8253芯片共有3计数器:每个计数器有6工作方式。7.36若8253中某一个定时器的定时时间为50ms,而计数值为50000D,则

温馨提示

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

评论

0/150

提交评论