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

📄 adc_12bit_intertrupt.asm

📁 范例程序 SONiX
💻 ASM
字号:
chip	sn8p2758

.data
			adc_hi		ds		1
			adc_low		ds		1
			acc_buf		ds		1
			pflag_buf	ds		1
.code
			org	00h
			jmp	main
			org	08h
			jmp	isr

			org	10h
main:
			b0bset	fadenb				//Enable ADC circuit
			call	delay100us			//Delay 100us
			mov	a,#0feh
			b0mov	p4ur,a				// Disable P4.0 pull-up resistor
			b0bclr	fp40m				// Set P40 as input pin
			mov	a,#01h
			b0mov	p4con,a				// Set P40 as pure analog input
			mov	a,#60h				// To set 12-bit and  Fcpu/1.
			b0mov	adr,a		
			mov	a,#90h				// Enable ADC and set AIN0 input
			b0mov	adm,a
			b0bset	fadcien				// Enable ADC interrupt service
			b0bclr	fadcirq				// Clear ADC interrupt request flag
			b0bset	fgie				// Enable GIE		
			b0bset	fads				// To start conversion	
	
//===============================================================
//										
//			User	 code
//						
//===============================================================

			jmp	main



//======================================================
//        interrupt code 
//======================================================
isr:
			mov	acc_buf,a			// Push ACC to buffer
			mov	a,pflag
			b0mov	pflag_buf,a			// Push PFLAG to buffer
isr_adc:
			b0bts1	fadcien				// Check adcien
			jmp	isr90				
			b0bts1	fadcirq				// Check adcirp
			jmp	isr90			
			b0bclr	fadcirq
			b0mov	a,adb		
			b0mov	adc_hi,a			// To get ADC transform data bit11 ~ bit4
			b0mov	a,adr		
			and	a,#0fh
			b0mov	adc_low,a			// To get ADC transform data bit3 ~ bit0 
isr90:
			mov	a,pflag_buf
			b0mov	pflag,a				// Pop pflag_buf to pflag
			mov	a,acc_buf			// Pop acc_buf to acc
			reti

⌨️ 快捷键说明

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