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

📄 rtc.asm

📁 范例程序 SONiX
💻 ASM
字号:
chip	sn8p26l38
//{{SONIX_CODE_OPTION
	.Code_Option	LVD		LVD_L		; 1.8V Reset
	.Code_Option	Reset_Pin	P02
	.Code_Option	Watch_Dog	Disable
	.Code_Option	High_Clk	4M_X'tal	; Crystal/Resonator: 2Mhz~8Mhz
	.Code_Option	Fcpu		Fosc/4
	.Code_Option	Security	Disable
//}}SONIX_CODE_OPTION

.data
	acc_buf		ds	1
	pflag_buf	ds	1
	RTC_buf		ds	1

.code

	org	00h
	jmp	main
	org	08h
	jmp	isr	

	org	10h

//============================================================================
//	timer T0 --> RTC
//============================================================================

main:
	mov	a,#00h
	b0mov	RTC_buf,a

	b0bclr	ft0enb					
	b0bset	ft0tb				
			//T0RATE is not available in RTC mode. 
			//The T0 interval time is fixed at 0.5 sec

			//T0C is 256 counts and generatesT0 0.5 sec interval time.
 			//Donˇt change T0C value inRTC mode				
	b0bset	ft0enb
	
	b0bset	ft0ien  // Enable T0 interrupt
	b0bclr	ft0irq	// Clean T0 interrupt request flag

	b0bset	fgie	// all interrupt operation			
main10:		
//==================================================================
//	
//	User code 
//
//==================================================================	
							
	jmp	main10

isr:

	mov	acc_buf,a			// Push ACC to buffer
	mov	a,pflag
	b0mov	pflag_buf,a			// Push PFLAG to buffer
isr_adc:
	b0bts1	ft0ien				// Check t0ien
	jmp	isr90				
	b0bts1	ft0irq				// Check t0irp
	jmp	isr90			
	b0bclr	ft0irq
	mov	a,RTC_buf
	add	a,#01h				// 0.5sec add one time 
	b0mov	RTC_buf,a
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 + -