📄 main.asm
字号:
//=====================================================================
// The information contained herein is the exclusive property of
// Sunnnorth Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorized copies.
//======================================================================
//======================================================================
// 工程名称: ex18_asm_DAC
// 功能描述: 《实验仪实验指导书》基础应用实验
// 双通道D/A
// 通过DAC1、DAC2产生两路锯齿波
// IDE环境: SUNPLUS u'nSPTM IDE 2.0.0(or later)
// 涉及的库: CMacro1016.lib
// 组成文件: main.asm
// 硬件连接: DAC输出选择跳线中的"DAC1"与"音频"短接,"DAC2"与"音频"短接;
// 示波器的探头与"DAC1"或"DAC2"针连接。
// 维护记录: 2005-09-12 v1.0
//
//======================================================================
//======================================================================
// 文件名称: main.asm
// 功能描述: 通过DAC1、DAC2产生两路锯齿波
// 维护记录: 2005-09-12 v1.0
//======================================================================
.DEFINE P_DAC2 0x7016
.DEFINE P_DAC1 0x7017
.DEFINE P_DAC_Ctrl 0x702A
.DEFINE P_Watchdog_Clear 0x7012
.RAM
.CODE
//======================================================================
// 汇编格式: _main
// C格式: int main(void);
// 实现功能: 通过DAC1、DAC2产生两路锯齿波
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器:r1,r2
//======================================================================
.PUBLIC _main
_main:
r1 = 0x0000
[P_DAC_Ctrl] = r1 //允许DAC,b1 = 0,设置DAC输出的数据锁存方式
r2 = 0x0040 //DAC的高十位有效0000 0000 0100 0000,是因为10位D/A转换是高十位
r1 = 0x0000
?Loop:
[P_DAC1] = r1 //把数值输出到DAC1
[P_DAC2] = r1 //把数值输出到DAC2
call F_Delay //延时
r1 += r2 //加上一个步进值
r3 = 0x0001
[P_Watchdog_Clear] = r3 //清看门狗
jmp ?Loop
//=======================================================================
// 汇编格式: F_Delay
// C格式: 无
// 实现功能: 软件延时
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器:r3,r4
//========================================================================
.PUBLIC F_Delay
F_Delay:
r4 = 0x001f
?Wait:
r4 -= 1
jnz ?Wait
retf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -