基于单片机的两相脉冲方波电路设计.docx
- 文档编号:9195128
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:23
- 大小:314.97KB
基于单片机的两相脉冲方波电路设计.docx
《基于单片机的两相脉冲方波电路设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的两相脉冲方波电路设计.docx(23页珍藏版)》请在冰点文库上搜索。
基于单片机的两相脉冲方波电路设计
题目基于单片机两相脉冲方波输出电路硬件开发
内容摘要
本文设计的是一个方波发生器,两相输出相位差π/2,可用于模拟增量式旋转编码器的A、B两相脉冲。
用BCD码拨盘来设定和显示方波的周期,主控制模块是兼容于51系列的微处理器模块AT89C52,此单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点。
在此自动控制设备中,采用光电耦合器实现弱电系统与强电系统的通道之间的隔离;同时运用了继电器方式的开关量输出,解决了从低压直流到高压直流的过度,从而保证了电子电路和人身的安全。
关键词
相位差;方波;AT89C52;光耦隔离
Thehardwaredevelopmentoftwo-phasepulsesquarewaveoutputcircuitbasedonSCM
Abstract
Inthispaper,thedesignisasquarewavegenerator,anditusesBCDdialwithpaneltocontrolanddisplayfrequencyofsquarewave,andthemastercontrolmoduleisbasedon51seriesofmicroprocessormoduleAT89C52devices,andthesingle-chipmicrocomputerhashighlevelofintegrationandpowerfulfunction,highreliability,smallvolume,lowpowerconsumption,easytouse,cheapandsoonaseriesofadvantages.
Intheautomaticcontrolequipment,theopticalcouplersolvestheprobleminvolvingthechannelisolationtechnology,andatthesametime,usingthewayofrelayswitchingoutputhassolvedthetransitionfromlowvoltageDCtohighvoltageDC,soastoensurethesafetyoftheelectroniccircuitandpersonal.
Keywords
phasedifference;squarewave;AT89C52;lightcouplingisolation
第一章概述
单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉冲调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
波形发生器即简易函数信号发生器,是一个能够产生多种波形,如三角波、锯齿波、方波、正弦波等波形电路。
函数信号发生器在电路实验和设备仪器中具有十分广泛的用途。
通过对函数发生器的原理以及构成分析,可设计一个能变换出三角波、锯齿波、方波、正弦波的函数波形发生器。
在工业生产和科研中利用函数信号发生器发出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品进行指数验证、参数调整及性能鉴定。
常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不仅参数准确度难以保证,而且体积和功耗都很大,而由数字电路构成的低频信号发生器,虽然其性能好但体积较大,价格较贵,因此,高精度,宽调幅将成为数字量信号发生器的趋势。
本文介绍的是利用89C52单片机和BCD码拨盘产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。
文中简要介绍了BCD码拨盘的结构原理和使用方法,89C52的基础理论,以及与设计电路有关的各种芯片。
文中着重介绍了如何利用单片机控制BCD码拨盘产生上述信号的硬件电路。
信号频率幅度也按要求可调,该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
本设计核心任务是:
以AT89C52为核心,结合BCD码拨盘和光耦合器等器件,用仿真软件设计硬件电路,用汇编语言编写驱动程序,以实现程序控制产生方波的低频信号。
可以通过BCD码拨盘的按键输入任意频率值。
第二章系统硬件设计
2.1设计方案
(1)利用AT89C52单片机采用程序设计方法产生脉冲方波,再通过显示设备二极管显示出来,通过按键和显示数字来控制方波的频率。
微处理器模块AT89C52,频率与占空比信息显示模块,2×4BCD拨码盘模块。
本设计中用到两个定时器,定时器0和定时器1,其中定时器0工作在定时方式下,决定方波的频率;定时器1同样工作在定时方式下,用于设定占空比。
用拨盘数字显示频率与占空比的关系比例,按键的操作是通过外中断与单片机共同控制的。
设计要求
1)、利用单片机采用软件设计方法产生方波
2)、方波的频率可通过按键调节
(2)该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用BCD码拨盘的数字显示对频率的控制,终端通过二极管可以检测到方波的产生的方案,即构成所需波形发生器。
其构成原理框图如图2—1所示
单片机89C52
二极管显示
按键
频率与频率与
占空比占空比
图2—1方波信号发生器设计原理框图
在信号发生器中,只用到片内中断请求,即是在AT89C52输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C52等待,直到定时器计时结束,产生中断请求,AT89C52相应中断,接着输出下一个信号波形,如此循环。
当有按键按下时,产生外部中断请求信号,CPU暂停当前工作,处理中断请求,重新装入定时初值,开始定时。
2.2器件选择
2.2.1单片机芯片内部结构简介
AT89C52单片机是一种高性能8位单片微型计算机。
它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的微型计算机,而且价格便宜。
1)、中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
2)、数据存储器(内部RAM):
数据存储器用于存放变化的数据。
AT89S51中数据存储器的地址空间为256个RAM单元,但其中能为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
3)、程序存储器(内部ROM):
程序存储器用于存放程序和固定不变的常数等。
通常采用只读存储器,且其又多种类型,在51系列单片机中全部采用闪存。
AT89S51单片机内部配置了4KB闪存。
4)、定时/计数器(ROM)
用于实现定时和计数功能。
AT89S51共有2个16位定时/计数器
5)、并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
每个口都由1个锁存器和1个驱动器组成。
它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他的功能。
6)、全双工串行口:
AT89S51内置一个全双工串行通信口,用于与其他设备间的串行数据传送,该串行口既可以用于异步通信收发器,也可以当同步移位器使用。
7)、时钟电路:
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
8)、中断系统:
中断系统的作用主要是对外部或内部的终端请求进行管理与处理。
AT89C52共有5个中断源,其中有2个外部中断源和3个内部中断源。
每个51单片机处理周期包括12个时钟周期,每12个时钟周期用来完成一个操作,如取指令等。
指令执行时间为时钟频率除以12后取倒数。
如果系统时钟频率是11.059MHZ,则除以12后就得到了每秒执行的指令为921583条,再取倒数将得到每条指令所需要的时间为1.085us。
图2—251单片机基本结构
9)主电源引脚
VCC(40脚):
接+5V电源正极。
GND(20脚):
接地端。
电源电压范围是4~5.5V,最高电源电压为6.6V。
任何引脚对地的电压范围是-1~7V
10)外接晶体引脚
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部的时钟时,该引脚作为外部振荡信号的输入端。
XTAL2(18引脚):
接外部石英晶体的另一端。
在单片机内部,它是反相放大器的输出端。
11)输入/输出引脚
(1)P0口(P0.0~P0.7)(引脚39~32)
P0口具有漏极开路结构,还具有双重功能。
作为输出使用时,需要外接上拉电阻(在作为I/O口使用时,T1管夹断)。
若作为输入端使用,需要先将“1”写入端口(使T2管夹断)。
P0口可作为地址总线(AB0~AB7),也可作为数据总线(DB0~DB7)。
P0口可驱动8个LSTTL(低功耗肖特基TTL),其他端口可以驱动4个LSTTL。
1个LSTTL负载为0.4mA。
(2)P1口(P1.0~P1.7)(引脚1~8)
P1口内部有上拉电阻,因此可以作为准双向I/O使用。
作为输入端使用时,需要先将“1”写入端口(使T2管夹断)。
(3)P2口(P2.0~P2.7)(引脚21~28)
P2口内部具有上拉电阻,因此可以作为准双向I/O口使用。
作为输入端使用时,需要先将“1”写入端口(使T2管夹断)。
在将有片外存储器时,P2口作为8位地址总线(AB8~AB15)。
(4)P3口(P3.0~P3.7)(引脚10~17)
P3口具有上拉电阻,可作为准双向I/O口使用。
作为输入端使用时,需要先将“1”写入端口(使T2管夹断)。
P3口的每个引脚还有第2个功能:
P3.0:
为串行输入端口(RXD);
P3.1:
为串行口输出端口(TXD);
P3.2:
为外部中断0(INT0);
P3.3:
为外部中断1(INT1);
P3.4:
为定时/计数器0的外部输入口(T0);
P3.5:
为定时/计数器1的外部输入口(T1);
P3.6:
为外部数据存储器写选通(WR);
P3.7:
为外部数据存储器写选通(RD);
12)RST(引脚9)
该引脚为单片机的上电复位引脚,高电平有效。
当单片机电源电压达到单片机工作电压、同时单片机振荡器正常工作后,该引脚上必须持续两个机器周期的高电平,才能实现复位操作,使单片机恢复到初始状态。
复位引脚具有双向功能:
当上电时,外加电容与单片机内部下拉电阻形成复位电路使单片机复位;当单片机内部的看门狗(WDT)溢出时,该引脚输出高电平,不仅复位单片机,也复位单片机外部需要复位的芯片,以保持各芯片之间复位动作的一致性。
若需要RST引脚输出复位信号,则需要1~10kΩ的外部复位电阻。
在只需要上电复位的系统中,由于单片机内部具有下拉复位电阻(阻值为50~300kΩ),所以可以不要外部下拉电阻,电容值可减小到1uF。
一般说来电源达到工作电压值的时间一般在10ms以内,时钟为12MHZ时,起振时间小于1ms。
2.2.2BCD拨码盘介绍
在某些单片机应用系统中,有时只需要进行少量的十进制数据设定,例如,设定温度恒定在30℃。
这些参数具有两个特点:
一是都由十进制数字(0~9)组成;二是设定值可能随时需要改变。
对于符合上述特点的输入场合,使用BCD拨码盘较为合适。
采用BCD码拨盘。
其功率小,集成度高,显示编程容易控制,可以显示0—9位数字。
1)BCD拨码盘的构造
BCD拨码盘的构造如图2—3所示。
图2—3BCD拨码盘阵列的构造
它由处于前面板的拨码盘和处于后侧板的接线端组成。
拨码盘由上下两个拨盘按钮和夹在按钮中间的拨位数码指示器组成。
拨位数码指示器是可随拨盘的拨动进行转动0~9十个数字,用以显示拨码盘当前数值。
上面的拨码按钮为增量按钮,每按下一次,拨码盘正相旋转1/10周,拨位数码指示器显示的数值加1,连续按十次,数据将被还原;下面的拨码按钮为减量按钮,每按下一次,拨码盘反相旋转1/10周,拨位数码指示器显示的数值减1。
接线端向外引出标有8、4、2、1、A的五个引脚。
在实际应用中,BCD拨码盘可以直接插入BCD拨码盘插座中使用,也可以采取从5个引脚上分别焊接引线的方式使用.
BCD拨码盘的接线端是当前拨码盘位置的反映,拨码盘数码显示的数值直接影响8、4、2、1四个引脚与公共引脚A的导通状态,例如,当前拨码盘拨位数码指示器的显示数据为7时,图2—5中的4、2、1引脚均与A导通,8引脚与A不导通;当前拨码盘拨位数码指示器的显示数据为4时,仅有4引脚与A导通,其余三个引脚与A均不导通。
拨码盘从0拨到9,A引脚与8、4、2、1四个引脚的导通的状态如表2—1所示。
此表中的0表示输入控制线A与输出线不通,表中的1表示输入控制线A与输出线相通。
表2—1BCD拨码盘状态表
位置
8
4
2
1
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
l
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
l
8
1
0
0
0
9
1
0
0
1
从表中可以看出,8、4、2、1四个端子与A是否导通所对应的数值与其BCD码完全一致。
2)BCD拔码盘的接口方法
实际应用BCD拨码盘时,如果A端接高电平,8、4、2、1引脚需要经下拉电阻拉低,这样,这四个引脚不与A接通时为低电平,与A接通时为高电平。
从8、4、2、1引脚上读到的数值即为拨码盘输入对应的BCD码。
如果A端接低电平,8、4、2、1引脚需经上拉电阻拉高,这样,这四个引脚不与A接通时为高电平,与A接通时为低电平。
从8、4、2、1引脚上读取数据并取反后,才能得到与拨码盘输入对应的BCD码。
(1)单个BCD拨码盘与单片机的接口
使用BCD拨码盘作为输入工具,BCD拨码盘与MCS-51的连接方式如图2—4所示。
将BCD拨码盘的公共引脚A接地,8、4、2、1引脚分别经上拉电阻连到MCS-51的P1.3~P1.0引脚上。
这样,当BCD拨码盘处于0~9十个位置上时,MCS-51从P1.3~P1.0上读取数据并取反,即可得到相应的BCD码数字。
例如,图2—4中的开关4接通时,P1口低4位的输入数据为101lB,将其取反后为0100B。
图2—4单个BCD拨码盘与MCS-51的连接
此系统的程序清单如下:
PBCDl:
MOVA,P1;读拨码盘输入
CPLA;取反
ANLA,#0FH;屏蔽高4位
MOVR5,A;暂存
RLA;(A)×2
ADDA,R5;(A)×3
MOVDPTR,#TABLE;散转表首地址送DFTR
JMP@A+DPTR;散转
TABLE:
LJMPPRG0;转功能0
LJMPPRGl;转功能1
LJMPPRG2;转功能2
……;转其他功能
(2)多个BCD拨码盘与单片机的接口
在单片机应用系统中,使用多个BCD拨码盘的场合较多。
这时,一般针对A端有两种方式可以选择:
第一,BCD拨码盘的公共引脚A静态接高电平或低电平;
第二,BCD拨码盘的公共引脚A动态扫描。
(1)A端静态连接法。
此方法适用于BCD拨码盘数量不多的单片机系统中。
两个BCD拨码盘和MCS-51单片机的连接方式如图2—5所示。
BCD拨码盘的公共引脚A接+5V,4位数据线和74LS244中的4位并行输入线相连,并通过电阻接地。
这样,当BCD拨码盘处于某个位置时,和A端相通的数据线为1,不相通的数据线为0,数据线的状态符合拨码盘位置的BCD码编码规律。
8031直接对扩展的74LS244进行读操作,就可以读取拨码盘的状态。
图2—5两个BCD拨码盘和MCS-51单片机的连接
图2—5所示的接口方法的硬件逻辑比较简单,但需要占用较多的I/O口线。
在单片机系统中,为了节省I/O口线,可以采取将几个拨码盘的数据线经逻辑组合以后连接到并行口,通过动态扫描方式进行拨码识别的方法。
(2)动态扫描法。
所有BCD拨码盘的公共引脚A分别接不同的扫描线。
如果8、4、2、1数据线上拉,则A端采用低扫描;如果8、4、2、1数据线下拉,则A端采用高扫描。
这里的低扫描具有两层含义:
第一,任意时刻扫描线中只有一条为低电平,其余扫描线为高电平;
第二,在扫描过程中,扫描线需要周期性地依次变为低电平。
高扫描则与低扫描完全相反。
由于两种扫描都是以动态的方式进行的,所以这两种方法共称为动态扫描法。
动态扫描法在单片机的人—机界面中应用广泛。
两种扫描法与数据线电位的拉高和拉低是对应的,如果采用高扫描,则数据线需被下拉成低电平;如果是低扫描,则数据线需被上拉成高电平。
这一规律适用于所有的扫描应用场合。
2.2.3光耦合器的介绍
1)光耦合器的工作原理
光耦合器(opticalcoupler,英文缩写为OC)亦称光电隔离器,简称光耦。
光耦合器以光为媒介传输电信号。
它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。
目前它已成为种类最多、用途最广的光电器件之一。
光耦合器一般由三部分组成:
光的发射、光的接收及信号放大。
输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。
这就完成了电—光—电的转换,从而起到输入、输出、隔离的作用。
由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。
又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。
所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。
在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。
2)光耦合器的优点
信号单向传输,输入端与输出端完全实现了电气隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。
光耦合器是70年代发展起来产新型器件,现已广泛用于电气绝缘、电平转换、级间耦合、驱动电路、开关电路、斩波器、多谐振荡器、信号隔离、级间隔离、脉冲放大电路、数字仪表、远距离信号传输、脉冲放大、固态继电器(SSR)、仪器仪表、通信设备及微机接口中。
在单片开关电源中,利用线性光耦合器可构成光耦反馈电路,通过调节控制端电流来改变占空比,达到精密稳压目的。
3)光耦合器的技术参数
光耦合器的技术参数主要有发光二极管正向压降VF、正向电流IF、电流传输比CTR、输入级与输出级之间的绝缘电阻、集电极-发射极反向击穿电压V(BR)CEO、集电极-发射极饱和压降VCE(sat)。
此外,在传输数字信号时还需考虑上升时间、下降时间、延迟时间和存储时间等参数。
最重要的参数是电流放大系数传输比CTR(Current-TransferRatio)。
通常用直流电流传输比来表示。
当输出电压保持恒定时,它等于直流输出电流IC与直流输入电流IF的百分比。
当接收管的电流放大系数CTR为常数时,它等于输出电流IC之比,通常用百分数来表示。
第三章硬件实现及单元电路设计
3.1单片机最小系统的设计
89C52是片内有ROM/EPROM的单片机,标准的52为8K程序空间,128字节的RAM,32条端口,5个中断,2个定时/计数器,12个时钟周期执行一条基本指令,最长的除法为48个周期。
因此,这种芯片构成的最小系统简单、可靠。
用89C52单片机构成最小应用系统,只要将单片机接上时钟电路和复位电路即可,如图3—1,89C52单片机最小系统所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
(1)有可供用户使用的大量I/O口线
(2)内部存储器容量有限
(3)应用系统开发具有特殊性
图3—1AT89C52单片机最小系统
3.1.1电源电路
系统所用直流电压由三端集成稳压器组成的串联型直流稳压电源提供。
设计中电源由220V交流电提供,经过变压器降压后得到15V交流电,通过接插件J1引入电路板,再经过D1,D2,D3,D4四个二极管桥式整流,变为脉动直流,经C1、C3滤波后由L7812稳定输出DC12V,提供光耦合器输出端的电压。
再由C2、C4滤波后由L7805稳压再由C5、C6滤波后输出DC5V,提供单片机的直流电压,电源电路如图3—2所示。
图3—2电源电路设计
3.1.2复位电路
单片机复位电路时系统中必不可少的,本设计采用手动复位。
这种复位电路的工作原理是:
通电时,电容两端相当于是短路,于是RST引脚上为高电平,复位按钮松开后,电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机完成复位工作。
图3—3复位电路设计
3.1.3晶振电路
晶振在单片机系统中作用非常大,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
本设计采用的电容C9、C10为100pF,晶振是12MHz。
工作原理:
单片机晶振电路即分频器的原始工作振荡频率,由石英晶体多谐振荡器的谐振频率来产生,晶振其实是一个频率产生器,他主要把传进去的电压转化为频率信号。
提供给分频率一个基准的振荡频率,它是一个多谐振荡器的正回馈环电路,也就是说它把输入作为输出,把输出作为输入的回馈频率,象这样一个永无休止的循环自激过程。
晶振电路如下图所示:
图3—4单片机的对应引脚接线
3.1.4输入电路
本设计用BCD码拨盘及其拨键,根据BCD码拨盘的内部结构,把十进制数通过BCD码拨盘转换为单片机可读的8421码输入CPU,根据应用程序执行相应功能,本设计采用2个BCD码拨盘,连接单片机的8个通道,其设计原理图如下:
图3—5BCD拨码盘与AD89C52的连接
3.1.5显示电路
本设计采用两个发光二级管发光情况初步判断系统输出信号,当发光二极管规律的交替闪亮时,可初步判定满足设计要求。
设计中采用光耦合器进行隔离,其设计原理图如下:
图3—6二极管显示电路
3.2系统电路总原理图
完成各个模块后就完成了整个系统的接线。
综上所述,把各个电路模块结合在一起就完成了设计原理图的设计,如下所示:
图3—7系统电路总原理图
3.3PCB板的制作
在检查过系统原理图没有错误的情况下,由原理图生成PCB图,按照信号流合理的布局元件,并设置元件间距约束为10mil;设置PCB布线规则:
设置全板的安全间距为10mil;地线GND为40mil,新建规则VCC为30mil,其他other为15mil。
优先级设定:
VCC的优先级最高,GND其次,最后是其他other。
本设计采用双面板设计。
布线采用交叉式布线,若布线不太恰当则改为手动改动布线,直到布线合理,美化为止。
如下图所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 两相 脉冲 方波 电路设计