? ? ? 之前网上并没有详细的基于8086的PWM调光设计,做完课程设计,给大家分享一下使用DAC8032提供电压的设计思路。
1.?总体设计
? ? ? ?在这次设计中,使用了PWM脉宽调制输出方式,即通过对一系列脉冲的宽度进行调制,来等效的获得所需波形。D/A转换器输出的模拟量和输入的数字量成正比,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,D/A转换器就可以输出随时间变化的模拟量。我通过端口实现某种方波频率为f、占空比为k的方波输出以进行亮度控制,在实验中加入了两个按钮,分别控制占空比的增减,实现灯光的调亮和调暗,长按调光按钮时可以实现无极调光在发光模块的电路中。通过两个三极管组成电路进行滤波,使LED灯可以正常发光。
2.部分模块说明
2.1核心控制模块
图?核心控制模块
8086CPU中MN/MX接+5V,构成小规模的应用系统,只有8086一个微处理器, 所有的总线控制信号均为8086产生,系统中的总线控制逻辑电路,8086装入程序。
2.2按键控制模块
? ? ? ? 74LS244为三态输出的八组缓冲器和总线驱动器,CE非?输入高电平,使其不处于高阻抗状态,两个按钮分别控制亮、暗,单次按下或长按均可以改变信号的占空比,由于单位时间改变的占空比很小,可以实现无极调光。在未按下按钮时,A0和A1输入的是高电平,按下时输入信号将变为低电平并以此改变输出的电平与指令。?
2.3发光模块
? ? ? ?DAC0832的输出为该模块提供电压,由于电压会随高低电平的输入进行变化,LED灯会快速闪烁,添加了有极性电解电容,有极性电解电容与LED灯并联可以起到滤波的作用,也可以保护电路,在此之后,我在原有的电路中加了滤波模块,使 LED灯的电压随占空比在0.69V-1.05V的范围波动,且电压由于高低电平造成的波动被降到了10^-3.
3.元器件清单
元件 | 型号 | 数量 | 芯片 | 8086 | 1 | 芯片 | 74LS373 | 1 | 芯片 | 74LS244 | 1 | 芯片 | 74LS138 | 1 | 芯片 | 74LS32 | 1 | 芯片 | OP1P | 2 | 芯片 | DAC0832 | 1 | 电阻 | 10K | 3 | 电阻 | 1K | 1 | 电阻 | 150 | 1 | 电解电容 | 20000uF | 1 | 按键 | BUTTON | 2 | 发光二极管 | LED-YELLOW | 1 | 电感 | ELJ-NCR56JF | 1 | PNP型三极管 | 2N2907 | 1 | NPN型三极管 | 2N3903 | 1 |
4.相关信息下载
Proteus仿真图和汇编源代码下载地址:基于8086单片机的PWM调光(带汇编)-其它文档类资源-CSDN下载基于8086单片机的PWM调光(带汇编)更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_45509406/64173359
无需会员!无需会员!无需会员!
本文概述相对简略,仅作为一种设计思路分享,欢迎大家进行探讨和交流。
|