⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 em78p372n_ad.dt

📁 义隆EM78P372N资料
💻 DT
字号:
;**************************************************************************
;以下的程序是用查询方式实现P50的AD转换,并把转换的结果存储在 
;D_ADDATAL和D_ADDATAH中,采用内部VDD作为参考电压。
;**************************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Disable
;编译软件:eUIDE version 1.02.09.07

INCLUDE "EM78P372N.INC"
	COUNTER		==	0X10    ;校正AD次数         
	D_ADDATAH	==	0X21    ;ADC高四位组结果变量
	D_ADDATAL	==	0X22    ;ADC低位元组结果变量
	ORG 	0X00      
	JMP 	INITIAL
	ORG 	0X08 
INITIAL:    
	WDTC
	DISI
	BS		S_BANK
	MOV		A,@0X7F
	MOV		SCR,A				;选择4MHz
	BC		S_BANK
	BC		IOCS
	MOV 	A,@0X01
	IOW 	P5CR			;PORT5为输入口 
	MOV 	A,@0X01                
	MOV 	AISR,A			;选择AD0作为采样口          
	MOV 	A,@0X08
	MOV 	ADCON,A			;参考电压为VDD,ADC的时钟预分频1:16
							;开ADC的电源,致能ADO采样口     
	CALL	AD_CALI_P		;调用精度校正子程序     
	BS  	ADRUN			;开始AD转换
	JBC 	ADRUN			;判断是否转换完成
	JMP 	$-1     
	MOV 	A,ADDATA1L		;读取ADC低位元组结果值
	MOV 	D_ADDATAL,A         
	MOV 	A,ADDATA1H		;读取ADC高四位组结果值
	MOV 	D_ADDATAH,A     
	JMP		INITIAL
	JMP 	$				;死循环
;********************************************************
;   AD校正子程序部分
;******************************************************** 
AD_CALI_P:					;校正ADC位准正电压
	MOV 	A,@0X07
	MOV 	COUNTER,A
	MOV 	A,@0XF8			;使能ADC位准校正功能
	MOV 	ADOC,A 
CAL_LOOP_P:
	BS  	ADRUN			;开始AD转换
	JBC 	ADRUN			;判断是否转换完成
	JMP 	$-1
	MOV	A,ADDATA1H
	AND	A,@0X0F
	JBS	Z
	JMP	CAL_STILL_P       
	MOV 	A,ADDATA1L       
	JBC 	Z   			;判断ADC低位元组结果值是否为0
	JMP 	CAL_END
CAL_STILL_P:    
	MOV 	A,@0X08
	SUB 	ADOC,A			;每次微调2LSB        
	DJZ 	COUNTER			;至多减七次          
	JMP 	CAL_LOOP_P        
AD_CALI_N:					;校正ADC位准负电压
	MOV 	A,@0X07
	MOV 	COUNTER,A
	MOV 	A,@0X80			;使能ADC位准校正功能
	MOV 	ADOC,A
CAL_LOOP_N:
	BS  	ADRUN			;开始AD转换
	JBC 	ADRUN			;判断是否转换完成
	JMP 	$-1 
	MOV	A,ADDATA1H
	AND	A,@0X0F
	JBS	Z 
	JMP	CAL_STILL_N               
	MOV 	A,ADDATA1L		;判断ADC低位元组结果值是否为0
	JBC 	Z
	JMP 	CAL_END
CAL_STILL_N:  
	MOV 	A,@0X08 
	ADD 	ADOC,A			;每次微调2LSB        
	DJZ 	COUNTER			;至多减七次 
	JMP 	CAL_LOOP_N       
CAL_END: 
	BC  	CALI 			;除能ADC位准校正功能 
	RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -