8253方波实验
- 格式:doc
- 大小:50.00 KB
- 文档页数:4
四、8253方波实验
一、8253芯片介绍
引脚图
二、仿真图
三、8253工作方式
8253共有六种工作方式:计数结束中断方式、可编程单稳态输出方式、比率发生器、方波发生器、软件触发选通、硬件触发选通
(1)工作方式0:
工作方式0被称为计数结束中断方式。
当任一通道被定义为工作方式0时,OUT输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值使WR有效时,OUT仍保持低电平,之后的下一时钟周期下降沿计数器开始减“1”计数,直到计数值为“0”,此刻OUT将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUT端输出的高电平一直维持到下次再写入计数值为止。
(2)工作方式1:
工作方式1被称作可编程单稳态输出方式。
进入这种工作方式,CPU装入计数值n后OUT输出高电平,不管此时的GATE输入是高电平还是低电平,都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUT输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”,OUT输出由低电平向高电平跳变,形成输出单脉冲的后沿,因此,由方式l所能输出单脉冲的宽度为CLK周期的n倍。
(3)工作方式2:
工作方式2被称作比率发生器。
进入这种工作方式,OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变;待计数值减到“1”和“0”之间,OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUT将输出一定频率的负脉冲序列,其脉冲宽度固定为一个CLK周期,重复周期为CLK 周期的n倍。
(4)工作方式3:
工作方式3被称作方波发生器。
任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。
进入工作方式3,OUT输出低电平,装入计数值后,OUT立即跳变为高电平。如果当GA TE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLK周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。
(5)工作方式4:
工作方式4被称作软件触发选通。
进入工作方式4,OUT输出高电平。装入计数值n后,如果GA TE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUT输出宽度为一个CLKi周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作,必须重新置入计数初值n。如果在操作的过程中,GA TE变为无效,则停止减“1”计数,到GA TE再次有效时,重新从初值开始减“1”计数。
(6)工作方式5:
工作方式5被称为硬件触发选通式。
进入工作方式5,OUT输出高电平,硬件触发信号由GATE端引入。因此,开始时GA TE应输入为0,装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GA TE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”,OUT将输出负脉冲,其宽度固定为一个CLK周期,表示定时时间到或计数次数到。
四、实验程序如下:
ORG 0000H
AJMP START
ORG 000BH ;T1中断服务程序入口地址
AJMP T0INT
START:
MOV DPTR, #0FFFFH
MOV A,#00100101B ;选择计数器0,只读写计数器高字节,方式2,BCD码计数
MOVX @DPTR, A
;***********计数器0对P1.0口送来的脉冲进行100次分频*********
MOV A,#01H ;写计数器0的高字节
MOV DPTR, #3FFFH
MOVX @DPTR, A
MOV A,#01010111B ;选择计数器1,只读写计数器低字节,方式3,BCD码计数
MOV DPTR, #0FFFFH
MOVX @DPTR, A
;***********计数器1对计数器0送来的脉冲进行10次分频*********
MOV A, #10H
MOV DPTR, #7FFFH
MOVX @DPTR, A
MOV SP,#60H ;初始化程序,把堆栈的栈顶部上调,以避开工作寄存器区
MOV TMOD,#00H ;设置T0工作于定时方式1
MOV TH0,#0F0H ;设置加1计数器的计数初值高字节
MOV TL0,#0CH ;设置加1计数器的计数初值低字节
SETB TR0
SETB ET0
SETB EA
MAIN: AJMP MAIN
T0INT:
CPL P1.0 ;P1.0取反送P1.0
MOV TL0, #0CH
MOV TH0, #0F0H
RETI
END
五、调试结论
利用8253实现方波发生器,由于没有用到蜂鸣器,故利用二极管的通断来反应方波发生器的成功实现,但在用二极管实现时,需注意频率的问题,如果频率过大,会导致效果不明显甚至看不到。本次实验能成功实现二极管的关断与导通,并且效果较明显。