首页 百科知识 编程与应用

编程与应用

时间:2022-10-17 百科知识 版权反馈
【摘要】:① 输入控制字:通过控制字可设置计数通道、I/O方式、工作方式和计数方式等。根据要求,可选择8253的工作方式为3,初值N=1000000/500=2000,程序设计如下:例6-3 已知8253的CLK=1MHz、=320H~323H,要求用8253连续产生10秒的定时信号,设计其延时线路和编写相应的控制程序。在微机中,8253的3个计数器功能及参数设置如下:CNT0:电子钟时间基准,I/O口地址为40H,工作方式控制字为36H,工作方式3,二进制计数,计数器初值216,输出频率=1.19MHz/216=18.2Hz。

6.2.4 8253编程与应用

img418

8253芯片没有RESET复位信号,当加电开机后其工作方式是不确定的,为了正常工作,CPU必须送出相应的控制字,以设置8253的工作方式和计数方式等。

8253的编程比较简单,一般过程如下:

① 输入控制字:通过控制字可设置计数通道、I/O方式、工作方式和计数方式等。计数方式根据计数范围来选择,当计数范围大于9999时必须采用二进制计数方式,计数范围小于9999时用二进制或二-十进制均可。

② 写入初值:初值根据要求的输出频率或时间间隔来确定,计算公式为:

N=fi/f0  或  N=T0/Ti (f0为要求输出的频率,fi为8253输入频率)

如fi=1MHz,要求输出800Hz的方波信号,则N=1000000/800=1250。在写入初值时必须先写低8位,然后再写入高8位。

例6-2 某工业控制系统需要通过8253的2#通道输出500Hz的连续方波作为系统时钟信号,已知8253的输入CLK=1MHz、Gate=1,img419 =320H~323H,设计8253控制程序。根据要求,可选择8253的工作方式为3,初值N=1000000/500=2000,程序设计如下:例6-3 已知8253的CLK=1MHz、img420=320H~323H,要求用8253连续产生10秒的定时信号,设计其延时线路和编写相应的控制程序。

8253一个通道的最大计数范围为0~65 535,而初值N=10/10-6=107,超过了8253最大计数值,因此只能使用两个8253通道级联。级联线路如图6.23所示,若级联后两个通道的初值为N1和N2,则N=N1×N2。

设计数器初值N1=500、N2=20000,选择方式2,则控制程序如下:

img421

img422

img423

图6.23 8253通道级联

在虚拟仪器中,可用8253来制作频率测定仪、周期测定仪等与时间有关的参量,这需要添加适当的开门控制电路,这部分内容详见虚拟仪器部分。在微机中,8253的3个计数器功能及参数设置如下:

CNT0电子钟时间基准,I/O口地址为40H,工作方式控制字为36H,工作方式3,二进制计数,计数器初值216,输出频率=1.19MHz/216=18.2Hz。

CNT1:动态RAM刷新定时,I/O口地址为41H,工作方式控制字为54H,工作方式2,二进制计数,计数器初值为12H,输出脉冲周期为15.12μs,脉宽为840ns。

CNT3:扬声器音频控制,I/O口地址为42H,工作方式控制字为B6H,工作方式3,二进制计数,计数器初值为533H,输出信号频率约1kHz。

工作方式控制字寄存器的I/O口地址为43H。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈