如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
课程教学单元§10.1定时与计数§10.2Intel8253芯片一、内部逻辑二、外部特性三、读写操作四、系统连接五、工作方式(012345)六、编程应用举例§10.1定时与计数1、软件方法利用微处理器执行一个延时程序段程序所需时钟状态,得到定时的时间。通用性和灵活性好,但占用CPU时间。2、硬件方法采用分频器、单稳电路或简易定时电路控制定时时间,如555电路,不占用CPU时间,但通用性、灵活性差。3、软硬件结合方法软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。每个8253芯片有3个独立的16位计数器通道每个计数器通道都可以按照二进制或二—十进制(BCD码)计数每个计数器的计数速率可以高达2MHz每个通道有6种工作方式,可以由程序设定和改变所有的输入、输出电平都与TTL兼容一、内部逻辑1、数据总线缓冲器:8位双向三态缓冲器通过编写程序向8253写入确定8253工作方式的命令向计数寄存器装入计数初值;读出当前计数值4、计数器0计数器1计数器2:内部结构相同、功能相同有各自独立的端口地址。每通道由初值寄存器、减法计数器和计数值锁存器组成计数初值提前预置计数/时钟以脉冲方式从CLK端输入,每输入一个脉冲计数器减1,减到0。OUT端有输出,计数结束/定时时间到。二、外部引脚三、读写操作1.8253的初始化编程【例2】端口地址为:F8H~FEH若用通道0工作在方式1按十进制计数计数值为5080H进行初始化编程2.8253的读数操作四、系统连接——Intel8253在系统中的连接五、Intel8253的6种工作方式五、Intel8253的6种工作方式五、Intel8253的6种工作方式性质:写入控制字,OUT端为低电平,计数初值装入该计数器后,等待到GATE输入高电平时,计数器开始递减计数。在整个计数过程中,OUT保持低电平,当计数器减为0时,OUT输出高电平①计数器只计一遍,当计数到0时,不重新开始计数保持为高,直到输入一新的计数值,OUT才变低,开始新的计数;②计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,因此,如果设置计数器初值为N,则输出OUT在N+1个脉冲后才能变高;③在计数过程中由GATE信号控制暂停。GATE=0时,暂停计数;当GATE=1时,继续计数;④在计数过程中可以改变计数值,且这种改变是立即有效的,分成两种情况:若是8位计数,则写入新值后的下一个脉冲按新值计数;若是16位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。性质:写入控制字,OUT端为高电平;计数初值装入该计数器后,在GATE信号的上升沿后的下一个CLK脉冲的下降沿开始计数,OUT变为低电平。在整个计数过程中,OUT保持低电平;当计数器减为0时,OUT变为高电平,输出一个单脉冲,若GATE信号再由低变高,可再产生一个单稳态脉冲。①输出OUT的宽度为计数初值的单脉冲;②输出受门控信号GATE的控制,分三种情况:*计数到0后,再来GATE脉冲,则重新开始计数,OUT变低;*在计数过程中来GATE脉冲,则从下一CLK脉冲开始重新计数,OUT保持为低;*改变计数值后,只有当GATE脉冲启动后才按新值计数,否则原计数过程不受影响,仍继续进行,即新值的改变是从下一个GATE开始的。③计数值是多次有效的,每来一个GATE脉冲,就自动装入计数值开始从头计数,因此在初始化时,计数值写入一次即可。性质:计数初值装入计数器后,由GATE信号控制,若GATE信号为0时,暂停计数,当变为高电平的下一个CLK脉冲又开始重新计数。计数过程中,CPU可随时改变计数值,当计数器减为0时,又按新的计数值分频。此方式下8253相当于一个分频脉冲产生器,若计数值为N,则每输入N个CLK脉冲,输出一个脉冲,脉冲宽度等于CLK周期。①通道可以连续工作;②GATE可以控制计数过程,当GATE为低时暂停计数,恢复为高后重新从初值;(注意:该方式与方式0不同,方式0是继续计数)③重新设置新的计数值即在计数过程中改变计数值,则新的计数值是下次有效的,同方式1。性质:输出周期性方波,若计数值为N,则输出的方波周期是N个CLK周期。CPU写入控制字后OUT变高,写完计数值后自动开始计数,输出保持高电平。当计到一半计数值时,输出变低,直到计数到0,输出又变为高,重新开始计数。①通道可以连续工作;②关于计数值的奇偶:若为偶数,则输出标准方波,高低电平各为N/2个;若为奇数,则在装入计数值后的下一个CLK使其装入,然后减1计数,(N+1)/2,OUT改变状态,再减至0,OUT又