📄 wdac0.asm
字号:
;参考程序A.: WDAC0.ASM 程序产生方波, DAC输出更新发生在写DAC0H时
$include (c8051f020.inc) // SFR declarations
ORG 0
MAIN:MOV WDTCN,#0deH ;关看门狗
MOV WDTCN,#0adH
LCALL DAC_Init ;初始化D/A
LOOP:MOV DAC0L,#0f0H ;设置待转换的值并启动D/A转换
MOV DAC0H,#0fH ;出现高电平
LCALL Delay
MOV DAC0L,#00H ;设置待转换的值并启动D/A转换
MOV DAC0H,#0H ;出现低电平
LCALL Delay
LJMP LOOP
RET
DAC_Init: ;初始化D/A
MOV REF0CN,#03H ;内部偏压发生器和电压基准缓冲器工作,基准从VREF引脚输出
ORL DAC0CN,#80H ;DAC0允许,DAC输出更新发生在写DAC0H时
RET
Delay: ;延时子程序
MOV R7, #08h
Delay1:MOV R6, #80h
Delay0: MOV R5, #00h
DJNZ R5, $
DJNZ R6, Delay0
DJNZ R7, Delay1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -