一、实验目的与要求学习8253可编程定时器/计时器定时方法
学习8253多级串联实现大时间常数的定时方法
学习8086/86控制8253可编程定时器的方法
二、实验内容用8253对标准脉冲信号进行计数,就可以实现定时功能
用板上的1MHz作为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒针高/1秒钟低得脉冲信号
因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的技术,实现每一秒输出状态发生一次反转
1、实验电路2、实验连线8253的CS,接地址译码CS4,8253_GATEO,接VCC(是+5V),8253_GATE1,也接VCC(是+5V)
8253_CLK1,接1MHz
具体连线见下表:3、实验原理8253即可做定时器又可作计数器:(1)计数:计数器装入初值后,当GATE为高电平时,可用外部事件为CLK,脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,在OUT端输出一个标志信号
(2)定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号
8253控制字4、实验程序框图三、实验程序与注释CONTROLequ0c003h;控制口地址COUNT0equ0c000h;计数器0地址COUNT1equ0c001h;计数器1地址COUNT2equ0c002h;计数器2地址codesegmentassumecs:codestartprocnearmoval,36H(00110110B);计数器0,16位,方式3,二进制movdx,CONTROLoutdx,al;将控制字写入控制寄存器movax,1000;在计数器0中写入初值movdx,COUNT0outdx,al;计数器低字节moval,ahoutdx,al;计数器高字节moval,76H(01