?? main.asm
字號:
//*****************************************************************************/
// 描述: 通過7路AD轉(zhuǎn)換,結(jié)果存至相應(yīng)存儲單元
// 采用讀取P_ADC_MUX_DATA寄存器啟動ADC轉(zhuǎn)換。
// 日期: 2003/07/09
// 版本: 1.8.0
//*****************************************************************************/
.DEFINE P_INT_Ctrl 0x7010
.DEFINE P_INT_CLEAR 0x7011
.DEFINE P_ADC_Ctrl 0x7015
.DEFINE P_ADC_MUX_Ctrl 0x702b
.DEFINE P_ADC_MUX_DATA 0x702C
.DEFINE P_DAC_Ctrl 0x702A
.DEFINE P_WATCHDOG_CLEAR 0x7012
.ISRAM
.PUBLIC chanal_data //聲明全局變量
chanal_data:
.DW 7 DUP(?) //預(yù)留7個整型的數(shù)據(jù)單元
.CODE
.PUBLIC _main
//=============================================================================
// 函數(shù): main()
// 描述:主函數(shù)
//=============================================================================
_main:
R1 = 0x0013 //允許A/D轉(zhuǎn)換,LINE_IN輸入
[P_ADC_Ctrl] = R1
L_Clear:
R2 = 0x0000
R3=chanal_data
L_Chanal:
CMP R2, 0x0007
JE L_Clear
R2+=1 //通道計數(shù)器加1
[P_ADC_MUX_Ctrl] = R2
call L_AD
[R3++]=R1 //觸發(fā)A/D重新轉(zhuǎn)換
R1=0
L_DelayLoop: //延時
R4 = 0x0001;
[P_WATCHDOG_CLEAR] = R4;
R1+=2
JNZ L_DelayLoop
JMP L_Chanal
//*******************************************************************************/
//轉(zhuǎn)換子程序
//*******************************************************************************/
L_AD:
R1 = [P_ADC_MUX_Ctrl] //讀寄存器[P_ADC_MUX_Ctrl]的B15位
TEST R1,0x8000 //判斷是否轉(zhuǎn)換完畢
JZ L_AD //否,繼續(xù)轉(zhuǎn)換
R1 = [P_ADC_MUX_DATA] //是,則讀出[P_ADC_MUX_DATA]轉(zhuǎn)換結(jié)果
retf
//*****************************************************************************/
// main.asm 結(jié)束
//*****************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -