嵌入式 > 技术百科 > 详情

一种占空比可调脉冲发生器的模块设计

发布时间:2023-01-30 发布时间:
|

占空比可调的脉冲发生器在目前的测试领域已经得到广泛的应用,这种脉冲发生器的性能相对稳定,且工作范围宽泛,适应性好,能够有效帮助工程师完成测试工作。本文将会就一种基于8255、8253芯片的占空比可调发生器的模块设计,展开介绍,希望能够对各位工程师的设计工作有所帮助。

在本案例中,我们主要使用8255以及8253芯片来产生脉宽可调的脉冲信号,并在此基础上进行这种占空比可调的脉冲发生器的模块设计。本案例的设计原理是,使用8253芯片计数器0产生低频率的方波信号,然后叠加一个矩形波,使其能够成为一个改变分频就可以改变占空比的矩形波。再将该矩形波作为计数器1产生的输入信号,使计数器1产生脉宽可调的脉冲信号,并把该脉冲信号接到8255的一个引脚PB0上,然后运用程序查询方式循环检测这个引脚高、低电平持续时间。随后,系统将会利用芯片8259的中断功能,循环扫描芯片8253计数器1的分频数,通过分频数计算占空比的值。在BX中存放分频数NUM,在CX中存放NUM-1。然后将BX中的数扩大100倍后,再除以CX中的值,以此来计算出被扩大100倍后的占空比并进行显示。在完成了占空比准确数值的测试、计算和显示后,系统会将前面得到的准占空比除以10,再将AH中的结果存到CH中,将AL中的结果存到CL中,最后,由8279芯片将最终结果显示到数码管上。

首先我们来看这种占空比可调脉冲发生器的主模块设计情况。在该种脉冲发生器的主程序中,我们的主要目的是通过程序设置来实现各个芯片的初始化。为了达到这种目的,我们可以将8253芯片的计数器0设置为工作方式3、低8位读写、二进制计数方式,使其输出方波在与一个矩形波叠加产生新的矩形波。然后再将该矩形波作为计时器1的输入信号,并将计数器1设置为工作方式2、低8位读写、十进制计数方式,使计数器1产生低频率符合要求的脉冲信号。

该种脉冲发生器的数据结构部分设计也相对简单。在主模块的设计已经完成的前提下,我们可以用BX寄存器存储当前的分频数,用CX寄存器存储当前分频数减一数。在内存中开辟了一个字节空间DISBUF,用来存放每种模式所要显示的结果在TAB表中的编码,在中断服务程序中通过按照这个空间中的8个编码查表显示数码管上所要显示的结果。在该系统中,脉冲发生器的数据采集模块采用程序查询方式,循环检测8253芯片计数器1的分频状态。记录当前分频数NUM,并保存到BX寄存器。

计算占空比模块的设置也同样需要满足芯片设置和初始化要求。为了使设计的脉冲发生器符合占空比可调的要求,我们采用如下方法完成设置:首先将BX中的数减一得到的数存入CX中,然后,将BX中的数乘以100,再除以CX中的值,以此来计算出被扩大100倍后的占空比。接下来就是显示正确的占空比,将前面的到的准占空比除以10,再将AH中的结果存到CH中,将AL中的结果存到CL中。


最后是脉冲发生器的显示模块设置。在这里我们可以根据CH、CL中的值,由8279芯片查表后将对应的数据显示到数码管上,以得到最后的正确结果。

在本次设计的过程中,该种占空比可调的脉冲发生器工作主流程图如下图图1所示,脉冲发生器的采集数据模块、计算占空比模块的工作流程图如下图图2所示。


图1占空比测量的主流程图


图2数据采集模块及计算占空比模块流程图

在本次占空比可调的脉冲发生器设计过程中,我们主要用到了四个不同型号的芯片,分别是8259可编程中断控制器、8255可编程并行接口芯片、8279键盘/显示芯片以及8253定时/计数器。其中,8255可编程芯片的A、B、C端口及控制端口的地址为分别为200H、201H、202H、203H。键盘/显示芯片8279的数据端口地址为210H,控制端口地址为212H。定时/计数器芯片8253的端口地址为228-22BH。芯片8259的端口地址为220H。这四种芯片的具体连接情况如图3所示。


图3 硬件连线图

以上就是本文就一种使用8255、8253芯片的占空比可调发生器的模块设计,所进行的简要介绍,希望能够对各位设计人员的研究工作有所帮助。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
stm8-MC KIT库中的主动刹车