当前位置:文档之家› 一种基于MCS_51单片机的数字可调脉冲发生器的设计实现

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

虞立工(杭州华日电冰箱股份有限公司 杭州 310019)摘要:介绍了以MCS-51单片机为主控器,以MCP4561数字电位器为核心实现可调数字式脉 冲发生电路的设计。

该系统电路简单、可靠,脉冲信号频率、脉宽和幅值可调,输出波形平稳。

关键词:MCS-51单片机; 脉冲发生器; 数字电位器Abstract :In this paper, it introduces the design of a controllable digital pulse generator circuit which is based on MCS-51 single chip microcomputer as the main controller and MCP4561 digital potentiometer as the core. The result shows that it is of simplicity and reliability, and pulse frequency, pulse width and signal amplitude can be adjusted and the output waveform is smooth.Key words:MCS-51 single chip microcomputer; pulse generator; digital potentiometer引言脉冲信号发生器在工业应用、生物医学、家用电器控制等领域中,有着广泛的应用。

在控制步进电机运行 过程中,脉冲发生器可以发出脉冲信号,按照步进电机的结构特点,顺序分配脉冲,实现控制角位移、旋转速度、旋转方向。

大部分的脉冲信号发生器是利用定时电路产生脉冲,而频率和幅值都是用电位器进行调节。

而机械接触式的电位器可靠性和精度不高,而用单片机在软件方面实现数字可调又会耗费很多编程人员的很多时间和精力。

本文介绍采用Microchip 公司的MCP4561数字电位器,来代替机械接触式的电位器,用MCS-51单片机控制,实现输出脉冲信号的脉宽、频率和幅值可调。

1系统组成及原理本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成脉冲信号的转换、采集,以及各种信息的显示;软件主要完成脉冲信号的产生、处理以及各外围芯片的控制功能等。

本系统的原理是通过MCS-51单片机产生脉冲信号,经过数字电位器阻值调整放大,输出幅值、频率、宽度可调的方波一种基于MCS-51单片机的数字可调脉冲发生器的设计实现51单片机键盘LED 显示电路脉冲输出接口电路EEPROMADC0809脉冲输出采集,由LED 显示出来。

2硬件电路的设计数字脉冲发生电路如图1所示。

控制电路主要由以下部分组成:①MCS-51单片机,利用两个定时/计数器由I/O 口产生脉冲,并对整个系统进行控制;②键盘按键输入,作为人机交互界面,根据按键的输入信息可以调节脉冲宽度和频率;③LED 显示,当前脉冲参数信息通过LED 指示输出;④EEPROM,存储脉冲发生的参数信息;⑤控制脉冲输出,编写程序使单片机某一I/O 执行高低电平输出,产生方波脉冲输出;⑥数字电位器,通过阻值的变化,实现脉冲频率和幅值的可调;⑦ADC0809,信号进行处理采集,再送回单片机;⑧I 2C 总线,单片机通过发出不同的地址信号来选通相应的I 2C 器件进行数据通信。

2.1 单片机控制系统本系统采用了MCS-51单片机,配合数字电位器芯片MCP4561、8位8通道A/D 转换芯片ADC0809,利用单片机的I/O 口可以很方便的产生脉冲,脉冲宽度和频率可以随意调整,脉冲形状好。

但是51单片机的I/O 口数量有限,要完成各部分电路的控制,需要有地址锁存器以及地址译码器。

本文采用74HC138作为地址锁存器,从而实现总线的复用。

使用74HC373作为地址译码器,提供LED 显示,EEPROM 的片选信号。

2.2 数字电位器控制及脉冲幅值调节电路MCP34063是一款数字电位器,它是用一种数字信号控制输出阻值改变的器件,也可以把输出转变为电压或者电流。

与机械电位器相比,不但具有耐冲击、抗振动、噪声小,而且由数字信号进行控制,可以很方便的与单片机接口,由编程精确控制输出阻值,从而实现自动化控制。

数字电位器的应用可以分为两类:变阻器模式和电位器(或分压器)模式。

本系统将其用作变阻器模式,电位器用作双端点电阻元件,未用的端点连接到抽头上。

MCP34063通过I 2C 总线单片机相连,可以由软件设置其阻值输出。

由于设计要求,需要将输出幅度连续可调。

单片机I/O 口上输出的电流在通过分压电路后得到的输出电压幅值很小,本系统采用增益可调放大电路,从而放大脉冲信号。

LM2904作为运算放大器,可以满足信号输出不失真的要求。

数字电位器电路图如图2所示。

2.3 A/D 转换模块由于本系统需处理多路模拟信号,故采用ADC0809 A/D 转换模块。

ADC0809是带有8位A/D 转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。

它是逐次逼近式A/D 转换器,其片内带有锁存功能的8路模拟开关,可对8路0~5V 的输入模拟电压信号进行转换,完成一次转换约需100us。

其输出具有TTL 三态锁存缓冲器,它的数据输出端D7~D0直接与51单片机的数据总线P0.7~P0.0相连;通道地址输入端A、B、C 分别与单片机的地址总线的低三位A0~A2相连,以选通ADC0809的8个通道中的一个;ADC0809的ALE 与START 连在一起,则在锁存通道地址的同时便启动转换开始。

由于ADC0809没有片选信号,任意时刻,只要START 有效,ADC0809立即启动转换。

为了有效的控制转换的进行,本系统将51单片机地址总线的最高位A15即P2.7作为片选信号。

ADC0809的地址锁存和转换启动信号由片选信号P2.7与写信号WR 共同控制,而三态输出锁存缓冲器输出允许控制信号OE 由片选信号P2.7与读信号RD 共同控制,以实现A/D 转换结果的获取。

单片机通过中断方式读取ADC0809的转换结果。

单片机外部中断触发方式为负跳变触发方式下,EOC经过一个反向器接到51单片机的中断请求输入端INT0上。

单片机启动A/D转换后可以做其他工作,当A/D转换结束时,EOC端的信号产生一个由低到高的正跳变,经反向器SN74HC04传输到INT0端,单片机便收到了这个中断请求信号。

如果此时单片机的CPU设置为开中断状态,并且允许INT0中断,又没有高一级或同一级的其他中断正在服务,则CPU立即执行INT0中断服务程序,在中断服务程序中读取A/D转换结果。

ADC0809与单片机接口电路如图3所示。

2.4 LED显示屏电路(图4)SN74HC273为8路边沿触发D型触发器,带有锁存的作用。

每两块SN74HC273芯片控制一个LED显示屏,其输入端接在图 3 ADC0809与单片机接口电路参考文献[1] 王忠飞, 胥方, 计时鸣等. MCS-51单片机原理及嵌入式系统应用[M].西安:西安电子科技大学出版社, 2007.[2] 沙占友. 数字电位器设计原理与应用[M].北京:北京机械工业出版社, 2007.[3] 孟海涛. 可调数字式刺激脉冲发生电路的设计与实现[J].盐城工学院学报(自然科学版), 2008, 21(4):54-56.[4] 徐珉, 郑文棋. 基于单片机的低压脉冲发生器研制[J].电气自动化设备, 2009, 29(3): 119-121.[5] 夏莉英, 陈雁. 基于ADC0809的模拟电压采样测量方法[J]. 福建电脑, 2008: 166-167.[6] 郭天祥. 51单片机C 语言教程[M]. 北京:电子工业出版社, 2009.开始单片机初始化设定数字电位器电阻值读取EEPROM 参数数值P1.3,P1.4发送脉冲调用数据采集与A/D 转换子程序调用显示子程序数据处理子程序按键判断图 5 主程序流程图数据总线P0.0~P0.7。

通过CLK0~CLK5锁存控制信号,控制SN74HC273芯片,将需要显示的数据显示于LED 显示屏上。

本系统共3个LED 显示屏,需要6路锁存控制信号。

3个显示屏分别显示当前脉冲的频率、脉宽和幅值。

3软件设计本系统软件主要由主程序、脉冲发生子程序、数据采集与A/D 转换子程序、显示子程序、数字电位器阻值设定程序五大模块组成。

软件采用C 语言编写,在Keil Vision4版本的集成开发环境下进行编译连接。

软件系统在初始化单片机及周边芯片后,通过中断调用函数完成各项功能。

主程序主要完成硬件初始化、子程序调用以及读取EEPROM 参数数值等功能。

主程序流程图如图5所示。

(1)A/D 转换子程序:A/D 转换子程序根据输入参数对输入的模拟信号进行量化处理,并将相应信号的数值返回主程序。

(2)显示子程序显示子程序主要完成对数值的显示输出。

(3)数字电位器设定子程序通过对数字电位器的阻值进行设定,利用单片机外围电路对输出脉冲幅值进行控制。

(4)外部中断子程序中断子程序包括键盘中断、ADC 中断、定时/计数器中断。

脉冲发生通过I/O 口模拟输出,占用两个定时/计数器中断。

T0和T1都工作在模式1为全16位计数器模式,计数源使用单片机内部时钟脉冲。

4 结语本文阐述了用MCS-51单片机作为控制核心,利用芯片内部功能及外围信号调制电路和A/D 转换电路,输出幅值、频率、脉宽可调的方波脉冲信号。

同时MCS-51单片机对信号进行处理采集,由LED 显示出来。

本系统可靠性高、显示精确、成本低、体积小、操作简单。

本系统的实例运用在无霜电冰箱对电动风门的控制上,控制精度高、可靠性高,尤其适合需要应用模糊控制、智能控制等的工作场所。

该系统不仅可以用于提供驱动步进电机的脉冲信号,还可以用于其他学科领域。

相关主题