📄 sanjiao.asm
字号:
;此程序为产生连续两个幅度不一样的三角波
;DACO输出波形啊
.include "F2407REGS.H" ;引用头部文件
.def _c_int0
.bss DAC0_VAL,1
.bss DAC1_VAL,1
.bss DAC2_VAL,1
.bss DAC3_VAL,1
.bss flag,1
;(2)主程序:
.text
_c_int0
SETC INTM
CLRC SXM
CLRC OVM
CLRC CNF
LDP #0E0H
SPLK #83FEH,SCSR1 ;CLKIN=6 M,CLKOUT=24 M
SPLK #0E8h,WDCR ;关看门狗
LDP #0
SPLK #0001h,IMR ;允许INT1中断
SPLK #0FFFFh,IFR ;清所有中断标志
SPLK #0H,flag
LDP #0000h ;Set date page pointer to 0
SPLK #0000h,DAC0_VAL ;Load 03FFh into DAC0_VAL register
SPLK #0000h,DAC1_VAL
SPLK #0000h,DAC2_VAL
SPLK #0000h,DAC3_VAL ;Load 07FFh into DAC1_VAL register
ZAC
WAIT1: LACL DAC0_VAL
ADD #0005h
SACL DAC0_VAL
OUT DAC0_VAL,0000h ;Write 07FFh to the DAC1 register
OUT DAC3_VAL,0004h ;Start DAC conversions by writing a
SUB #0CCCH
BCND WAIT1,LEQ
ZAC
WAIT2: LACL DAC0_VAL
SUB #0005h
SACL DAC0_VAL
OUT DAC0_VAL,0000h
OUT DAC3_VAL,0004h
SUB #0010H
BCND WAIT2,GEQ
ZAC
WAIT3: LACL DAC0_VAL
ADD #0005h
SACL DAC0_VAL
OUT DAC0_VAL,0000h ;Write 07FFh to the DAC1 register
OUT DAC3_VAL,0004h ;Start DAC conversions by writing a
SUB #0666H
BCND WAIT3,LEQ
ZAC
WAIT4: LACL DAC0_VAL
SUB #0005h
SACL DAC0_VAL
OUT DAC0_VAL,0000h
OUT DAC3_VAL,0004h
SUB #0010H
BCND WAIT4,GEQ
ZAC
B WAIT1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -