简易数控直流电压源_第1页
简易数控直流电压源_第2页
简易数控直流电压源_第3页
简易数控直流电压源_第4页
简易数控直流电压源_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库 数 控 电 压 源 实 习 报 告 班级 测控 12 1 31 号 设计人 王秋桦 指导老师 庄严 设计时间 2015 12 01 精选文库 摘摘 要要 本设计采用数字电位器 MCP41010 和功率放大电路 LM324 构成输出电压在 0 1 9 9V 的直 流稳压电源 整个电路由 D A 转换模块 电压放大模块 精密电压源模块和过流保护模块 组成 数字控制部分采用 按键来调整预设电压值 调整步进 0 1V 当按下 按键超过 1 秒时进入快速调整状态 每秒步进为 0 4V 最后再将放大后的输出电压值和输出电流值 经过 PIC16F877A 的内部 A D 转换并在数码管上实时显示 关键词 数字电位器 D A 转换 电压源 过流保护 精选文库 目录目录 1 系统设计 4 1 1 设计要求 4 1 1 1 设计任务 4 1 1 2 基本要求 4 1 1 3 发挥部分 4 1 1 4 测试要求 4 1 1 5 系统框图 4 1 2 方案论证与比较 5 1 2 1 电压采样模块 5 1 2 2 稳压模块 6 1 2 3 过载保护模块 6 1 2 4 最终方案 7 2 单元电路分析 8 2 1 D A 转换模块 8 2 1 1 工作原理 8 2 1 2 参数选择 8 2 2 电压放大模块 8 2 2 1 工作原理 8 2 2 2 参数选择 9 2 3 稳定电压源及电压采样模块 9 2 3 1 工作原理 9 2 3 2 参数选择 10 2 4 过载保护模块 10 2 4 1 工作原理 10 2 4 2 参数选择 11 3 软件设计 11 3 1 实现功能 11 3 2 软件平台及开发工具 12 3 3 软件流程图 12 4 系统测试 12 4 1 电路测试步骤 12 5 结论 12 6 参考文献 12 7 附录 13 精选文库 1 系统设计 1 1 设计要求 1 1 1 设计任务 设计一台直流稳压电源 电压变化范围 10 1 1 2 基本要求 1 1 输出电压 输出电压 范围 0 9 9V 步进 0 1V 纹波不大于 10mV 2 2 最大输出电流 最大输出电流 500mA 3 3 启停键 启停键 工作 与 停止 两状态的转换键 每按该键一次状态翻转一次 4 4 停止停止 状态 状态 禁止电压输出 状态指示灯灭 电压指示器显示预设电压 负载电流 为 0 在该状态下按 两键调整预设电压值 调整步进 0 1V 5 5 工作状态工作状态 允许输出预设电压 正常工作指示灯亮 电压 电流指示器实时显示 输出电压和负载电流 一旦负载电流超限输出保护关断信号 转入 保护 状态 保护响 应时间不超过 10mS 处在 工作 状态时输出电压不能调整 按启停键转换到 停止 状 态 6 6 保护保护 状态 状态 禁止电压输出 过载指示灯亮 电压 电流指示器显示预设电压和超 载时的电流值 5 秒后自动回到 停止 状态 1 1 3 发挥部分 1 1 增加快速调整功能 按下 键超过 1 秒后进入快速调整 每秒步进 0 4V 2 2 系统能保存预设电压值 每次开机时的预设电压值为上次关机前的预设电压值 1 1 4 测试要求 在最小系统板数码管上可以清晰读出预设电压值 采样电压值和采样电流值 1 1 5 系统框图 精选文库 图 1 1 2 方案论证与比较 1 2 1 电压采样模块 方案一 在输出口串上两个大电阻和一个电位器 从电位器的中间抽头进行采样 这样不但 可以得到完全采样 而且可调 因为实际的电阻值与所标的电阻值会有一些误差 电位器的 精密度等都会增加电压采样误差 电路图如下 方案二 由于产生的稳定直流电压源的电压值高达 9 9V 不能直接送给 PIC 的 I O 采样 则需将其线性降压 而此降压电路模块不会影响电压源的各性能 因此利用电压跟随器的 输入电阻无穷大的特性 得出采样电压 图 3 综合以上分析 方案二较好 1 2 2 稳压模块 方案一 如下图所示 电路接成串联型电压负反馈 我们把输入电压加到运放的同相 端 与 6 脚的取样电压构成差动放大器 把他们之间的电压差进行放大 放大后的电压再 精选文库 接到调整管的基级 通过调整管的调整作用 来达到稳定输出电压的效果 方案二 如图 电压经过差分放大后由功率三极管放大电流组成电压负反馈电路 再经过电容滤波 电路即可输出稳定的直流电压 综合以上分析 方案二较好 1 2 3 过载保护模块 方案一 如下图所示 10K R14 10K R13 33KR15 10KR10 1 2 W R8 10KR11 10KR12 10KR9 10KRW 2 L 100 uH 100uF C6 1000uF C12 C7 104 104 C13 12 A D 12 13 14 4 11 IC4 9 10 8 4 11 IC3 104 C8 R16 100 T1 TIP122 T3 901 3 U5 U6 U8 U1 0 U1 1 U1 2 U1 3 VO UT 图 6 上图采用复合管组成限流型保护电路 通过调整电阻 R8 当电路中的电流达到或超过 图 5 精选文库 需保护的设定值时 R8 两端的电压超过 0 5V 9013 导通工作 电流中的电流可通过 9013 进行分流 使得 TIP122 的基极电位被拉下来 使得 TIP122 截止 以此来保护调整管 当 R8 两端的电压小于 0 5V 时 9013 截止 TIP122 恢复工作 但过载时 电流不易测得 而 且 LM324 的输入端电压最小为 300mV 当取样电阻两端电压过小时 LM324 取样不到 从而 影响后续的同相比例放大及 A D 值 方案二 如下图所示 图 7 在如上的电路中 将负载接在电流取样电阻之前 输出电压会受到电流取样电阻的影 响 一旦取样电阻确定后 通过观测其两端电压大小即可得出流经负载的电流值大小 通 过软件控制过载时对电路的保护 从而 使得过载时 电流易于测得 综上所述 选用方案二 1 2 4 最终方案 单片机 PIC16F877A 主要用于预设输出电压值并通过按键来实现输出电压的步进控制 当电路输出较大电压 若输出端所接负载较小 电路中电流较大 超过设计要求 系统启 动保护状态 过载保护通过软件来实现 系统将电路中实时采样的电压值和电流值送数码管 显示 1 单片机控制模块 采用 PIC16F877A 单片机为核心 2 基准电压模块 采用数字电位器 MCP41010 进行 D A 转换输出基准电压 3 控制调整模块 采用达林顿管 TIP122 进行控制调整输出电压 4 输出取样模块 采用电阻臂进行电压取样 小功率电阻进行电流取样 5 显示模块 采用数码管显示 2 单元电路分析 2 1 D A 转换模块 2 1 1 工作原理 精选文库 如图所示 利用 PIC16F877A 及数字电位器 MCP41010 进行 D A 转换 从而得到步进电 压源 MCP41010 的 1 2 3 脚分别与 PIC 的三个 I O 口相连 当 0 时 MCP41010 才CS 工作 SCK 用于接入 PIC 的 C2 口输出的时钟信号 SI 为 MCP41010 的数据输入引脚 用于 接收从 PIC 的 C3 口输出的数据信号 即步进电压信号 当 0 时 SCK 的上升沿到来时 CS 数据从 SI 引脚输入数字电位器 从而得到步进电压 2 1 2 参数选择 图 8 电解电容 瓷片电容是为了对 2 5V 参考电压进行滤波 故可选取电解电容 2 C 1 C 为 100 F 瓷片电容为 104 2 C 1 C 2 2 电压放大模块 2 2 1 工作原理 如图所示 由于 MCP41010 是 8 位电流型串行数字电位器 可产生 256 个步进 当参考 电压为 2 5V 时 PW0 输出的步进值约为 0 01V 所以要想得到步进值为 0 1V 需放大 5 倍 并且电位器每次步进 2 阶同时自动调整 通过对输出 D A 的输出电压进行同相放大 该电 路的放大倍数大约为 5 倍 并通过电位器来改变它的放大倍数 从而达到对输出电压进行 硬件校准的目的 图 9 2 2 2 参数选择 精选文库 1 电路负反馈放大倍数 5 132 2 132 2 w w i i o i u RRR R RRR R V V V V A 不妨选取 KR WKR WKR w 10 25 0 39 25 0 10 1 3 2 电位器 2 集成运放选取 LM324 2 3 稳定电压源及电压采样模块 2 3 1 工作原理 如图所示 集成运放的 5 6 7 引脚构成差分放大电路 与功率三极管 TIP122 组成闭环 负反馈电路 使得 5 和 6 引脚的电压保持相等 其中功率三极管还起到放大电流的作用 各电容起到稳压滤波作用 由于输出电压范围为 0 9 9V 不能直接将其作为电压采样值送 给 PIC 的 I O 口 所以需要将其线性降压 根据电压跟随器的输入电阻无穷大的特性 组 成如图采样电路 并且不影响直流电压源的各参数性质 图 10 2 3 2 参数选择 1 由于设计要求电压源输出的电压高达 9 9V 所以用大于 9 9V 的电源给电路供电 三极管是电流控制电流型器件 考虑到流经其上的电流要高达 0 5A 因此所选三极管的功 率要承受 WAVVIP55 0 10 所以需要选择散热性好的功率三极管 TIP122 并且加上散热片帮助其尽快散热 2 稳压滤波电容 104 220 11 10 C uFC 104 100 7 6 C uFC 精选文库 3 电压采样电阻 使得 范围是 0 4 95V 符KRR10 97 108 2 1 2 1 VVV DA 合 I O 口采样电压值要求 2 4 过载保护模块 2 4 1 工作原理 如图所示 通过对电阻两端电压的取样及放大 从而得到对应电流值所对应的电压 8 R 值 DA VRIV 8 5 1 采样 IC4 构成同相输入比例放大电路 放大倍数为 5 倍 需 A D 转换的电流进行滤波 13 C 图 11 2 4 2 参数选择 1 为便于运算 选用 1 由于输出的最大电流可达 500mA 由可得 8 RRIP 2 0 25W 为保险起见 故选用 1 2W 的功率电阻 max P 8 R 2 可取瓷片电容 104 13 C 注意 14 引脚输出出不可加电容值较大的电解电容 由于采样功率电阻阻值非常小 在 电流值不大的情况下 相应的电压值也很小 一旦在 14 引脚出接一个较大的电解电容虽然 有稳压滤波的作用 可是其充放电会严重影响 A D 采样的电压值 即相应的电流采样值 3 过载保护电路放大倍数 5 21514 14 21514 14 w w i i o i u RRR R RRR R V V V V A 因此不妨选取 KR WKR WKR w 10 25 0 33 25 0 10 1 15 14 电位器 精选文库 3 软件设计 3 1 软件平台及开发工具 本系统软件的开发平台是 MPLAB IDE 开发工具为 MPLAB ICD2 3 2 软件流程图 精选文库 精选文库 4 系统测试 4 1 测试步骤 第一步 检查电路没有问题 上电 第二步 预设置电压值 并用数字万用表检测输出电压 及功率电阻两端的电压 第三步 用示波器测输出电压的纹波 4 2 测试结果 输出电压及功率电阻两端的电压见下表 Vout 设 定值 V Vout 测 量值 V 功率电阻两 端电压 mV 流过功率电 阻电流 mA A D 显示的 电流 mA Vout 误 差 电流误 差 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 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 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 精选文库 7 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 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 欧 输出电压的纹波在 10 20mV 之间 5 5 结论结论 本设计基本完成基本要求里面的内容和发挥部分的功能和指标 表 1 基本要求发挥部分实现性能 输出电压 范围 0 9 9V 步进 0 1V 纹波不大于 10mV 基本实现 纹波 10 20mV 最大输出电流 500mA实现 启停键 工作 与 停止 两 状态的转换键 每按该键一次状 态翻转一次 实现 停止 状态 禁止电压输出 状态指示灯灭 电压指示器显示 预设电压 负载电流为 0 在该 状态下按 两键调整预 设电压值 调整步进 0 1V 实现 工作状态 允许输出预设电 压 正常工作指示灯亮 电压 电流指示器实时显示输出电压和 负载电流 一旦负载电流超限输 出保护关断信号 转入 保护 状态 保护响应时间不超过 实现 精选文库 10mS 处在 工作 状态时输出 电压不能调整 按启停键转换到 停止 状态 保护 状态 禁止电压输出 过载指示灯亮 电压 电流指示 器显示预设电压和超载时的电流 值 5 秒后自动回到 停止 状 态 实现 增加快速调整功能 按下 键超过 1 秒后进入快速 调整 每秒步进 0 4V 实现 系统能保存预设电压值 每次 开机时的预设电压值为上次关 机前的预设电压值 实现 6 参考文献 1 清华大学电子学教研组编 阎石主编 数字电子技术基础 第五版 北京 高等教育 出版社 2006 5 2 张华林 周小方编著 电子设计竞赛实训教程 北京 北京航空航天大学出版社 2007 7 7 附录 7 1 原器件明细表 器件名称数量备注器件名称数量备注 MCP410101LM3241 已有 TIP1221 已有电容 104 4 电阻 1 2W 2 电阻 33K 2 电阻 1K 1 电阻 10K 10 电位器 10K 2 电阻 5K1 2 精选文库 7 2 电路原理图 7 3 电路 PCB 图 7 4源程序如下 系统程序设计 080727 几个重要子程序及主子程序之间的关 系 以下为特殊功能存储器的定义 INCLUDE PIC16F877A INC 以下为 I O 口定义 DEFINECS41010 RC 2 MCP41010 器片选 DEFINECS3202 RC 1 12 位 AD 转 换器片选 精选文库 DEFINELDAC RC 0 数据转存到 DAC 寄存器 DEFINESCK RC 4 SPI 串口时钟 线 DEFINESDI RC 5 SPI 串口数据输入 DEFINESDO 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 CS7 RE 2 LED7 以下为内部 RAM 的定义 WBUFEQU 20H W 保护单元 含 0A0H 单元 STBUFEQU 21H STATUS 保护单 元 FSBUFEQU 22H FSR 保护单元 PCBUFEQU 23H PCLATH 保护单 元 R0EQU 24H R0 7 工作寄存器 R1EQU 25H R0 7 循环变量或中间 结果 R2EQU 26H R3EQU 27H R4EQU 28H R5EQU 29H R6EQU 2AH R7EQU 2BH R8 EQU 2CH R9 EQU 2DH DSBITEQU 2EH 显示位选 0 7 LED0 LED7 DSBUF0 EQU 2FH LED0 DSBUF1 EQU 30H 显缓 LED1 DSBUF2 EQU 31H 显缓 LED2 DSBUF3 EQU 32H 显缓 LED3 DSBUF4 EQU 33H 显缓 LED4 DSBUF5 EQU 34H 显缓 LED5 DSBUF6 EQU 35H 显缓 LED6 DSBUF7 EQU 36H 显缓 LED7 DSDOT EQU 37H 小数点位 DEFINEDOT0 DSDOT 0 DEFINEDOT1 DSDOT 1 DEFINEDOT2 DSDOT 2 DEFINEDOT3 DSDOT 3 DEFINEDOT4 DSDOT 4 DEFINEDOT5 DSDOT 5 DEFINEDOT6 DSDOT 6 DEFINEDOT7 DSDOT 7 DSFLEQU 38H 显示位闪烁控制 0 7 分别对应 LED0 7 SHAN EQU 39H DEFINEFLON SHAN 0 闪烁总控位 1 闪 DEFINEADFLAG SHAN 1 DEFINEDAFLAG SHAN 2 DEFINEJJDAFLAG SHAN 3 DEFINEXIEBZ SHAN 4 DEFINEXIEFLAG SHAN 5 DEFINEXIEWAN SHAN 6 KEY1EQU 3AH 键值 1 触发 型 KEY2EQU 3BH 键值 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 4 LASTK1 EQU 3CH 旧键值 1 控 制型 LASTK2 EQU 3DH 旧键值 2 控 精选文库 制型 DEFINE LK0 LASTK1 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 3 ANJCOUNT EQU 3EH 按键去抖 HOUHEQU 3FH 时单元 非压 缩 BCD 码 HOULEQU 40H MINHEQU 41H 分单元 非压 缩 BCD 码 MINLEQU 42H SECEQU 43H 秒 单元 2 进制 SECW EQU 46H SECC EQU 47H 0 5 秒单元 2 进制 TURN EQU 48H SHUKON EQU 49H GE EQU 50H SHI EQU 51H BAI EQU 52H QIAN EQU 53H TIMEREQU 44H 走时用 5ms 加 1 CYDYDI EQU 60H 采样电压低位 CYDYGAO EQU 61H 采样电压高位 KUAIJIN EQU 62H 预设电压缓冲器 COUNT EQU 63H S1H EQU 64H S1Z EQU 65H S1L EQU 66H R1H EQU 67H R1L EQU 68H ZC EQU 69H CISHU EQU 70H COUNTER EQU 71H STAEQU 45H 工作状态寄存器 VAN0EQU 54H 模拟 AN0 的 AD 值 2 字节 VAN0 高位 VAN0 1 低位 宏定义 W STATUS FSR PCLATH 进栈 PUSHMACRO MOVWF WBUF SWAPF WBUF 1 SWAPF STATUS W BCF RP0 BCF RP1 MOVWF STBUF SWAPF FSR W MOVWF FSBUF SWAPF PCLATH W MOVWF PCBUF ENDM 宏定义 W STATUS FSR PCLATH 出栈 POPMACRO BCF RP0 BCF RP1 SWAPF PCBUF W MOVWF PCLATH SWAPF FSBUF W MOVWF FSR SWAPF STBUF W MOVWF STATUS SWAPF WBUF W ENDM 宏定义 RAM 体选择 BANK0 MACRO BCF RP1 BCF RP0 ENDM BANK1 MACRO 精选文库 BCF RP1 BSF RP0 ENDM BANK2 MACRO BSF RP1 BCF RP0 ENDM BANK3 MACRO BSF RP1 BSF RP0 ENDM 主程序入口向量 RESET VECTOR ORG 0 x000 CLRF PCLATH GOTO MAIN GOTO MAIN GOTO MAIN 中断入口向量 INTERRUPT VECTORSORG 0 x004 PUSH 进栈 BANK0 CLRF PCLATH GOTO INTSEV ORG 0 x0020 INCLUDE ZHICHENGXU INC 中断服务子程序 INTSEV NOP 实际为中断程序 体 POP RETFIE MAIN BANK1 上电复位判断 MOVF PCON W BSF POR BTFSS POR GOTO 2 BANK0 ANDLW 02H BTFSS Z GOTO RSTELSE MOVLW 2CH 上电复位初始化 MOVWF FSR CLRF F0 INCF FSR 1 BTFSS FSR 7 GOTO 3 以上清 RAM2C 7FH CLRF RA MOVLW 0C0H ANDWF RB F MOVLW B 00000000 MOVWF RC CLRF RD CLRF RE 以上 IO 口初 始设置 CALL DACLOSE 读 EEPROM BANK2 MOVLW 00H MOVWF EEADR BANK3 BCF EEPGD BSF EECON1 0 BANK2 MOVF EEDATA W BANK0 MOVWF MINL 读下一个单元给 MINH BANK2 MOVLW 01H MOVWF EEADR BANK3 BCF EEPGD BSF EECON1 0 BANK2 MOVF EEDATA W BANK0 MOVWF MINH RSTELSE BANK1 CLRWDT 特殊功能寄 精选文库 存器初始化 BANK1 MOVLW B 00000011 MOVWF TRISA MOVLW B 11000000 MOVWF TRISB MOVLW 00H MOVWF TRISC CLRF TRISD CLRF TRISE CLRF RC MOVLW 06H AN0 7 设为数字 口 MOVWF ADCON1 CLRF PIE1 BANK0 CLRF ADCON0 CLRF PCLATH CLRF INTCON CLRF PIR1 MOVLW 0F6H MOVWF TMR1H MOVLW 3CH MOVWF TMR1L MOVLW 01H MOVWF T1CON BCF ADFLAG BCF XIEBZ BCF XIEFLAG 清写 EEPROM 标志位 BCF XIEWAN CLRF STA CLRF DSFL CLRF KUAIJIN MOVLW 00H MOVWF SHUKON MAIN1 BANK0 BTFSS TMR1IF GOTO MAIN1 CLRWDT BCF TMR1IF 以下为重要功能寄存器冗余设置 应视具体应用情况作相应调整 BANK1 MOVLW B 00000011 MOVWF TRISA MOVLW B 11000000 MOVWF TRISB MOVLW 00H MOVWF TRISC CLRF TRISE BANK0 CLRF PCLATH MOVLW 0F6H MOVWF TMR1H MOVLW 3CH MOVWF TMR1L ZK CALL ANJSCAN EYCALL DISP BCF FLON KAISHI MOVLW HIGH TAB MOVWF PCLATH MOVF STA W 根据 STA 值 散转 ANDLW 07H ADDLW LOW TAB BTFSC C INCF PCLATH F MOVWF PCL TABGOTO SHEZHI GOTO DIANYA GOTO GUOZAIBAOHU SHEZHI BTFSS XIEFLAG GOTO BEGIN 将 MINL 写入 EEPROM 中 NOP BANK3 NOP BTFSC EECON1 1 WR 精选文库 GOTO MAIN1 BANK0 BTFSS XIEWAN GOTO XIE BCF XIEWAN BCF XIEFLAG BCF XIEFLAG GOTO BEGIN XIEBTFSC XIEBZ 写 EEPROM GOTO XIEGAO BSF XIEBZ BANK2 MOVLW 00H MOVWF EEADR BANK0 MOVF MINL W BANK2 MOVWF EEDATA GOTO XX XIEGAO BANK0 BCF XIEBZ BSF XIEWAN BANK2 MOVLW 01H MOVWF EEADR BANK0 MOVF MINH W BANK2 MOVWF EEDATA XXBANK3 BCF EEPGD BSF WREN BCF GIE MOVLW 55H MOVWF EECON2 MOVLW 0AAH MOVWF EECON2 BSF EECON1 1 BSF GIE BCF WREN NOP GOTO MAIN1 BEGINBANK0 CLRF R2 CALL WDA 调用控制 MCP41010 子程序禁止电压输出 BSF RC 0 将输出电压放电 BSF DOT1 BCF DOT3 BCF DOT4 MOVF MINH W MOVWF DSBUF1 MOVLW 0AH MOVWF DSBUF2 MOVWF DSBUF3 MOVWF DSBUF4 MOVWF DSBUF5 MOVWF DSBUF6 MOVWF DSBUF7 SWAPF MINH W IORWF MINL W MOVWF S1L CLRF S1Z CLRF S1H CALL BCDTOBIN MOVF R1L W MOVWF KUAIJIN MOVF KUAIJIN W MOVWF SHUKON BTFSS K4 GOTO DF MOVLW 01H MOVWF STA BSF DAFLAG MOVLW 40H MOVWF CISHU GOTO MAIN1 DFBTFSS LK0 GOTO NEX BSF XIEFLAG 置写 EEPROM 标志位 CALL CLOCK MOVF SEC W XORLW 01H BTFSS Z 精选文库 GOTO QQ1 MOVLW 02H MOVWF DSFL GOTO QQ NEX BTFSS LK2 GOTO QQ CALL CLOCK MOVF SEC W XORLW 01H BTFSS Z GOTO QQ1 MOVLW 02H MOVWF DSFL QQCLRF SEC QQ1MOVLW HIGH LAB1 MOVWF PCLATH MOVF DSFL W ANDLW 07H ADDLW LOW LAB1 BTFSC C INCF PCLATH F MOVWF PCL LAB1 GOTO DYL GOTO DYH GOTO KUAISU DYL BSF FLON BTFSS K0 GOTO JIAN INCF MINL F BSF XIEFLAG 置写 EEPROM 标志位 MOVF MINL W XORLW 0AH BTFSC Z CLRF MINL GOTO AA JIAN BTFSS K2 GOTO AA BSF XIEFLAG 置写 EEPROM 标志位 DECF MINL F MOVF MINL W XORLW 0FFH BTFSS Z GOTO AA MOVLW 09H MOVWF MINL AAMOVF MINL W 用 MINL 存预 设电压低位 MOVWF DSBUF0 BTFSS K1 GOTO 2 INCF DSFL F GOTO MAIN1 DYH BSF FLON BTFSS K0 GOTO JIAN1 BSF XIEFLAG 置写 EEPROM 标志位 INCF MINH F MOVF MINH W XORLW 0AH BTFSC Z CLRF MINH GOTO AA1 JIAN1 BTFSS K2 GOTO AA1 BSF XIEFLAG 置写 EEPROM 标志位 DECF MINH F MOVF MINH W XORLW 0FFH BTFSS Z GOTO AA1 MOVLW 09H MOVWF MINH AA1MOVF MINH W 用 MINL 存预 设电压高位 MOVWF DSBUF1 BTFSS K1 GOTO 2 精选文库 CLRF DSFL GOTO MAIN1 KUAISU BTFSS LK0 GOTO NEX1 BSF XIEFLAG 置写 EEPROM 标志位 MOVF KUAIJIN W ADDLW 04H MOVWF KUAIJIN NEX1BTFSS LK2 GOTO OUT BSF XIEFLAG 置写 EEPROM 标志位 MOVLW 04H SUBWF KUAIJIN F OUTMOVF KUAIJIN W SUBLW 63H BTFSS Z GOTO 2 CLRF KUAIJIN MOVF KUAIJIN W MOVWF R1 CLRF R0 CALL BCD MOVF R6 W ANDLW 0FH MOVWF MINL MOVWF DSBUF0 MOVF R6 W SWAPF R6 W ANDLW 0FH MOVWF MINH MOVWF DSBUF1 CLRF STA CLRF DSFL GOTO MAIN1 DIANYABCF DOT3 BCF DOT4 BSF DOT1 BTFSS K4 GOTO DJ MOVLW 00H MOVWF STA GOTO MAIN1 DJBCF RC 0 关三极管放电 CLRF DSFL DSBUF0 3 BTFSS DAFLAG GOTO ADAD BTFSS JJDAFLAG GOTO 3 MOVLW 02H SUBWF SHUKON F MOVF SHUKON W 控制 MCP41010 MOVWF R2 CALL WDA 调用控制 MCP41010 子程序 BCF DAFLAG ADADBTFSS ADFLAG GOTO DLAD GOTO DYAD DLADBSF ADFLAG MOVLW VAN0 AN0 模拟量 采集负载电流 MOVWF FSR MOVLW 01H TAD 2TOSC AN0 MOVWF R0 MOVLW 84H 右格式 AN0 AN1 AN3 模拟 MOVWF R1 AN7 1 为数字口 CALL AD 处理 A D 的结果 MOVF VAN0 W 转换结果 精选文库 1000 1023 MOVWF R0 MOVF VAN0 1 W MOVWF R1 MOVLW HIGH D 1000 MOVWF R2 MOVLW LOW D 1000 MOVWF R3 CALL DMUL MOVLW HIGH D 1023 MOVWF R0 MOVLW LOW D 1023 MOVWF R1 CALL DDIV MOVF R2 W MOVWF R0 MOVF R3 W MOVWF R1 CALL BCD BCD 码转换 SWAPF R5 W ANDLW 0FH MOVWF QIAN MOVF R5 W ANDLW 0FH MOVWF BAI SWAPF R6 W ANDLW 0FH MOVWF SHI MOVF R6 W ANDLW 0FH MOVWF GE MOVLW 00H SUBWF R6 W BTFSS C DECF R5 F MOVLW 05H SUBWF R5 W BTFSC C GOTO BAOHU GOTO XIANSHI MOVF QIAN W 判断是否过载 SUBLW 02H BTFSC C GOTO DD GOTO BAOHU DDMOVF BAI W XORLW 05H BTFSS Z GOTO CAIY MOVF SHI W BTFSS Z GOTO BAOHU MOVF GE W BTFSS Z GOTO BAOHU GOTO CAIY BAOHU MOVLW 02H MOVWF STA GOTO MAIN1 DYADBCF ADFLAG MOVLW VAN0 AN1 模拟量 采集输出电压 MOVWF FSR MOVLW 09H TAD 2TOSC AN1 MOVWF R0 MOVLW 84H 右格式 AN0 AN1 AN3 模拟 MOVWF R1 其他为数字口 CALL AD 处理 A D 的结果 MOVF VAN0 W 转换结果 5000 1023 MOVWF R0 MOVF VAN0 1 W MOVWF R1 MOVLW HIGH D 5000 MOVWF R2 MOVLW LOW D 5000 MOVWF R3 CALL DMUL MOVLW HIGH D 1023 MOVWF R0 精选文库 MOVLW LOW D 1023 MOVWF R1 CALL D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论