标题:
51单片机数控直流电源仿真程序设计 DAC0832+74LS138+uA741+LM317 汇编语言
[打印本页]
作者:
鬼西西
时间:
2022-4-24 10:44
标题:
51单片机数控直流电源仿真程序设计 DAC0832+74LS138+uA741+LM317 汇编语言
说明:本电路是一个数控稳压电源,输出电压+1.5~+12V
按动输出电压增加按钮可以使输出电压升高;按动输出电压减小按钮可以使输出电压降低。按住按键不松手可以快速调整输出电压。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
(121.71 KB, 下载次数: 40)
下载附件
2022-4-25 03:57 上传
单片机源程序如下:
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中断服务程序
;实现每次按键输出电压增加19.6*2.4=47.04mV
;按住键不松手则输出电压快速增加,每次循环(约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中断服务程序
;实现每次按键输出电压减少19.6*2.4=47.04mV
;按住键不松手则输出电压快速减少,每次循环(约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
复制代码
代码都在上面了
下面是Proteus仿真下载:
数控稳压电源(适用于Proteus7.12).7z
(101.94 KB, 下载次数: 44)
2022-4-25 04:01 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
heicad
时间:
2022-4-25 04:02
好资料,51黑有你更精彩!!!
作者:
haokanma77
时间:
2022-4-25 20:01
这个不错,先记录,有需要时下载
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1