|
給51黑電子論壇的朋友分享一個直流數(shù)控穩(wěn)壓電壓的proteus仿真設(shè)計
說明:本電路是一個數(shù)控穩(wěn)壓電源,輸出電壓+1.5~+12V
按動輸出電壓增加按鈕可以使輸出電壓升高;按動輸出電壓減小按鈕可以使輸出電壓降低。按住按鍵不松手可以快速調(diào)整輸出電壓。
0.png (82.98 KB, 下載次數(shù): 140)
下載附件
2016-5-10 19:21 上傳
0.png (43.76 KB, 下載次數(shù): 149)
下載附件
2016-5-10 19:21 上傳
仿真工程文件和源代碼下載:
數(shù)控穩(wěn)壓電源.rar
(107.12 KB, 下載次數(shù): 76)
2016-5-10 19:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
直流數(shù)控穩(wěn)壓電源的程序:
- DAC EQU 8000H ;DAC0832的地址
- VOL EQU 30H ;存儲輸出電壓值
- MAX EQU 229 ;輸出電壓最大值
- MIN EQU 5 ;輸出電壓最小值
- CHANGE EQU 1 ;輸出電壓增量
- ORG 0H
- LJMP START
- ORG 3H
- LJMP DOWN
- ORG 13H
- LJMP UP
- ;===============================================================
- ;主程序
- ;===============================================================
- ORG 30H
- START: MOV SP,#60H
- SETB EX0
- SETB EX1
- SETB IT0
- SETB IT1
- SETB EA
- MOV VOL,#MIN ;輸出電壓最小值
- MOV DPTR,#DAC
- MOV A,VOL
- MOVX @DPTR,A ;輸出最低電壓
- SJMP $
- ;================================================================
- ;外部中斷1中斷服務(wù)程序
- ;實現(xiàn)每次按鍵輸出電壓增加19.6*2.4=47.04mV
- ;按住鍵不松手則輸出電壓快速增加,每次循環(huán)(約514ms)增加19.6*5*2.4=235.2mV
- ;================================================================
- UP: PUSH PSW
- PUSH ACC
- MOV A,VOL
- ADD A,#CHANGE ;輸出增加1個字
- UP4: MOV VOL,A
- CJNE A,#MAX,UP1
- SJMP UP2
- UP1: JC UP2
- MOV VOL,#MAX ;輸出最大電壓值
- UP2: MOV A,VOL
- MOVX @DPTR,A ;改變D/A輸出電壓
- LCALL DELAY
- SETB P3.3
- JB P3.3,UP3 ;按鍵松開則退出;否則快加。
- MOV A,VOL
- ADD A,#5 ;輸出每次增加5個字
- SJMP UP4
- UP3: POP ACC
- POP PSW
- RETI
- ;================================================================
- ;外部中斷0中斷服務(wù)程序
- ;實現(xiàn)每次按鍵輸出電壓減少19.6*2.4=47.04mV
- ;按住鍵不松手則輸出電壓快速減少,每次循環(huán)(約514ms)減少19.6*5*2.4=235.2mV
- ;================================================================
- DOWN: PUSH PSW
- PUSH ACC
- SETB RS0
- MOV A,VOL
- CLR C
- SUBB A,#CHANGE ;輸出減小1個字
- DOWN4: MOV VOL,A
- CJNE A,#MIN,DOWN1
- SJMP DOWN2
- DOWN1: JNC DOWN2
- MOV VOL,#MIN ;輸出最小電壓值
- DOWN2: MOV A,VOL
- MOVX @DPTR,A ;改變D/A輸出電壓
- LCALL DELAY
- SETB P3.2
- JB P3.2,DOWN3 ;按鍵松開則退出;否則快減。
- CLR C
- MOV A,VOL
- SUBB A,#5 ;輸出每次減少5個字
- SJMP DOWN4
- DOWN3: POP ACC
- POP PSW
- RETI
- ;============================================================
- ;延時子程序
- ;對于12MHz晶振,延時時間大約514ms
- ;============================================================
- DELAY: MOV R5,#2
- D2: MOV R6,#0
- D1: MOV R7,#0
- DJNZ R7,$
- DJNZ R6,D1
- DJNZ R5,D2
- RET
- END
復(fù)制代碼
|
|