用16F877制作带信号发生器的可调电源电路图SCH与源程序

  • 名称:用16F877制作带信号发生器的可调电源电路图SCH与源程序
  • 类型:单片机学习
  • 授权方式:免费版
  • 更新时间:09-10 22:58:51
  • 下载要求:无需注册
  • 下载次数:6115
  • 语言简体中文
  • 大小:914 KB
  • 推荐度:3 星级
《用16F877制作带信号发生器的可调电源电路图SCH与源程序》简介

标签:单片机开发,单片机原理,
用16F877制作带信号发生器的可调电源电路图SCH与源程序,

“源程序.doc”和“正文.doc”用Word2000编写。
“原理图.sch”用protel99se画。

本文介绍的电源用数码管作为表头显示,分上下2排,每排4位。除了输出可调电压0V至20.47V以外,还可以输出方波信号,其幅度从0V至1.023V可调。方波频率共15种,最低15Hz,最高22KHz, 供调试功放用。
  为了方便操作,用发光二极管L1指示电源输出电压,L2指示电源输出电流,L3指示信号发生器输出幅度,L4指示电源过载保护电流设置,L5指示信号发生器输出频率。将L1、L3、L4放在上排数码管旁边,余下的放在下排数码管旁边。电源共安排了4个按键,分别为“设置,移位,加,减”。
  开机初始状态为上排数码管显示输出电压,下排数码管显示输出电流,即发光二极管L1,L2点亮。
  将“设置”键按一下,上排数码管末位开始不停地闪烁,表示此位可以通过按“加”、“减”键进行设置。按移位键,数码管闪烁(可以设置)由末位向高位移。在移位键按到第4下时,数码管闪烁又回到末位,如此循环。上排数码管显示数字在0.00~20.47之间可变,对应电源输出电压为0~20.47V。

字串9


  “设置”键按第二下,原点亮的发光二极管L1熄灭,L4点亮,此时上排数码管指示的是过载保护电流设置,范围为15~1023,对应过载保护电流为15~1023mA。设置方法与电压设置相同。
  “设置”键按第三下,进入信号发生器状态。此时,L3,L5点亮,余熄灭,上排数码管指示的是信号发生器的方波幅度,范围为0.000~1.023,对应方波幅度为0~1.023V,且可以设置。设置方法与电压设置相同。下排数码管指示的是信号发生器的方波频率。需要说明的是在按“移位”键时,下排数码管的末位也有轮到闪烁可以设置的机会,不过,此位的设置会使下排数码管在15、30、60、120、240、600、1200、2400、4800、9600、12.00.、15.00.、18.00.、20.00.、22.00.之间变化,其中的15至9600单位是Hz,12.00.至22.00. 单位是KHz。如果在安排面板时把KHz的“K”字放在下排数码管的末位的小数点上,当此小数点点亮时,刚好照亮了“K”为最佳。
  “设置”键按第四下,便回到初始状态。
  如果按“设置”键同时又按下“移位”键,则上述“设置”键功能顺序将相反。
  能完成上述功能的电原理图见附图。K1~K4分别对应上述的4个按键。LED1~LED4组成上排数码管,LED5~LED8组成下排数码管。 字串7
  图中,IC3的17脚输出脉宽调制信号,经运放IC4A及其外围阻容元件进行D/A转换,经V5推动功率管V4,作为电压调整。
在上排数码管显示电压为0V时,调W4,使电源输出电压为0V;在显示电压为10.23V时,调W5,使电源输出电压为10.23V。又因16F877的脉宽分辨率只有10位,最大为1023,对应输出电压为10.23V,不够用,所以,将IC3的9脚作为补充位,即当显示电压为10.23V时,再往上加,IC3的17脚脉宽变为0,同时9脚输出高电平,V3导通,V2也导通,其c极为高电平,经R56,W6加到运放IC4D的反相输入端,IC4D的14脚会输出负压,经W5,R52加至IC4A的反相输入端,使其输出正电压。调W6,使V4输出为10.23V,此时,IC3的17脚输出脉宽由0增加时,V4输出电压便会在10.23V上往上加,最终加到20.47V。
  IC3的2脚为A/D输入端,作为监测电源输出电流。运放IC5A作为减发器,将R61上的电压运算并放大,从1脚输出又经IC4B放大,通过R24和R23送入IC3的2脚。
在电源无负载情况下,调W2使下排数码管显示电流为0;带上负载,用万用表测负载电流,调W7使下排数码管显示数值与万用表相同。
  按K1,使电源进入信号发生器状态(L3,L5亮,余灭),IC3的16脚输出脉宽调制信号经IC4C作为D/A转换,其8脚输出与脉宽成正比的电压。方波信号从IC3的3脚输出,经R31,R57分压,又经D13,D14加到R59上作信号输出。R57下端接到IC4C的8脚上,这样,IC4C就相当于一个可调电阻,随着IC3的3脚脉宽变化,相应调整R57下端电压,则R57上端电压也相应改变,最终改变信号输出幅度。

高速下载


   在IC3的3脚脉宽变为0时(上排数码管显示0.000),调W1,使R59上的方波幅度为0V;将脉宽调到最大(上排数码管显示1.023),调W3,使R59上方波信号幅度达1.023V。
  为了降低V4的功耗,在电压输出小于10.23V时,继电器J1不吸合,D1~D4整流后的电压不高于15V;当要求V4输出电压高于10.23V时,J1会因V3导通而吸合,D1~D4整流后的电压变为25V。
  本电源还设了一些辅助功能,按键按下如果有效,便会发出“嘀”的一声提示音。在电源输出过载时,V4输出会立刻变为0V,上排数码管显示“————”,下排数码管无显示,同时发出急促的“嘀嘀”声。此时,想重新启动电源,除了重新开机,还可以按一下K1,电源均可重启。不管哪一种启动,本电源均为软启动,即IC3的17脚脉宽都是从0逐渐加到设定值。为了方便使用,在电源初始状态下,按一下K4,电源便会处于暂停状态,V4输出为0V,上排数码管显示“OFF”,下排数码管无显示,并发出缓慢的“嘀——嘀——”声,按一下K4,恢复正常。
  在关机时,IC3的33脚检测到低电平,便将设定输出电压值和过载保护电流值烧进E²PROM中,作为下次开机时提取数据。但是,若这两个值与本次开机时相同,便放弃烧写,以节约E²PROM的寿命。对于信号发生器幅度和频率在开机时,频率固定为最低15Hz,幅度为0.511V。 无插件,无病毒
  在实际应用时,发现输出电压在10.23V加到10.24V 时,输出电压会瞬间升高至15V以上,这是IC3的17脚至IC4A的3脚阻容积分常数选择大引起。图中,加入V1,R50,R49,和C7便可以由瞬间升高变成瞬间降低,以减少对我们使用的影响。
  以上程序是在廉价的MPLAB—ICD上调试和烧写。, 大小:914 KB
Tag:单片机学习单片机开发,单片机原理单片机学习