📄 da0832.#3
字号:
$INCLUDE(C8051F020.INC)
ORG 0000H
AJMP START
ORG 0100H
START :
mov WDTCN, #0dfh ; disable watchdog timer 禁止看门狗定时器
mov WDTCN, #0adh
mov OSCXCN, #67h ; enable external crystal 外部晶振
; oscillator at 22.1184MHz
clr A ; wait at least 1ms 延时1ms
djnz acc, $ ; wait ~512us
djnz acc, $ ; wait ~512us
; orl OSCICN, #08h
; orl OSCXCN, #80h
PORT_Init:
; mov XBR0, #00h
; mov XBR1, #00h
mov XBR2, #40h
EMIF_Init:
mov EMI0CF, #2fh ; 复用方式,高4端口。
mov EMI0TC, #65h ; 时序控制,timing (7-cycle MOVX)
mov P74OUT, #0FFh ; P4-7口推挽输出
; mov P3MDOUT, #00h ; P0口推挽输出
MAIN: MOV DPTR,#01f00H ; 置DAC0832的地址
LP: MOV A,#0F0H ; 设定高电平
MOVX @DPTR,A ; 启动D/A转换,输出高电平
LCALL DELAY ; 延时显示高电平
MOV A,#10H ; 设定低电平
MOVX @DPTR,A ; 启动D/A转换,输出低电平
LCALL DELAY ; 延时显示低电平
SJMP LP ; 连续输出方波
; 延时子程序
Delay:
mov r5, #3
A0: mov r6, #0
A1: mov r7, #0
DelayLoop:
NOP
NOP
djnz r7, DelayLoop
djnz r6, A1
djnz r5, A0
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -