?? adc0832.asm
字號:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
ACALL ADCONV
MOV P0,B
AJMP MAIN
ADCS BIT P3.3 ;使能接口
ADCLK BIT P3.2 ;時鐘接口
ADDO BIT P3.1 ;數(shù)據(jù)輸出接口(復用)
ADDI BIT P3.1 ;數(shù)據(jù)輸入接口
MOV B,#02H ;裝入通道功能選擇數(shù)據(jù)值
;== ADC0832讀數(shù)據(jù)子程序==
ADCONV:
SETB ADDI ;初始化通道選擇
NOP
NOP
CLR ADCS ;拉低/CS端
NOP
NOP
SETB ADCLK ;拉高CLK端
NOP
NOP
CLR ADCLK ;拉低CLK端,形成下降沿
MOV A,B
MOV C,ACC.1 ;確定取值通道選擇
MOV ADDI,C
NOP
NOP
SETB ADCLK ;拉高CLK端
NOP
NOP
CLR ADCLK ;拉低CLK端,形成下降沿2
MOV A,B
MOV C,ACC.0 ;確定取值通道選擇
MOV ADDI,C
NOP
NOP
SETB ADCLK ;拉高CLK端
NOP
NOP
CLR ADCLK ;拉低CLK端,形成下降沿3
SETB ADDI
NOP
NOP
MOV R7,#8 ;準備送下后8個時鐘脈沖
AD_1:
MOV C,ADDO ;接收數(shù)據(jù)
MOV ACC.0,C
RL A ;左移一次
SETB ADCLK
NOP
NOP
CLR ADCLK ;形成一次時鐘脈沖
NOP
NOP
DJNZ R7,AD_1 ;循環(huán)8次
MOV C,ADDO ;接收數(shù)據(jù)
MOV ACC.0,C
MOV B,A
MOV R7,#8
AD_13:
MOV C,ADDO ;接收數(shù)據(jù)
MOV ACC.0,C
RR A ;左移一次
SETB ADCLK
NOP
NOP
CLR ADCLK ;形成一次時鐘脈沖
NOP
NOP
DJNZ R7,AD_13 ;循環(huán)8次
CJNE A,B,ADCONV ;數(shù)據(jù)校驗
SETB ADCS ;拉高/CS端
CLR ADCLK ;拉低CLK端
SETB ADDO ;拉高數(shù)據(jù)端,回到初始狀態(tài)
RET
;==子程序結(jié)束==
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -