收藏 分享(赏)

简易数控直流电压源.doc

上传人:精品资料 文档编号:10511594 上传时间:2019-11-24 格式:DOC 页数:27 大小:468KB
下载 相关 举报
简易数控直流电压源.doc_第1页
第1页 / 共27页
简易数控直流电压源.doc_第2页
第2页 / 共27页
简易数控直流电压源.doc_第3页
第3页 / 共27页
简易数控直流电压源.doc_第4页
第4页 / 共27页
简易数控直流电压源.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、数控电压源实习报告班级:测控 12-1 31 号设计人: 王秋桦指导老师:庄严设计时间:2015-12-012摘 要本设计采用数字电位器 MCP41010 和功率放大电路 LM324 构成输出电压在 0.1-9.9V 的直流稳压电源,整个电路由 D/A 转换模块、电压放大模块、精密电压源模块和过流保护模块组成。数字控制部分采用+/-按键来调整预设电压值,调整步进 0.1V,当按下+/-按键超过1 秒时进入快速调整状态,每秒步进为 0.4V。最后再将放大后的输出电压值和输出电流值,经过 PIC16F877A 的内部 A/D 转换并在数码管上实时显示。关键词:数字电位器、 D/A 转换、 电压源、

2、 过流保护3目录1 系统设计 41.1 设计要求 41.1.1 设计任务 41.1.2、基本要求 .41.1.3、发挥部分 .41.1.4 测试要求 41.1.5 系统框图 41.2 方案论证与比较 51.2.1 电压采样模块 51.2.2 稳压模块 61.2.3 过载保护模块 61.2.4 最终方案 72.单元电路分析 82.1 D/A 转换模块 .82.1.1 工作原理 82.1.2 参数选择 82.2 电压放大模块 82.2.1 工作原理 82.2.2 参数选择 92.3 稳定电压源及电压采样模块 92.3.1 工作原理 92.3.2 参数选择 .102.4 过载保护模块 .102.4.

3、1 工作原理 .102.4.2 参数选择 .113.软件设计 .113.1 实现功能 .113.2 软件平台及开发工具 .123.3 软件流程图 .124.系统测试 .124.1 电路测试步骤: .125. 结论 126. 参考文献 127.附录 .1341 系统设计1.1 设计要求1.1.1 设计任务设计一台直流稳压电源,电压变化范围10%.1.1.2、基本要求(1)输出电压:范围 0+9.9V,步进 0.1V,纹波不大于 10mV。(2)最大输出电流:500mA。(3)启停键:“工作”与“停止”两状态的转换键,每按该键一次状态翻转一次。(4) “停止”状态:禁止电压输出,状态指示灯灭,电压

4、指示器显示预设电压,负载电流为 0;在该状态下按“+” 、 “-”两键调整预设电压值,调整步进 0.1V。(5) “工作状态”:允许输出预设电压,正常工作指示灯亮,电压、电流指示器实时显示输出电压和负载电流。一旦负载电流超限输出保护关断信号,转入“保护”状态,保护响应时间不超过 10mS。处在“工作”状态时输出电压不能调整,按启停键转换到“停止”状态。(6) “保护”状态:禁止电压输出,过载指示灯亮,电压、电流指示器显示预设电压和超载时的电流值,5 秒后自动回到“停止”状态。1.1.3、发挥部分(1)增加快速调整功能,按下“+” 、 “-”键超过 1 秒后进入快速调整,每秒步进 0.4V。(2

5、)系统能保存预设电压值,每次开机时的预设电压值为上次关机前的预设电压值。1.1.4 测试要求在最小系统板数码管上可以清晰读出预设电压值、采样电压值和采样电流值。1.1.5 系统框图5图 11.2 方案论证与比较1.2.1 电压采样模块方案一:在输出口串上两个大电阻和一个电位器,从电位器的中间抽头进行采样,这样不但可以得到完全采样,而且可调.因为实际的电阻值与所标的电阻值会有一些误差,电位器的精密度等都会增加电压采样误差.电路图如下:方案二:由于产生的稳定直流电压源的电压值高达 9.9V,不能直接送给 PIC 的 I/O 采样,则需将其线性降压,而此降压电路模块不会影响电压源的各性能。因此利用电

6、压跟随器的输入电阻无穷大的特性,得出采样电压。图 3综合以上分析,方案二较好。1.2.2 稳压模块方案一:如下图所示,电路接成串联型电压负反馈,我们把输入电压加到运放的同相端,与 6 脚的取样电压构成差动放大器,把他们之间的电压差进行放大,放大后的电压再6接到调整管的基级,通过调整管的调整作用,来达到稳定输出电压的效果。方案二:如图,电压经过差分放大后由功率三极管放大电流组成电压负反馈电路。再经过电容滤波,电路即可输出稳定的直流电压。综合以上分析,方案二较好。1.2.3 过载保护模块方案一:如下图所示10KR1410KR1333KR1510KR101/2WR810KR1110KR1210KR9

7、 10KRW2L100uH 100uF C61000uF C12C7104104C13+12A/D121314411IC49108411IC3104 C8 R16 100T1TIP122T39013U5U6U8U10 U11U12U13VOUT.图 6上图采用复合管组成限流型保护电路,通过调整电阻 R8,当电路中的电流达到或超过图 57需保护的设定值时,R8 两端的电压超过 0.5V,9013 导通工作,电流中的电流可通过 9013进行分流,使得 TIP122 的基极电位被拉下来,使得 TIP122 截止,以此来保护调整管。当R8 两端的电压小于 0.5V 时,9013 截止,TIP122 恢

8、复工作。但过载时,电流不易测得。而且 LM324 的输入端电压最小为 300mV,当取样电阻两端电压过小时,LM324 取样不到,从而影响后续的同相比例放大及 A/D 值。方案二:如下图所示图 7在如上的电路中,将负载接在电流取样电阻之前,输出电压会受到电流取样电阻的影响。一旦取样电阻确定后,通过观测其两端电压大小即可得出流经负载的电流值大小。通过软件控制过载时对电路的保护。从而,使得过载时,电流易于测得。综上所述,选用方案二。1.2.4 最终方案单片机 PIC16F877A 主要用于预设输出电压值并通过按键来实现输出电压的步进控制,当电路输出较大电压,若输出端所接负载较小,电路中电流较大,超

9、过设计要求,系统启动保护状态,过载保护通过软件来实现。系统将电路中实时采样的电压值和电流值送数码管显示。 (1)单片机控制模块:采用 PIC16F877A 单片机为核心。(2)基准电压模块:采用数字电位器 MCP41010 进行 D/A 转换输出基准电压。(3)控制调整模块:采用达林顿管 TIP122 进行控制调整输出电压。(4)输出取样模块:采用电阻臂进行电压取样,小功率电阻进行电流取样。(5)显示模块:采用数码管显示。2.单元电路分析2.1 D/A 转换模块2.1.1 工作原理8如图所示,利用 PIC16F877A 及数字电位器 MCP41010 进行 D/A 转换,从而得到步进电压源。M

10、CP41010 的 1、2、3 脚分别与 PIC 的三个 I/O 口相连。当 =0 时,MCP41010 才CS工作。SCK 用于接入 PIC 的 C2 口输出的时钟信号。SI 为 MCP41010 的数据输入引脚,用于接收从 PIC 的 C3 口输出的数据信号,即步进电压信号。当 =0 时,SCK 的上升沿到来时,数据从 SI 引脚输入数字电位器,从而得到步进电压。2.1.2 参数选择 图 8电解电容 、瓷片电容 是为了对+2.5V 参考电压进行滤波,故可选取电解电容2C1为 100F、瓷片电容 为 104。22.2 电压放大模块2.2.1 工作原理如图所示,由于 MCP41010 是 8

11、位电流型串行数字电位器,可产生 256 个步进。当参考电压为+2.5V 时,PW0 输出的步进值约为 0.01V。所以要想得到步进值为 0.1V,需放大 5 倍,并且电位器每次步进 2 阶同时自动调整。通过对输出 D/A 的输出电压进行同相放大,该电路的放大倍数大约为 5 倍,并通过电位器来改变它的放大倍数,从而达到对输出电压进行硬件校准的目的。图 92.2.2 参数选择9(1)电路负反馈放大倍数: 5)( 132132 wwiioiu RRVA不妨选取 。KWw105./932电 位 器(2)集成运放选取 LM324。2.3 稳定电压源及电压采样模块2.3.1 工作原理如图所示,集成运放的

12、5、6、7 引脚构成差分放大电路,与功率三极管 TIP122 组成闭环负反馈电路,使得 5 和 6 引脚的电压保持相等。其中功率三极管还起到放大电流的作用,各电容起到稳压滤波作用。由于输出电压范围为 09.9V,不能直接将其作为电压采样值送给 PIC 的 I/O 口,所以需要将其线性降压。根据电压跟随器的输入电阻无穷大的特性,组成如图采样电路,并且不影响直流电压源的各参数性质。图 102.3.2 参数选择(1)由于设计要求电压源输出的电压高达 9.9V,所以用大于 9.9V 的电源给电路供电。三极管是电流控制电流型器件,考虑到流经其上的电流要高达 0.5A,因此所选三极管的功率要承受: WAV

13、IP5.0*1所以需要选择散热性好的功率三极管 TIP122,并且加上散热片帮助其尽快散热。(2)稳压滤波电容 4210CuF10476u10(3)电压采样电阻 使得 范围是 04.95V,符KR1097108/2VDA合 I/O 口采样电压值要求。2.4 过载保护模块2.4.1 工作原理如图所示,通过对电阻 两端电压的取样及放大,从而得到对应电流值所对应的电压8R值 。DAVIV/851*采 样IC4 构成同相输入比例放大电路,放大倍数为 5 倍。 需 A/D 转换的电流进行滤波。13C图 112.4.2 参数选择(1)为便于运算, 选用 1。由于输出的最大电流可达 500mA,由 可得,8

14、R RIP2=0.25W,为保险起见,故 选用 1/2W 的功率电阻。maxP8(2) 可取瓷片电容 104。13C注意:14 引脚输出出不可加电容值较大的电解电容。由于采样功率电阻阻值非常小,在电流值不大的情况下,相应的电压值也很小,一旦在 14 引脚出接一个较大的电解电容虽然有稳压滤波的作用,可是其充放电会严重影响 A/D 采样的电压值,即相应的电流采样值。(3)过载保护电路放大倍数5)( 215421541 wwiioiu RRVA因此不妨选取 。KWRw0./31154电 位 器113.软件设计3.1 软件平台及开发工具本系统软件的开发平台是 MPLAB IDE,开发工具为 MPLAB

15、 ICD2。3.2 软件流程图12134.系统测试4.1 测试步骤: 第一步: 检查电路没有问题,上电 第二步:预设置电压值,并用数字万用表检测输出电压,及功率电阻两端的电压。 第三步:用示波器测输出电压的纹波。42 测试结果 输出电压及功率电阻两端的电压见下表:Vout 设定值/VVout 测量值/V功率电阻两端电压/mV流过功率电阻电流/mAA/D 显示的电流/mAVout 误差/%电流误差/%0.1 0.143 5.30 5.30 3.0 43.00 43.40 0.2 0.243 8.90 8.90 7.0 21.50 21.35 0.5 0.591 21.70 21.70 21.0

16、18.20 3.23 0.7 0.725 29.00 29.00 28.0 3.57 3.45 1.2 1.280 47.00 47.00 46.0 6.67 2.13 1.6 1.660 61.50 61.50 65.0 3.75 (5.69)2.0 2.080 76.00 76.00 76.0 4.00 0.00 2.5 2.570 95.90 95.90 93.0 2.80 3.02 3.0 3.090 114.10 114.10 111.0 3.00 2.72 3.5 3.560 132.20 132.20 129.0 1.71 2.42 4.0 4.050 150.30 150.30

17、 147.0 1.25 2.20 4.5 4.540 168.00 168.00 165.0 0.89 1.79 5.0 5.070 188.50 188.50 194.0 1.40 (2.92)5.5 5.540 206.00 206.00 226.0 0.73 (9.71)6.0 6.030 224.00 224.00 221.0 0.50 1.34 6.5 6.540 244.00 244.00 242.0 0.62 0.82 147.0 7.010 262.00 262.00 260.0 0.14 0.76 7.5 7.510 280.00 280.00 277.0 0.13 1.07

18、 8.0 8.030 300.00 300.00 297.0 0.37 1.00 8.5 8.620 318.00 318.00 314.0 1.41 1.26 9.0 9.090 336.00 336.00 331.0 1.00 1.49 9.3 9.390 347.00 347.00 344.0 0.97 0.86 9.5 9.580 354.00 354.00 349.0 0.84 1.41 9.7 9.800 363.00 363.00 359.0 1.03 1.10 9.9 10.000 371.00 371.00 367.0 1.01 1.08 以上为负载=25 欧,功率电阻=1

19、欧 输出电压的纹波在 1020mV 之间。 5. 结论本设计基本完成基本要求里面的内容和发挥部分的功能和指标。 表 1 基本要求 发挥部分 实现性能输出电压:范围 0+9.9V,步进0.1V,纹波不大于 10mV基本实现纹波 1020mV最大输出电流:500mA 实现启停键:“工作”与“停止”两状态的转换键,每按该键一次状态翻转一次实现“停止”状态:禁止电压输出,状态指示灯灭,电压指示器显示预设电压,负载电流为 0;在该状态下按“+” 、 “-”两键调整预设电压值,调整步进 0.1V实现“工作状态”:允许输出预设电压,正常工作指示灯亮,电压、电流指示器实时显示输出电压和负载电流。一旦负载电流超

20、限输出保护关断信号,转入“保护”状态,保护响应时间不超过实现1510mS。处在“工作”状态时输出电压不能调整,按启停键转换到“停止”状态“保护”状态:禁止电压输出,过载指示灯亮,电压、电流指示器显示预设电压和超载时的电流值,5 秒后自动回到“停止”状态实现增加快速调整功能,按下“+” 、“-”键超过 1 秒后进入快速调整,每秒步进 0.4V实现系统能保存预设电压值,每次开机时的预设电压值为上次关机前的预设电压值实现6. 参考文献1 清华大学电子学教研组编,阎石主编数字电子技术基础(第五版) 北京:高等教育出版社,2006.52 张华林,周小方编著电子设计竞赛实训教程 北京:北京航空航天大学出版

21、社,2007. 77.附录7.1 原器件明细表器件名称 数量 备注 器件名称 数量 备注MCP41010 1 LM324 1 已有TIP122 1 已有 电容(104) 4电阻(1/2W) 2 电阻(33K) 2电阻(1K) 1 电阻(10K) 10电位器(10K) 2 电阻(5K1) 2167.2 电路原理图7.3 电路 PCB 图7.4 源程序如下:;系统程序设计(080727);-几个重要子程序及主子程序之间的关系;-;以下为特殊功能存储器的定义;-INCLUDE “PIC16F877A.INC“;-;以下为 I/O 口定义;-#DEFINE CS41010 RC,2;MCP41010

22、器片选#DEFINE CS3202 RC,1 ;12 位 AD 转换器片选17#DEFINE LDAC RC,0 ;数据转存到DAC 寄存器#DEFINE SCK RC,4 ;SPI 串口时钟线#DEFINE SDI RC,5;SPI 串口数据输入#DEFINE SDO RC,6 ;SPI 串口数据输出#DEFINE BEE RA,5 ;蜂鸣#DEFINE CS0 RB,1 ;LED0#DEFINE CS1 RB,2#DEFINE CS2 RB,3#DEFINE CS3 RB,4#DEFINE CS4 RB,5#DEFINE CS5 RE,0#DEFINE CS6 RE,1#DEFINE CS

23、7 RE,2 ;LED7;-;以下为内部 RAM 的定义;-WBUF EQU 20H ;W 保护单元,含0A0H 单元STBUF EQU 21H ;STATUS 保护单元FSBUF EQU 22H ;FSR 保护单元PCBUF EQU 23H ;PCLATH 保护单元R0 EQU 24H ;R07 工作寄存器R1 EQU 25H ;R07 循环变量或中间结果R2 EQU 26HR3 EQU 27HR4 EQU 28HR5 EQU 29HR6 EQU 2AHR7 EQU 2BHR8 EQU 2CHR9 EQU 2DHDSBIT EQU 2EH ;显示位选 ,07=LED0LED7DSBUF0 E

24、QU 2FH ;LED0DSBUF1 EQU 30H ;显缓 ,LED1DSBUF2 EQU 31H ;显缓 LED2DSBUF3 EQU 32H ;显缓 LED3DSBUF4 EQU 33H ;显缓 LED4DSBUF5 EQU 34H;显缓 LED5DSBUF6 EQU 35H;显缓 LED6DSBUF7 EQU 36H;显缓 LED7DSDOT EQU 37H ;小数点位#DEFINE DOT0 DSDOT,0#DEFINE DOT1 DSDOT,1#DEFINE DOT2 DSDOT,2#DEFINE DOT3 DSDOT,3#DEFINE DOT4 DSDOT,4#DEFINE DO

25、T5 DSDOT,5#DEFINE DOT6 DSDOT,6#DEFINE DOT7 DSDOT,7DSFL EQU 38H ;显示位闪烁控制(0-7 分别对应 LED0-7)SHAN EQU 39H#DEFINE FLON SHAN,0;闪烁总控位,=1 闪#DEFINE ADFLAG SHAN,1#DEFINE DAFLAG SHAN,2;#DEFINE JJDAFLAG SHAN,3#DEFINE XIEBZ SHAN,4#DEFINE XIEFLAG SHAN,5#DEFINE XIEWAN SHAN,6;-KEY1 EQU 3AH ;键值 1,触发型KEY2 EQU 3BH ;键值

26、2,触发型#DEFINE K0 KEY1,0#DEFINE K1 KEY1,1#DEFINE K2 KEY1,2#DEFINE K3 KEY1,3#DEFINE K4 KEY1,4#DEFINE K5 KEY1,5#DEFINE K6 KEY1,6#DEFINE K7 KEY1,7#DEFINE K8 KEY2,0#DEFINE K9 KEY2,1#DEFINE K10 KEY2,2#DEFINE K11 KEY2,3#DEFINE BIAO KEY2,4LASTK1 EQU 3CH ;旧键值 1,控制型LASTK2 EQU 3DH ;旧键值 2,控18制型#DEFINE LK0 LASTK1

27、,0#DEFINE LK1 LASTK1,1#DEFINE LK2 LASTK1,2#DEFINE LK3 LASTK1,3#DEFINE LK4 LASTK1,4#DEFINE LK5 LASTK1,5#DEFINE LK6 LASTK1,6#DEFINE LK7 LASTK1,7#DEFINE LK8 LASTK2,0#DEFINE LK9 LASTK2,1#DEFINE LK10 LASTK2,2#DEFINE LK11 LASTK2,3ANJCOUNT EQU 3EH;按键去抖HOUH EQU 3FH ;时单元,非压缩 BCD 码HOUL EQU 40HMINH EQU 41H ;分单

28、元,非压缩 BCD 码MINL EQU 42HSEC EQU 43H ;秒单元,2 进制SECW EQU 46HSECC EQU 47H ;0.5 秒单元,2进制TURN EQU 48HSHUKON EQU 49HGE EQU 50HSHI EQU 51HBAI EQU 52HQIAN EQU 53HTIMER EQU 44H ;走时用,5ms加 1CYDYDI EQU 60H;采样电压低位CYDYGAO EQU 61H;采样电压高位KUAIJIN EQU 62H;预设电压缓冲器COUNT EQU 63HS1H EQU 64HS1Z EQU 65HS1L EQU 66HR1H EQU 67HR

29、1L EQU 68HZC EQU 69HCISHU EQU 70HCOUNTER EQU 71H;-STAEQU 45H ;工作状态寄存器;-VAN0 EQU 54H;模拟 AN0 的 AD 值,2 字节,VAN0 高位,VAN0+1 低位;-;宏定义,W,STATUS,FSR,PCLATH 进栈;-PUSH MACROMOVWF WBUFSWAPF WBUF,1SWAPF STATUS,WBCF RP0BCF RP1MOVWF STBUFSWAPF FSR,WMOVWF FSBUFSWAPF PCLATH,WMOVWF PCBUFENDM;-;宏定义,W,STATUS,FSR,PCLATH

30、出栈;-POP MACROBCF RP0BCF RP1SWAPF PCBUF,WMOVWF PCLATHSWAPF FSBUF,WMOVWF FSRSWAPF STBUF,WMOVWF STATUSSWAPF WBUF,WENDM;-;宏定义,RAM 体选择;-BANK0 MACROBCF RP1BCF RP0ENDM BANK1 MACRO19BCF RP1BSF RP0ENDMBANK2 MACROBSF RP1BCF RP0ENDMBANK3 MACROBSF RP1BSF RP0ENDM;-;主程序入口向量;-RESET_VECTOR ORG 0x000CLRF PCLATHGOTO

31、MAINGOTO MAINGOTO MAIN;-;中断入口向量;-INTERRUPT_VECTORS ORG 0x004PUSH ;进栈BANK0CLRF PCLATHGOTO INTSEV;-ORG 0x0020INCLUDE “ZHICHENGXU.INC“;-;中断服务子程序;-INTSEV NOP ;实际为中断程序体POPRETFIE;-MAIN BANK1 ;上电复位判断 ?MOVF PCON,WBSF PORBTFSS PORGOTO $-2BANK0ANDLW 02HBTFSS ZGOTO RSTELSE;-MOVLW 2CH ;上电复位初始化MOVWF FSRCLRF F0IN

32、CF FSR,1BTFSS FSR,7GOTO $-3 ;以上清 RAM2C-7FHCLRF RAMOVLW 0C0HANDWF RB,FMOVLW B00000000MOVWF RCCLRF RDCLRF RE ;以上 IO 口初始设置CALL DACLOSE;-读 EEPROM-BANK2MOVLW 00HMOVWF EEADRBANK3BCF EEPGDBSF EECON1,0BANK2MOVF EEDATA,WBANK0MOVWF MINL;-读下一个单元给 MINHBANK2MOVLW 01HMOVWF EEADRBANK3BCF EEPGDBSF EECON1,0BANK2MOVF

33、 EEDATA,WBANK0MOVWF MINHRSTELSE BANK1CLRWDT ;特殊功能寄20存器初始化BANK1MOVLW B00000011MOVWF TRISAMOVLW B11000000MOVWF TRISBMOVLW 00HMOVWF TRISCCLRF TRISDCLRF TRISECLRF RCMOVLW 06H ;AN07 设为数字口MOVWF ADCON1CLRF PIE1BANK0CLRF ADCON0CLRF PCLATHCLRF INTCONCLRF PIR1MOVLW 0F6HMOVWF TMR1HMOVLW 3CHMOVWF TMR1LMOVLW 01H

34、MOVWF T1CONBCF ADFLAGBCF XIEBZBCF XIEFLAG;清写EEPROM 标志位BCF XIEWANCLRF STACLRF DSFLCLRF KUAIJINMOVLW 00HMOVWF SHUKONMAIN1 BANK0BTFSS TMR1IFGOTO MAIN1CLRWDTBCF TMR1IF;-;以下为重要功能寄存器冗余设置;应视具体应用情况作相应调整;-BANK1MOVLW B00000011MOVWF TRISAMOVLW B11000000MOVWF TRISBMOVLW 00HMOVWF TRISCCLRF TRISEBANK0CLRF PCLATHM

35、OVLW 0F6HMOVWF TMR1HMOVLW 3CHMOVWF TMR1LZK CALL ANJSCANEY CALL DISPBCF FLONKAISHI MOVLW HIGH TABMOVWF PCLATHMOVF STA,W ;根据 STA 值散转ANDLW 07HADDLW LOW TABBTFSC CINCF PCLATH,FMOVWF PCLTAB GOTO SHEZHIGOTO DIANYAGOTO GUOZAIBAOHUSHEZHI BTFSS XIEFLAGGOTO BEGIN;-将 MINL 写入 EEPROM 中NOPBANK3NOPBTFSC EECON1,1;W

36、R21GOTO MAIN1BANK0BTFSS XIEWANGOTO XIEBCF XIEWANBCF XIEFLAGBCF XIEFLAGGOTO BEGINXIE BTFSC XIEBZ;-写EEPROM-GOTO XIEGAOBSF XIEBZBANK2MOVLW 00HMOVWF EEADRBANK0 MOVF MINL,WBANK2MOVWF EEDATAGOTO XXXIEGAO BANK0BCF XIEBZBSF XIEWANBANK2MOVLW 01HMOVWF EEADRBANK0 MOVF MINH,WBANK2MOVWF EEDATAXX BANK3BCF EEPGDBS

37、F WRENBCF GIEMOVLW 55HMOVWF EECON2MOVLW 0AAHMOVWF EECON2BSF EECON1,1BSF GIEBCF WRENNOPGOTO MAIN1BEGIN BANK0CLRF R2CALL WDA;调用控制MCP41010 子程序禁止电压输出 BSF RC,0;将输出电压放电 BSF DOT1BCF DOT3BCF DOT4MOVF MINH,WMOVWF DSBUF1MOVLW 0AHMOVWF DSBUF2MOVWF DSBUF3MOVWF DSBUF4MOVWF DSBUF5MOVWF DSBUF6MOVWF DSBUF7SWAPF MIN

38、H,WIORWF MINL,WMOVWF S1LCLRF S1ZCLRF S1HCALL BCDTOBINMOVF R1L,WMOVWF KUAIJINMOVF KUAIJIN,WMOVWF SHUKONBTFSS K4GOTO DFMOVLW 01HMOVWF STABSF DAFLAGMOVLW 40HMOVWF CISHUGOTO MAIN1DF BTFSS LK0GOTO NEX;BSF XIEFLAG;置写EEPROM 标志位CALL CLOCKMOVF SEC,WXORLW 01HBTFSS Z22GOTO QQ1MOVLW 02HMOVWF DSFLGOTO QQNEX BTFS

39、S LK2GOTO QQCALL CLOCKMOVF SEC,WXORLW 01HBTFSS ZGOTO QQ1MOVLW 02HMOVWF DSFLQQ CLRF SECQQ1 MOVLW HIGH LAB1MOVWF PCLATHMOVF DSFL,WANDLW 07HADDLW LOW LAB1BTFSC CINCF PCLATH,FMOVWF PCLLAB1 GOTO DYLGOTO DYHGOTO KUAISUDYL BSF FLONBTFSS K0GOTO JIANINCF MINL,FBSF XIEFLAG;置写EEPROM 标志位MOVF MINL,WXORLW 0AHBTFS

40、C ZCLRF MINLGOTO AAJIAN BTFSS K2GOTO AABSF XIEFLAG;置写EEPROM 标志位DECF MINL,FMOVF MINL,WXORLW 0FFHBTFSS ZGOTO AAMOVLW 09HMOVWF MINLAA MOVF MINL,W;用 MINL 存预设电压低位MOVWF DSBUF0BTFSS K1GOTO $+2INCF DSFL,FGOTO MAIN1DYH BSF FLON BTFSS K0GOTO JIAN1BSF XIEFLAG;置写EEPROM 标志位INCF MINH,FMOVF MINH,WXORLW 0AHBTFSC ZC

41、LRF MINHGOTO AA1JIAN1 BTFSS K2GOTO AA1BSF XIEFLAG;置写EEPROM 标志位DECF MINH,FMOVF MINH,WXORLW 0FFHBTFSS ZGOTO AA1MOVLW 09HMOVWF MINHAA1 MOVF MINH,W;用 MINL 存预设电压高位MOVWF DSBUF1BTFSS K1GOTO $+223CLRF DSFLGOTO MAIN1KUAISU BTFSS LK0GOTO NEX1BSF XIEFLAG;置写EEPROM 标志位MOVF KUAIJIN,WADDLW 04HMOVWF KUAIJINNEX1 BTF

42、SS LK2GOTO OUTBSF XIEFLAG;置写EEPROM 标志位MOVLW 04HSUBWF KUAIJIN,FOUT MOVF KUAIJIN,WSUBLW 63HBTFSS ZGOTO $+2CLRF KUAIJINMOVF KUAIJIN,WMOVWF R1CLRF R0CALL BCDMOVF R6,WANDLW 0FHMOVWF MINLMOVWF DSBUF0MOVF R6,WSWAPF R6,WANDLW 0FHMOVWF MINHMOVWF DSBUF1CLRF STACLRF DSFLGOTO MAIN1DIANYABCF DOT3BCF DOT4BSF DOT1

43、BTFSS K4GOTO DJMOVLW 00HMOVWF STAGOTO MAIN1DJ BCF RC,0;关三极管放电CLRF DSFL ;DSBUF0-3BTFSS DAFLAGGOTO ADAD;BTFSS JJDAFLAG;GOTO $+3;MOVLW 02H;SUBWF SHUKON,FMOVF SHUKON,W;控制MCP41010MOVWF R2CALL WDA;调用控制MCP41010 子程序 BCF DAFLAGADAD BTFSS ADFLAGGOTO DLADGOTO DYADDLAD BSF ADFLAGMOVLW VAN0 ;AN0 模拟量采集负载电流MOVWF F

44、SRMOVLW 01H;TAD=2TOSC,AN0MOVWF R0MOVLW 84H ;右格式 ,AN0,AN1,AN3 模拟MOVWF R1 ;AN71 为数字口CALL AD; 处理 A/D 的结果-MOVF VAN0,W ;转换结果24*1000/1023MOVWF R0MOVF VAN0+1,WMOVWF R1MOVLW HIGH D1000MOVWF R2MOVLW LOW D1000MOVWF R3CALL DMULMOVLW HIGH D1023MOVWF R0MOVLW LOW D1023MOVWF R1CALL DDIVMOVF R2,WMOVWF R0MOVF R3,WMO

45、VWF R1CALL BCD ;BCD 码转换SWAPF R5,WANDLW 0FHMOVWF QIANMOVF R5,WANDLW 0FHMOVWF BAISWAPF R6,WANDLW 0FHMOVWF SHIMOVF R6,WANDLW 0FHMOVWF GEMOVLW 00HSUBWF R6,WBTFSS CDECF R5,FMOVLW 05HSUBWF R5,WBTFSC CGOTO BAOHUGOTO XIANSHI; MOVF QIAN,W;判断是否过载; SUBLW 02H; BTFSC C; GOTO DD ; GOTO BAOHU;DD MOVF BAI,W; XORLW

46、05H; BTFSS Z; GOTO CAIY; MOVF SHI,W; BTFSS Z; GOTO BAOHU; MOVF GE,W; BTFSS Z; GOTO BAOHU; GOTO CAIYBAOHU MOVLW 02HMOVWF STAGOTO MAIN1DYAD BCF ADFLAGMOVLW VAN0 ;AN1 模拟量采集输出电压MOVWF FSRMOVLW 09H;TAD=2TOSC,AN1MOVWF R0MOVLW 84H ;右格式 ,AN0,AN1,AN3 模拟MOVWF R1 ;其他为数字口CALL AD; 处理 A/D 的结果-MOVF VAN0,W ;转换结果*5000/1023MOVWF R0MOVF VAN0+1,WMOVWF R1MOVLW HIGH D5000MOVWF R2MOVLW LOW D5000MOVWF R3CALL DMULMOVLW HIGH D1023MOVWF R025MOVLW LOW D1023MOVWF R1CALL DDIVMOVF R3,WMOVWF R1MOVWF HOULMOVF R2,WMOVWF R0MOVWF HOUHCALL BCD ;BCD 码转换MOVF R5,WMOVWF ZCBCF CMOVF HOUL,WMOVWF R1MOVF HOUH,WMOVWF R0MOVLW 02HM

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报