欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 用單片機仿真直流數控穩壓電源設計 [打印本頁]

作者: 51黑ele    時間: 2016-5-10 19:24
標題: 用單片機仿真直流數控穩壓電源設計

給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
復制代碼




作者: jwjjwj123    時間: 2016-5-28 00:57
謝謝分享!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1