找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4301|回复: 1
打印 上一主题 下一主题
收起左侧

用单片机仿真直流数控稳压电源设计

[复制链接]
跳转到指定楼层
楼主

给51黑电子论坛的朋友分享一个直流数控稳压电压的proteus仿真设计
说明:本电路是一个数控稳压电源,输出电压+1.5~+12V
           按动输出电压增加按钮可以使输出电压升高;按动输出电压减小按钮可以使输出电压降低。按住按键不松手可以快速调整输出电压。








仿真工程文件和源代码下载: 数控稳压电源.rar (107.12 KB, 下载次数: 76)


直流数控稳压电源的程序:
  1. DAC        EQU        8000H                ;DAC0832的地址
  2. VOL        EQU        30H                ;存储输出电压值
  3. MAX        EQU        229                ;输出电压最大值
  4. MIN        EQU        5                ;输出电压最小值
  5. CHANGE        EQU        1                ;输出电压增量
  6.         ORG        0H
  7.         LJMP        START
  8.         ORG        3H
  9.         LJMP        DOWN
  10.         ORG        13H
  11.         LJMP        UP
  12. ;===============================================================
  13. ;主程序
  14. ;===============================================================
  15.         ORG        30H
  16. START:        MOV        SP,#60H
  17.         SETB        EX0
  18.         SETB        EX1
  19.         SETB        IT0
  20.         SETB        IT1
  21.         SETB        EA
  22.         MOV        VOL,#MIN        ;输出电压最小值
  23.         MOV        DPTR,#DAC
  24.         MOV        A,VOL
  25.         MOVX        @DPTR,A                ;输出最低电压
  26.         SJMP        $
  27. ;================================================================
  28. ;外部中断1中断服务程序
  29. ;实现每次按键输出电压增加19.6*2.4=47.04mV
  30. ;按住键不松手则输出电压快速增加,每次循环(约514ms)增加19.6*5*2.4=235.2mV
  31. ;================================================================
  32. UP:        PUSH        PSW
  33.         PUSH        ACC
  34.         MOV        A,VOL
  35.         ADD        A,#CHANGE        ;输出增加1个字
  36. UP4:        MOV        VOL,A
  37.         CJNE        A,#MAX,UP1
  38.         SJMP        UP2
  39. UP1:        JC        UP2
  40.         MOV        VOL,#MAX        ;输出最大电压值
  41. UP2:        MOV        A,VOL
  42.         MOVX        @DPTR,A                ;改变D/A输出电压
  43.         LCALL        DELAY
  44.         SETB        P3.3
  45.         JB        P3.3,UP3        ;按键松开则退出;否则快加。
  46.         MOV        A,VOL
  47.         ADD        A,#5                ;输出每次增加5个字
  48.         SJMP        UP4
  49. UP3:        POP        ACC
  50.         POP        PSW
  51.         RETI
  52. ;================================================================
  53. ;外部中断0中断服务程序
  54. ;实现每次按键输出电压减少19.6*2.4=47.04mV
  55. ;按住键不松手则输出电压快速减少,每次循环(约514ms)减少19.6*5*2.4=235.2mV
  56. ;================================================================
  57. DOWN:        PUSH        PSW
  58.         PUSH        ACC
  59.         SETB        RS0
  60.         MOV        A,VOL
  61.         CLR        C
  62.         SUBB        A,#CHANGE        ;输出减小1个字
  63. DOWN4:        MOV        VOL,A
  64.         CJNE        A,#MIN,DOWN1
  65.         SJMP        DOWN2
  66. DOWN1:        JNC        DOWN2
  67.         MOV        VOL,#MIN        ;输出最小电压值
  68. DOWN2:        MOV        A,VOL
  69.         MOVX        @DPTR,A                ;改变D/A输出电压
  70.         LCALL        DELAY
  71.         SETB        P3.2
  72.         JB        P3.2,DOWN3        ;按键松开则退出;否则快减。
  73.         CLR        C
  74.         MOV        A,VOL
  75.         SUBB        A,#5                ;输出每次减少5个字
  76.         SJMP        DOWN4
  77. DOWN3:        POP        ACC
  78.         POP        PSW
  79.         RETI
  80. ;============================================================
  81. ;延时子程序
  82. ;对于12MHz晶振,延时时间大约514ms
  83. ;============================================================
  84. DELAY:        MOV        R5,#2
  85. D2:        MOV        R6,#0
  86. D1:        MOV        R7,#0
  87.         DJNZ        R7,$
  88.         DJNZ        R6,D1
  89.         DJNZ        R5,D2
  90.         RET
  91.         END
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:61390 发表于 2016-5-28 00:57 | 只看该作者
谢谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表