一种基于MCS—51单片机的数字可调脉冲发生器的设计实现 下载本文

内容发布更新时间 : 2024/5/24 4:13:20星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

一种基于MCS—51单片机的数字可调脉冲发生器的设计实现

作者:高敏

来源:《数字技术与应用》2016年第08期

摘要:脉冲发生器在自动化控制领域有着非常广泛的应用,而传统的脉冲发生器操作复杂且造价较高,并且精确度不能够保证,本文以MCS-51单片机为基础设计出了一种可调式的数字脉冲发生器,对幅值、频率和输出宽度进行调整且输出精度高,不需要人工调节自动化程度较高。可以应用在很多实用到脉冲发生器的场合,并且造价较为低廉。为可调式脉冲发生器的设计与应用提供可具体实践的技术解决方案。

关键词:可调式数字脉冲发生器 MCS-51 ADC0809 LED显示器

中图分类号:TN782 文献标识码:A 文章编号:1007-9416(2016)08-0204-01 1 引言

可调式的脉冲发生器在各个领域中的自动化仪器控制过程中具有十分广泛的应用,比如在速度控制过程中经常用的步进电机的控制,步进电机可以利用脉冲调制技术来为自身提供适量的脉冲,从而实现对于控制角度与速度的控制。一般情况脉冲信号发生器都是通过定时器来进行控制的,利用电位器对幅值和频率进行调整。但是电位器的对频率和幅值调控不是很精确,而利用单片机对数字可调的脉冲发生器进行控制能够获得较好的效果。本文结合数字电位器,来代替以往精度不高的机械式的电位器,利用51单片机进行控制,进而可以试点数字脉冲器的幅度、频率和宽度是可调的。 2 系统需求分析与总体设计

本文利用51单片机来实现数字可调式脉冲器的设计与实现,系统的设计主要包括系统的硬件设计以及软件设计两个部分,硬件部分包括单片机、脉冲发生器、AD转换器、LED显示模块;软件部分主要是单片机对外围各个模块电路的控制实现脉冲信号的产生、转换以及显示灯。本文所设计的系统主要是利用单片机控制脉冲发生器产生脉冲,利用可调式的数字电位器的控制实现对脉冲的幅值、频率以及宽度的控制。本文利用51单片机以及ADC模数转换器来实现产生数字脉冲信号,并由LED液晶显示。 3 系统硬件设计

控制电路主要由以下部分组成:单片机定时器以及IO口组成了脉冲发生器,这是脉冲发生器的主要组成部分;将键盘作为一种可调式的交互式的设备;脉冲参数信息可以通过LED

龙源期刊网 http://www.qikan.com.cn

进行显示;可以通过单片机控制作品在IO引脚输出相应的高低电平,可以产生方波信号;可以十分方便的输出脉冲,编写程序使单片机某一 I/O 执行高低电平输出,产生方波脉冲输出;可以利用对数字电位器的控制实现对脉冲信号的幅值的控制;利用A/D模数转换器将输出的脉冲进行采集会送到单片机中;单片机对外围电路之间的通信是通过I2C总线进行通信的。存储器可以存储脉冲参数的信息,单片机可以读取该信息并可进行显示。 3.1 单片机选型

本系统使用的是MCS-51单片机作为系统的控制核心,数字电位器选择是MCP4561,选择的是8位的8个通道的ADC0809模数转换器, 通过单片机输出高低电平能够较为方便的阐述一定宽度的脉冲,脉冲的宽度和频率是通过定时从单片机的引脚上输出高低电平来实现。然而所选的单片机由于IO资源是有限的,因而要实现对所有用到的外围电路的控制,译码器以及地址锁存器是必须的。本文所选择的地址锁存器为74HC138,能够较好的利用单片机有效的引脚资源。系统选择的译码器为74HC373,并且可以利用LED显示脉冲的参数。 3.2 脉冲发生器设计

MCP34063数字电位器可以通过单片机的数字信号来对输出的阻值进行控制,通过对电位器的控制进而控制输出的电压。与传统的机械式的电位器相比具有控制简单受操作影响较小精度高等特点,通过单片机与数字电位器的连接不仅能够达到较高的输出阻值的精度,还能够实现阻值调整的自动化进行不需要人工的参与。数字电位器不仅可以作为变阻器使用还可以作为电位器来使用。因为本文主要使用的是电阻器,因而将数字电位器作为电阻器来使用,按照电阻器接线的方式来进行硬件的连接。数字电位器与单片机之间的连接是通过I2C总线。通过对电阻器的调节就能够调节输出电压的幅值。但是一般情况下单片机的I/0口所能够输出的电压幅值十分有限,输出电流值的大小也十分有效,因而一般采用连接运算放大电路的形式,来对脉冲信号进行放大。本系统所选择的运算放大器为LM2904通过计算能够在满足输出电压幅值的情况下不失真。 3.3 A/D转换模块选型

由于系统所要处理的信号为多路的模拟信号,本系统选择了8位8路的ADC0809 A/D。ADC0809是一种CMOS电平器件。采用的是逐次逼近的算法来对电压进行转换,在A/D内部有8路的模拟开关,因而可以对8路的模拟信号进行转换,一次转换的时间大约为100微秒。另外其输出还有TTL三态锁存器,转换之后数据的输出是直接和单片机的P1.0-P1.7七个引脚相连的;地址线的连接通道中的A、B、C是直接和单片机地址线中的A2、A1、A0依次连接,三位地址线正好可以选择ADC中8个通道中的任意一个通道;将ADC0809 的 ALE 与START相互连接,那么地址线上输出信号经过锁存器之后就开始进行转换。ADC0809不存在片选端,因而只要START信号是有效的那么ADC0809就是开始转换。为了能够对转换进行有效的控制,在系统设计的过程中将单片机的最高位的地址线作为片选信号。ADC0809地址的锁存以及启动转换控制是由片选信号线与WR信号来综合控制的,三态输出锁存器是由OE

龙源期刊网 http://www.qikan.com.cn

片选以及片选信号线和RD段来进行控制,最终可以获取A/D的信号转换的结果。通过中断控制可以在转换结束之后及时获取ADCD的转换结果。单片机的外部中断的触发方式设置为低电平触发,将EOC经过反向器接到单片机的外部中断INT0引脚上。在开启ADC的转换之后,单片机可以处理其他事件,当ADC转换结束的时候,EOC引脚会产生一个从低电平向高电平跳变的信号,该信号经过反向器连接到单片机的INT0引脚,单片机接收到了这个外部中断信号就会产生中断。在前期一定要将CPU设置为开中断模式,并且要允许外部INT0中断,如果没有更高级别的中断,那么单片机就会执行该中断所指向的中断服务函数,在中断服务函数执行的过程中活得到转换的结果。 3.4 LED显示电路

本文选择了SN74HC273作为系统的锁存器。利用两个D触发器作为一个LED显示屏的控制端,其输入端接到单片机的数据总线P0.0~P0.7。利用CLK0~CLK5 可以对控制信号进行锁存,通过对SN74HC273的控制就可以将所需要显示的内容显示到系统的显示屏上。由于总共需要显示三个参数因而需要三个显示屏和六个锁存器。可以分别显示所输出脉冲的频率、幅值和宽度。 4 软件设计

软件设计包括系统主程序的设计在main实现,脉冲产生程序、数据采集转换程序、显示程序与数字电位器控制程序几部分组成。开发环境选择的是Keil软件的版本4。经过软件的初始化系统开始等待中断在中断服务程序中完成各个子程序。硬件初始化以及子程序的调用等都是在主程序中完成的。程序的流程包括AD转换,并将输出信号的数值读回到单片机中。显示子程序可以完成对所输出脉冲参数信息的输出。数字电位器可以通过单片机输出的控制信号来对输出脉冲的幅值按照既定的程序进行调整。外部中断子程序包括按键控制中断、AD转换结束中断和定时器中断等。最终脉冲通过IO口输出,需要两个定时器,采用的是单片机定时器的T0和T1。 5 结语

系统利用MCS-51最为可调式脉冲发生器的控制核心,利用单片机对外围芯片的控制作用包括ADC、数字电位以及LED的操作实现输出频率、宽度和幅值可调信号发生器。本文所设计的数字可调式的脉冲发生器具有可编程、自动化程度高、脉冲输出参数可调以及精度高等优点。可以应用在很多实用到脉冲发生器的场合,并且造价较为低廉。为可调式脉冲发生器的设计与应用提供可具体实践的技术解决方案。 参考文献

[1]史宏江,张春华,杨文景,李铁军,闫国兴.新型脉冲发生器的研制[J].机械制造,2013(10).