《微机原理》课件第7章-8253

上传人:考试不挂****2941... 文档编号:242940727 上传时间:2024-09-12 格式:PPT 页数:45 大小:815KB
返回 下载 相关 举报
《微机原理》课件第7章-8253_第1页
第1页 / 共45页
《微机原理》课件第7章-8253_第2页
第2页 / 共45页
《微机原理》课件第7章-8253_第3页
第3页 / 共45页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章可编程计数器,/,定时器,8253,7-1,概述,7-2 8253的控制字,/,锁存字,7-3,8253,的工作方式,7-4,8253,的应用编程,7-5 8254,简介,2,一、接口芯片的一般结构及功能,地,址,译,码,器,数据,输入/输出,状态寄存器,控制寄存器,读/写,中断控制,外设,DB,INTR,I/O,RDY,CS,INTA,M/IO,RD,WR,STB,A0A1,联络信号:,STB,RDY=1,,接口已接收数据;,=0 ,选通,输入数据,输入:,输出:,STB,RDY=1,,通知外设;,=0 , 外设已接收数据,7-,1,8253概述,3,二、简单的并行输入/输出接口,1、并行缓冲输入接口电路,输入,缓冲器,接,CPU,数据总线,执行,IN,指令时,,CPU,产生这些信号,地址总线,地址译码器,IOR,输,入,设,备,74,LS244,7-1 接口芯片的一般概念,4,2、并行输出锁存接口电路,例:执行,OUT n, AL,,输出数据控制,LED,点亮,锁存器,74,LS273,来自,CPU,数据总线,IOW,地址,译码器,地址总线,输,出,设,备,7-1 接口芯片的一般概念,5,一、功能,1、有三个独立的16位计数器,2、每个计数器都可以按二进制或,BCD,计数,3、,每个计数器的计数频率最大为2,MH,Z,4、每个计数器都有6种工作方式,通过编程设置,计数器0,计数器1,计数器2,CLK,1,GATE,1,OUT,1,CLK,2,GATE,2,OUT,2,CLK,0,时钟输入,GATE,0,门控信号,OUT,0,输出信号,A,0,A,1,RD,WR,CS,D,7,D,0,D,15, D,0,D,15, D,0,D,15, D,0,7-,1,8253概述,6,二、引脚及内部结构,数据,总线,缓冲器,读/写,控制,电路,控制字,寄存器,计数器,0,计数器,1,计数器,2,CLK,0,GATE,0,OUT,0,CLK,1,GATE,1,OUT,1,CLK,2,GATE,2,OUT,2,D,7,D,0,RD,WR,CS,A,0,A,1,A,1,、A,0,端口选择,0 0-,计数器0,0 1-计数器1,1 0-计数器2,1 1-控制端口,时钟输入,门控信号,输出信号,7-,1,8253概述,7,计数器通道结构,GATE,初值寄存器,输出锁存器,CR,CE,OL,CLK,OUT,D,15,D,14, D,0,执行部件,(减1计数器),初值寄存器:16位,可分为两个8位使用;,每个16位计数器可以按二进制计数或,BCD,计数;,计数器最大值为0000,H:,按,BCD,计数,,0000,H,表示10000,按二进制计数,,0000,H,表示65536;,7-,1,8253概述,8,8253初始化后,自动使8253复位,初始化后的第1个,CLK,,使初值置入减1计数器,当,GATE,高电平时,第2个,CLK,的下降沿使减1计数器减1;,计数器回零,输出,OUT,信号,输出锁存器跟随,CE,同时变化,当接到锁存命令,锁定当前值,直到被,CPU,读取。,计数器工作过程:,GATE,初值寄存器,输出锁存器,CR,CE,OL,CLK,OUT,D,15,D,14, D,0,执行部件,(减1计数器),7-,1,8253概述,9,硬件启动:,GATE,,分为边沿触发和电平触发,软件启动:当,GATE,高电平,置入计数初值后自启动,GATE,初值寄存器,输出锁存器,CR,CE,OL,CLK,OUT,D,15,D,14, D,0,执行部件,(减1计数器),计数器启动方式:,7-,1,8253概述,控制寄存器,(8,位,),10,一、,8253,的控制字,/,锁存字格式,SC,1,SC,0,BCD,M,0,M,1,M,2,R/W,0,R/W,1,端口选择,00 0# 计数器,01 1# 计数器,10 2# 计数器,1,BCD,计数,0 二进制计数,00 锁存,01 低8位,10 高8位,16位,(先低8位、后高8位),方式选择,0 0 0 方式0,0 0 1 方式1,X 1 0,方式2,X 1 1,方式3,1,0 0,方式4,1,0 1,方式5,7-2 8253的控制字,/,锁存字,11,写控制字,写计数值低8位,写计数值高8位,二、编程,芯片初始化,置计数初值,计数器0,计数器1,计数器2,CLK,1,GATE,1,OUT,1,CLK,2,GATE,2,OUT,2,CLK,0,时钟输入,GATE,0,门控信号,OUT,0,输出信号,A,0,A,1,RD,WR,CS,D,7,D,0,*,7-2 8253的控制字,/,锁存字,12,例、假设8253的端口地址为40,H、41H、42H,和43,H。,设计数器0通道工作在方式0,,CLK,0,外接开关,计数满1000次点亮指示灯;请编程。,第一步:首先初始化,确定工作方式,方式字:,0011 000 1(31,H),MOV AL,31H,OUT 43H,AL,第二步:装入计数初值,先低8位,后高8位,(方式0 时应装入999次,见方式0介绍),MOV AL ,99H,OUT 40H,AL,MOV AL ,09H,OUT 40H,AL,+5,V,CLK,0,计数器0,8253,计数器1,计数器2,控制端口,40,H,41,H,42,H,43,H,GATE,0,OUT,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,SC,1,SC,0,BCD,M,0,M,1,M,2,R/W,0,R/W,1,7-2 8253的控制字,/,锁存字,13,8253,的工作方式,方式0-计数结束中断方式,方式1-可重复触发的单稳态触发器,方式2-频率发生器,方式3-方波发生器,方式4-软件触发选通方式,方式5-硬件触发选通方式,不同方式下的启动计数器、,GATE,作用和,OUT,的输出波形均有所不同。,7-,3,8253的工作方式,14,方式0:计数结束中断方式,用于事件计数;,装入控制字后输出端变低电平,,初值装入后自启动,计数结束输出高电平,可作中断请求;,一次性计数,,再次写入计数初值才能重新计数,(GATE,为高电平),CLK,WR,n,=4,4 3 2 1 0,*,OUT,GATE,1,软件启动,不自动重复计数,7-,3,8253的工作方式,15,外部,GATE,启动计数,可重复触发,计数装入控制字后输出端变高电平,,计数开始输出低电平,结束后又变高,方式1:可重复触发的单稳态方式,CLK,WR,CW=10,n,=3,3 2 1 0,OUT,GATE,3 2 1 0,GATE,再次触发重新开始计数,硬件启动,不自动重复计数,7-,3,8253的工作方式,16,方式2:频率发生器,装入控制字后输出端变高电平;,装入初值自启动计数器;,(N-1),个高电平,,1,个低电平;,自动重复计数,CLK,WR,CW=10,n,=4,4 3 2 1 0,OUT,GATE,1,4 3 2 1 0,输出为输入频率的1/,n。,既可软件启动,又可硬件启动,可自动重复计数,7-,3,8253的工作方式,17,装入初值自启动计数器;,OUT,输出对称(或基本对称)的方波;,自动重复计数,作为串行通信的时钟信号,方式3:方波发生器,WR,CW=10,n,=5,5 4 3 2 1,OUT,5 4 3 2 1 5,n,为奇数,输出(,n+1)/2,和(,n-1)/2,方波,CLK,WR,CW=10,n,=4,4 3 2 1,OUT,GATE1,4 3 2 1 4,n,为偶数,输出,n/2,对称方波,既可软件启动,又可硬件启动,可自动重复计数,7-,3,8253的工作方式,18,方式4:软件触发选通方式,装入控制字后输出端变高电平;,初值装入后自启动计数器,,计数结束输出一个,CLK,宽度的负电平;,一次性计数,再次装入初值时,进行下一次计数,CLK,WR,CW=10,n,=3,3 2 1 0,OUT,GATE,1,软件启动,不自动重复计数,7-,3,8253的工作方式,19,GATE,上升沿启动计数器,,计数 回零后,输出一个负脉冲,一次性计数,,GATE,再次触发,进行下一次计数,方式5:硬件触发选通方式,CLK,WR,CW=10,n,=3,3 2 1 0,OUT,GATE,硬件启动,不自动重复计数,7-,3,8253的工作方式,20,例,7.1,计数器,0,工作于方式,3,计数初值为,3412H,按,BCD,码计数,;,计数器,2,工作于方式,2,计数初值为,67H,按二进制计数,设,8253,的端口地址为,40H43H.,请编写其初始化程序,.,计数器0,8253,计数器1,计数器2,控制端口,40,H,41,H,42,H,43,H,7-,4,8253应用编程,8253,的应用,;,计数器,0,初始化程序,:,MOV AL,,00,110111B,;0,号计数器方式,3,16,位二进制计数,OUT 43H,AL,MOV AX,3412H,OUT 40H,AL ;,先写低,8,位,MOV AL,AH ;,再写高,8,位,OUT 40H,AL,21,例,7.1,计数器,0,工作于方式,3,计数初值为,3412H,按,BCD,码计数,;,计数器,2,工作于方式,2,计数初值为,67H,按二进制计数,设,8253,的端口地址为,40H43H.,请编写其初始化程序,.,计数器0,8253,计数器1,计数器2,控制端口,40,H,41,H,42,H,43,H,7-,4,8253应用编程,8253,的应用,;,计数器,2,初始化程序,:,MOV AL, 10010100,B,;2,号计数器方式,2,8,位二进制计数,OUT 43H,AL,MOV AL,67H ;,写计数初值低,8,位,OUT 42H,AL,22,例,7.2,设,8253,的端口地址分别为,304H307H.,计数器,0,工作在方式,0,按二进制计数,计数初值为,2A3BH;,计数器,1,工作在方式,1,按二进制计数,计数初值为,4CH;,计数器,2,工作在方式,3,作为方波发生器,要求输出,40kHz,方波,已知,CLK2,时钟输入信号频率为,2MHz.,请编写完成上述功能的初始化程序,.,计数器0,8253,计数器1,计数器2,控制端口,304H,305H,306H,307H,7-,4,8253应用编程,8253,的应用,;,计数器,0,初始化程序,:,MOV DX, 0307H ;,写控制字,MOV AL, 00110000,B,;0,号计数器方式,0, 16,位二进制计数,OUT DX,AL,MOV DX, 0304H ;,写计数器,0,号的计数初值,MOV AX,2A3BH,OUT DX,AL ;,先写低,8,位,MOV AL, AH ;,再写高,8,位,OUT DX, AL,23,例,7.2,设,8253,的端口地址分别为,304H307H.,计数器,0,工作在方式,0,按二进制计数,计数初值为,2A3BH;,计数器,1,工作在方式,1,按二进制计数,计数初值为,4CH;,计数器,2,工作在方式,3,作为方波发生器,要求输出,40kHz,方波,已知,CLK2,时钟输入信号频率为,2MHz.,请编写完成上述功能的初始化程序,.,计数器0,8253,计数器1,计数器2,控制端口,304H,305H,306H,307H,7-,4,8253应用编程,8253,的应用,;,计数器,1,初始化程序,:,MOV DX, 0307H ;,写控制字,MOV AL, 01010010,B,;1,号计数器方式,1, 8,位二进制计数,OUT DX,AL,MOV DX, 0305H ;,写计数器,1,号的计数初值,MOV AL,4CH,OUT DX,AL ;,写低,8,位,24,例,7.2,设,8253,的端口地址分别为,304H307H.,计数器,0,工作在方式,0,按二进制计数,计数初值为,2A3BH;,计数器,1,工作在方式,1,按二进制计数,计数初值为,4CH;,计数器,2,工作在方式,3,作为方波发生器,要求输出,40kHz,方波,已知,CLK2,时钟输入信号频率为,2MHz.,请编写完成上述功能的初始化程序,.,计数器0,8253,计数器1,计数器2,控制端口,304H,305H,306H,307H,7-,4,8253应用编程,8253,的应用,;,计数器,2,初始化程序,:,;,产生,40kHz,方波,初值,=2MHz/40kHz=50=32H,MOV DX, 0307H ;,写控制字,MOV AL, 10010110,B,;2,号计数器方式,3, 8,位二进制计数,OUT DX,AL,MOV DX, 0306H ;,写计数器,2,号的计数初值,MOV AL,32H,OUT DX,AL ;,写低,8,位,25,输入8253的时钟频率为2,MHz;,要求计数器0 每10,ms,输出一个,CLK,脉冲宽的负脉冲;,用计数器1产生10,KHz,的连续方波信号;,计数器2在定时5,ms,后产生输出高电平;,已知端口地址为,40H,43H。,画线路连接图,并编写初始化程序,8253,应用举例,2,第,1,步:选择工作方式,计算计数初值,第,2,步:写初始化程序,7-,4,8253应用编程,26,CLK0,GATE0,OUT1,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8253,CLK2,GATE1,GATE2,+5V,CLK1,2MHz,OUT0,OUT2,?,7-,4,8253应用编程,27,第2步:初始化程序,MOV AL,,34H;,OUT 43H,AL,MOV AX,,20000,OUT 40H,AL;,MOV AL,AH,OUT 40H,AL,CNT1:,CNT2: ,第1步: 计算计数初值:,0:,方式2,20000,1:,方式3,200,2:,方式0,10000,CNT0:,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,SC,1,SC,0,BCD,M,0,M,1,M,2,R/W,0,R/W,1,7-,4,8253应用编程,28,8254,-8253,的改进型,功能特点,:,7-,5,825,4,简介,(,1,)有,3,个独立的,16,位计数器;,(,2,)每个计数器可按二进制或十进制(,BCD,)计数;,(,3,)每个计数器可编程工作于,6,种不同工作方式;,(,4,),8254,每个计数器允许的最高计数频率为,10MHz,(,8253,为,2MHz,);,(,5,),8254,有读回命令(,8253,没有),除了可以读出当前计数,单元的内容外,还可以读出状态寄存器的内容;,(,6,)计数脉冲可以是有规律的时钟信号,也可以是随机信号。,29,8254,-,内部结构,:,7-,5,825,4,简介,计数器,0,计数器,1,计数器,2,数据总线,缓冲器,R/W,逻辑电路,控制,寄存器,D7:0,内部总线,RD,WR,A0,A1,CS,CLK0,GATE0,OUT0,CLK1,GATE1,OUT1,CLK2,GATE2,OUT2,1,2,3,4,5,6,7,8,9,10,11,12,D7,D6,D5,D4,D3,D2,D1,D0,CLK0,OUT0,GATE0,GND,24,23,22,21,20,19,18,17,16,15,14,13,VCC,WR,RD,CS,A1,A0,CLK2,OUT2,GATE2,CLK1,GATE1,OUT1,8254,30,8254,-,引脚信号,:,7-,5,825,4,简介,计数器,0,计数器,1,计数器,2,数据总线,缓冲器,R/W,逻辑电路,控制,寄存器,D7:0,内部总线,RD,WR,A0,A1,CS,CLK0,GATE0,OUT0,CLK1,GATE1,OUT1,CLK2,GATE2,OUT2,1,2,3,4,5,6,7,8,9,10,11,12,D7,D6,D5,D4,D3,D2,D1,D0,CLK0,OUT0,GATE0,GND,24,23,22,21,20,19,18,17,16,15,14,13,VCC,WR,RD,CS,A1,A0,CLK2,OUT2,GATE2,CLK1,GATE1,OUT1,8254,31,编写程序,将,8254,的计数器,0,设置为方式,0,,计数值为十进制数,3,,用单次脉冲,KK1,作为,CLK0,时钟,,OUT0,连接,MIR7,,每当,KK1,按动,4,次后产生中断请求,在屏幕上显示一个字符,“,M,”,。,1,、,8254,计数应用试验,试验讲解,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,SC,1,SC,0,BCD,M,0,M,1,M,2,R/W,0,R/W,1,32,A8254 EQU 06C0H,B8254 EQU 06C2H,C8254 EQU 06C4H,CON8254 EQU 06C6H,SSTACKSEGMENT STACK,DW 32 DUP(?),SSTACKENDS,CODESEGMENT,ASSUME CS:CODE, SS:SSTACK,START:PUSH DS,MOV AX, 0000H,MOV DS, AX,;主程序:,7-2 可编程定时/计数接口芯片8253,33,MOV AX, OFFSET IRQ7;,取中断入口地址,MOV SI, 003CH;,中断矢量地址,MOV SI, AX;,填,IRQ7,的偏移矢量,MOV AX, CS;,段地址,MOV SI, 003EH,MOV SI, AX;,填,IRQ7,的段地址矢量,CLI,MOV AL, 11H,;主片,8259A,初始化,OUT 20H, AL;ICW1,MOV AL, 08H,OUT 21H, AL;ICW2,MOV AL, 04H,OUT 21H, AL;ICW3,MOV AL, 01H,OUT 21H, AL;ICW4,MOV AL, 6FH;OCW1,OUT 21H, AL,;,8259,初始化,7-2 可编程定时/计数接口芯片8253,34,MOV DX, CON8254,MOV AL, 10H;,计数器,0,,方式,0,OUT DX, AL,MOV DX, A8254,MOV AL, 03H,OUT DX, AL,;装入初值,启动计数,STI,AA1:JMP AA1,;,8254,初始化,7-2 可编程定时/计数接口芯片8253,35,IRQ7:MOV DX, A8254,MOV AL, 03H,OUT DX, AL,;装入初值,启动新的计数,MOV AX, 014DH,INT 10H;,显示字符,M,MOV AX, 0120H,INT 10H,MOV AL, 20H,OUT 20H, AL;,中断结束命令,IRET,CODE ENDS,END START,;中断服务子程序,7-2 可编程定时/计数接口芯片8253,(5),要求按动开关两次,产生中断,如何修改程序?,(6),修改程序,要求在屏幕上显示是第几次中断;,(4),改变计数值,验证,8254,的计数功能。,36,7-2 可编程定时/计数接口芯片8253,2,、,定时应用实验。,编写程序,,OUT0,为波形输出,1ms,方波,设置为方式,3,,用信号源,1MHz,作为,CLK0,时钟。,OUT0,接到发光二极管上,运行程序,观察发光二极管状态。(时钟源和,GATE,信号实验箱内部已经接好线),37,A8254 EQU 06C0H,B8254 EQU 06C2H,C8254 EQU 06C4H,CON8254 EQU 06C6H,SSTACKSEGMENT STACK,DW 32 DUP(?),SSTACKENDS,CODESEGMENT,ASSUME CS:CODE,START:MOV DX, CON8254;8254,MOV AL, 36H;,计数器,0,,方式,3,OUT DX, AL,MOV DX, A8254,MOV AL, 0E8H,OUT DX, AL,MOV AL, 03H,OUT DX, AL,AA1:JMP AA1,CODEENDS,END START,7-2 可编程定时/计数接口芯片8253,38,7-2 可编程定时/计数接口芯片8253,5,、,利用,8254,的,0#,通道来定时中断,(IRQ0),,中断后,屏幕上循环显示“,OK”,字数,直到用“,RESET”,复位停止显示。其接线见下图(本实验不用接线,内部已经接好了)。,39,A8254 EQU 06C0H,B8254 EQU 06C2H,C8254 EQU 06C4H,CON8254 EQU 06C6H,SSTACKSEGMENT STACK,DW 32 DUP(?),SSTACKENDS,CODESEGMENT,ASSUME CS:CODE,START:,;,9259A,初始化装中断向量,(0),;写控制字,ICW1 ICW2 ICW3 ICW4 OCW1,;,8254,初始化写控制字,;装入初值,AA1:JMP AA1,CODEENDS,END START,7-2 可编程定时/计数接口芯片8253,参考程序,40,例3 、,8255,A,的,A,口用于采集数据;采样周期为2,s,,现场的主时钟频率为2,MHz。,使用8253每2,s,钟发出一次中断请求信号,,CPU,响应后,通过8255,A,采集数据。8253工作于方式2。8253的端口地址为40,H、42H、44H、46H;,请初始化8253,。,CLK,0,OUT,0,CLK,1,OUT,1,8253,2,MHz,中断请求,CPU,8255A,现场,7-2 可编程定时/计数接口芯片8253,41,4、0#通道: 控制字: 00110110 36,H,初值: 40000=9,C40H,1# 通道 :,控制字:,01010100 54H,初值: 1,00=,64,H,1、8253采用级连方式,,OUT,0,接到,CLK1,端;,2、0#通道方式3,,CLK,0,接时钟2,MHz,,计数值40000,则0#的定时时间为:40000/(2*1000000)=20,ms;,3、1#通道方式2, 计数值100,则1#的定时时间为:100*20,ms,=2000ms=2S,8253,的,OUT,1,作为中断请求信号。,说明,:,7-2 可编程定时/计数接口芯片8253,42,8253初始化程序:,MOV AL,36H;,控制字,OUT 46H,AL,MOV AL,40H;,计数初值低8位,OUT 40H,AL,MOV AL,9CH;,计数初值高8位,OUT 40H,AL,MOV AL,54H;,控制字,OUT 46H,AL,MOV AL,64H;,计数初值低8位,OUT 42H,AL,7-2 可编程定时/计数接口芯片8253,43,8255,A,PA,7,PC,6,PC,0,OUT,0,GATE,0,CLK,0,8253,1,ms,地线,例4、,8253计数器0方式3(方波发生器),使用1,ms,脉冲源,定时1分钟,用8255,A,的,PC,6,提供,GATE,0,,,在定时期间,由,PA,7,控制的指示灯亮,对,OUT,0,的检测通过,PC,0,进行,定时结束灯灭。,8255,A,方式字 : 10000001,81,H,PC,6,置1:0,DH,8253,控制字 : 00110110,36,H,初值 :1分钟/1毫秒=,EA60H,8255,A,端口地址为60,H63H;,8253,端口地址为40,H43H,7-2 可编程定时/计数接口芯片8253,44,例4程序:,MOV AL,88H ;8255A,控制字,OUT 63H,AL,MOV AL,36H ;8253 0#,控制字,OUT 43H,AL,MOV AL,60H ;,计数初值低8位,OUT 40H,AL,MOV AL,0EAH;,计数初值高8位,OUT 40H,AL,MOV AL,0DH ;GATE,0,=1,OUT 63H,AL,MOV AL,80H ;,灯亮,OUT 60H,AL,LOP1: IN AL,62H ;,等待半分钟高电平结束,AND AL,01,JNZ LOP1,LOP2: IN AL,62H ;,等待半分钟低电平结束,AND AL,01,JZ LOP2,MOV AL,00H ;,灯灭,OUT 60H,AL,HLT,7-2 可编程定时/计数接口芯片8253,45,7.2 7.7 7.8,作业,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!