?? senddatatoad9851.asm
字號:
NAME sdata
?PR?_senddatatoad9851?sdata SEGMENT CODE
;?DT?_senddatatoad9851?sdata SEGMENT DATA OVERLAYABLE
;?BI?_senddatatoad9851?sdata SEGMENT BIT OVERLAYABLE
PUBLIC _senddatatoad9851
?_senddatatoad9851?BIT:
DATA7 BIT P0.7
FQ_UD BIT P0.6
W_CLK BIT P0.5
RSEG ?PR?_senddatatoad9851?sdata
;=================================================
;寫頻率數據到AD9851,時鐘三倍頻已經打開,如果晶振是30000000HZ
;則時鐘等于18000000HZ
;R3-R2-R1-R0四個字節,這個32位的數據代表了將輸出頻率值(注意,不是等于)
;單位HZ
;32位的數據=所需輸出的頻率值(HZ)乘以2的32次方得到的積再除以18000000
;-------------------------------------------------
_senddatatoad9851:
CLR FQ_UD
MOV A,R7 ;數據低位字節
LCALL SEND_PLLRDATA
MOV A,R6
LCALL SEND_PLLRDATA
MOV A,R5
LCALL SEND_PLLRDATA
MOV A,R4 ;數據高位字節
LCALL SEND_PLLRDATA
MOV A,#001B
LCALL SEND_PLLRDATA
SETB FQ_UD
CLR FQ_UD
RET
;--------------------------------------------------
;==================================================
;==================================================
;--------------------------------------------------
SEND_PLLRDATA:
MOV C,ACC.0
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.1
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.2
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.3
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.4
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.5
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.6
MOV DATA7,C
SETB W_CLK
CLR W_CLK
MOV C,ACC.7
MOV DATA7,C
SETB W_CLK
CLR W_CLK
RET
;-------------------------------------
;=====================================
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -