亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mode_switch1.asm

?? sonix單片機開發(fā)程序
?? ASM
字號:
;*******************************************************************************
; FILENAME	: MODE_Switch1.ASM
; AUTHOR	: SONiX
; PURPOSE	: Test System Mode (Normal mode, Slow mode, Green mode, and Power
;		  down mode) Switching
; REVISION	: 28/01/2003 V1.0	First issue
;*******************************************************************************
;*  (c) Copyright 2003, SONiX TECHNOLOGY CO., LTD.
;*******************************************************************************
CHIP	SN8P1808					; Select the CHIP
//{{SONIX_CODE_OPTION
	.Code_Option	OSG		Enable
	.Code_Option	High_Clk	4M_X'tal
	.Code_Option	High_Clk/2	Enable
	.Code_Option	Watch_Dog	Enable
	.Code_Option	Security	Enable
	.Code_Option	LVD		Enable
	.Code_Option	LCD		Enable
//}}SONIX_CODE_OPTION

;-------------------------------------------------------------------------------
;			Include Files
;-------------------------------------------------------------------------------
.nolist							; do not list the macro file

	INCLUDESTD	MACRO1.H
	INCLUDESTD	MACRO2.H
	INCLUDESTD	MACRO3.H

.list							; Enable the listing function

;-------------------------------------------------------------------------------
;			Constants Definition
;-------------------------------------------------------------------------------
;	ONE			EQU		1

;-------------------------------------------------------------------------------
;			Variables Definition
;-------------------------------------------------------------------------------
.DATA

	org	0h				;Bank 0 data section start from RAM address 0x000
	Wk00B0		DS	1		;Temporary buffer for main loop
	Iwk00B0		DS	1		;Temporary buffer for ISR
	AccBuf		DS	1		;Accumulater buffer
	PflagBuf	DS	1		;PFLAG buffer

	org	100h				;Bank 1 data section start from RAM address 0x100
	BufB1		DS	20		;Temporary buffer in bank 1

;-------------------------------------------------------------------------------
;			Bit Flag Definition
;-------------------------------------------------------------------------------
	Wk00B0_0    	EQU	Wk00B0.0    	;Bit 0 of Wk00B0
	Iwk00B0_1 	EQU	Iwk00B0.1   	;Bit 1 of Iwk00





;-------------------------------------------------------------------------------
;			Code section
;-------------------------------------------------------------------------------

.CODE

	ORG	0				;Code section start
	jmp	Reset				;Reset vector
						;Address 4 to 7 are reserved
	ORG	8
	jmp	Isr				;Interrupt vector

	ORG	10h
;-------------------------------------------------------------------------------
;			Program reset section
;-------------------------------------------------------------------------------
Reset:
	mov	A,#07Fh				;Initial stack pointer and
   	b0mov	STKP,A				;disable global interrupt
    	b0mov	PFLAG,#00h			;pflag = x,x,x,x,x,c,dc,z
	b0mov	RBANK,#00h			;Set initial RAM bank in bank 0
	mov  	A,#40h				;Clear watchdog timer and initial system mode
	b0mov	OSCM,A

    	call 	ClrRAM				;Clear RAM
    	call 	SysInit				;System initial
    	b0bset	FGIE				;Enable global interrupt

;-------------------------------------------------------------------------------
;			Main routine
;-------------------------------------------------------------------------------
Main:
	b0bset	FWDRST				;Clear watchdog timer

	call	MnApp

	jmp	Main

;-------------------------------------------------------------------------------
;			Main application
;-------------------------------------------------------------------------------
MnApp:

	; Put your main program here

;Normal/Slow mode to power down(sleep) mode (Wakeup by P0/P1)
	b0bset	fcpum0				;Set CPUM0=1

;Normal mode to slow mode (The external high-speed oscillator is still running)
	b0bset	fclkmd				;To set CLKMD=1

;Slow mode to normal mode (The external high-speed oscillator is still running)
	b0bclr	fclkmd				;To set CLKMD=0

;Normal mode to slow mode (The external high-speed oscillator stops)
	b0bset	fclkmd				;To set CLKMD=1
	b0bset	fstphx				;To stop external high-speed oscillator

;Slow mode to normal mode (The external high-speed oscillator stops)
	b0bclr	fstphx				;Turn on the external high-speed oscillator
	
	b0mov	z,#27				;If VDD=5V, internal RC=32KHz (typical) will delay
@@:	decms	z				;0.125ms*81=10.125ms for external clock stable
	jmp	@B

	b0bclr	fclkmd				;Change the system back to the normal mode

;Normal/Slow mode to green mode	(Wakeup by P0/P1)
	b0bset	fcpum1				;To set CPUM1=1

;Normal/Slow mode to green mode (Wakeup by T0)
	b0bclr	ft0ien				;To disable T0 interrupt service
	b0bclr	ft0enb				;To disable T0 timer
	mov	a,#20h		
	b0mov	t0m,a				;To set T0 clock=fcpu/64
	mov	a,#74h
	b0mov	t0c,a				;To set T0C initial value=74H (To set T0 interval=10ms)
	b0bclr	ft0ien				;To disable T0 interrupt service
	b0bclr	ft0irq				;To clear T0 interrupt request
	b0bset	ft0enb				;To enable T0 timer

	b0bclr	fcpum0				;To set CPUM1,CPUM0=10 (Go into green mode)
	b0bset	fcpum1	

	ret

;-----------------------------------
;	Jump table routine
;-----------------------------------
	ORG	0x0100				;The jump table should start from the head 
						;of boundary.
	b0mov	A,Wk00B0              
	and	A,#3
	ADD    	PCL,A
	jmp    	JmpSub0
	jmp    	JmpSub1
	jmp    	JmpSub2
;-----------------------------------


JmpSub0:
	; Subroutine 1
	jmp	JmpExit

JmpSub1:
	; Subroutine 2
	jmp	JmpExit

JmpSub2:
	; Subroutine 3
	jmp	JmpExit

JmpExit:
	ret					;Return Main

;-------------------------------------------------------------------------------
; Isr (Interrupt Service Routine)
; Arguments	: 
; Returns	: 
; Reg Change: 
;-------------------------------------------------------------------------------
/*
Processing multi-interrupt request needs to set the priority of these interrupt requests.
The IRQ flags of the 7 interrupt are controlled by the interrupt event occurring. But the
IRQ flag set doesn't mean the system to execute the interrupt vector. The IRQ flags can be
triggered by the events without interrupt enable. Just only any the event occurs and the 
IRQ will be logic "1".
There are two things need to do for multi-interrupt. One is to make a good priority for
these interrupts. Two is using IEN and IRQ flags to decide executing interrupt service 
routine or not.
*/

Isr:
;-----------------------------------
;	Save ACC and system registers
;-----------------------------------
	b0xch	A,AccBuf			;B0xch instruction do not change C,Z flag
	push					; Save 80h ~ 87h system							

;-----------------------------------
;   Check which interrupt happen
;-----------------------------------

INTP00CHK:					; Check INT0 interrupt request
	B0BTS1	FP00IEN				; Check P00IEN
	JMP	INTP01CHK			; Jump check to next interrupt
	B0BTS0	FP00IRQ				; Check P00IRQ
	JMP	INTP00				; Jump to INT0 interrupt service routine
INTP01CHK:					; Check INT1 interrupt request
	B0BTS1	FP01IEN				; Check P01IEN
	JMP	INTP02CHK			; Jump check to next interrupt
	B0BTS0	FP01IRQ				; Check P01IRQ
	JMP	INTP01				; Jump to INT1 interrupt service routine
INTP02CHK:					; Check INT2 interrupt request
	B0BTS1	FP02IEN				; Check P02IEN
	JMP	INTT0CHK			; Jump check to next interrupt
	B0BTS0	FP02IRQ				; Check P02IRQ
	JMP	INTP02				; Jump to INT2 interrupt service routine
INTT0CHK:					; Check T0 interrupt request
	B0BTS1	FT0IEN				; Check T0IEN
	JMP	INTTC0CHK			; Jump check to next interrupt
	B0BTS0	FT0IRQ				; Check T0IRQ
	JMP	INTT0				; Jump to T0 interrupt service routine
INTTC0CHK:					; Check TC0 interrupt request
	B0BTS1	FTC0IEN				; Check TC0IEN
	JMP	INTTC1CHK			; Jump check to next interrupt
	B0BTS0	FTC0IRQ				; Check TC0IRQ
	JMP	INTTC0				; Jump to TC0 interrupt service routine
INTTC1CHK:					; Check TC1 interrupt request
	B0BTS1	FTC1IEN				; Check TC1IEN
	JMP	INTSIOCHK			; Jump check to next interrupt
	B0BTS0	FTC1IRQ				; Check TC1IRQ
	JMP	INTTC1				; Jump to TC1 interrupt service routine
INTSIOCHK:					; Check SIO interrupt request
	B0BTS1	FSIOIEN				; Check SIOIEN
	JMP	INT_EXIT			; Jump to exit of IRQ
	B0BTS0	FSIOIRQ				; Check SIOIRQ
	JMP	INTSIO				; Jump to SIO interrupt service routine


;-----------------------------------
; Exit interrupt service routine
;-----------------------------------

INT_EXIT:

	pop					; Restore 80h ~ 87h system registers			
	b0xch	A,AccBuf			; B0xch instruction do not change C,Z flag

	reti					; Exit the interrupt routine



;-------------------------------------------------------------------------------
;	INT0 interrupt service routine
;-------------------------------------------------------------------------------
INTP00:
	b0bclr	FP00IRQ

	;Process P0.0 external interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	INT1 interrupt service routine
;-------------------------------------------------------------------------------
INTP01:
	b0bclr	FP01IRQ

	;Process P0.1 external interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	INT2 interrupt service routine
;-------------------------------------------------------------------------------
INTP02:
	b0bclr	FP02IRQ

	;Process P0.2 external interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	T0 interrupt service routine
;-------------------------------------------------------------------------------
INTT0:
	b0bclr	FT0IRQ

	;Process T0 internal interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	TC0 interrupt service routine
;-------------------------------------------------------------------------------
INTTC0:
	b0bclr	FTC0IRQ

	;Process TC0 timer interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	TC1 interrupt service routine
;-------------------------------------------------------------------------------
INTTC1:
	b0bclr	FTC1IRQ

	;Process TC1 timer interrupt here

	jmp	INT_EXIT
;-------------------------------------------------------------------------------
;	SIO interrupt service routine
;-------------------------------------------------------------------------------
INTSIO:
	b0bclr	FSIOIRQ

	;Process SIO interrupt here

	jmp	INT_EXIT

;-------------------------------------------------------------------------------
;	SysInit
; 	Initialize I/O, Timer, Interrupt, etc.
;-------------------------------------------------------------------------------
SysInit:
	@SET_PUR	0x33			;Set P0, P1, P4, P5 with pull-up resistor

	mov	a,#00h				;Clear P1, P2, P4, P5
	b0mov	p1,a
	b0mov	p2,a
	b0mov	p4,a
	b0mov	p5,a

	mov	a,#00h
	b0mov	p1m,a				;Set P1 to input mode

	mov	a,#00000001b
	b0mov	p1w,a				;Enable P1.0 wakeup function

	ret

;-------------------------------------------------------------------------------
; ClrRAM
; Use index @YZ to clear RAM  (00h~7Fh)
;-------------------------------------------------------------------------------

ClrRAM:

; RAM Bank 0
	clr	Y    				;Select bank 0 
	b0mov	Z,#0x7f				;Set @YZ address from 7fh

ClrRAM10:
	clr	@YZ				;Clear @YZ content
	decms	Z  				;z = z - 1 , skip next if z=0
	jmp	ClrRAM10
	clr 	@YZ				;Clear address 0x00

; RAM Bank 1
	mov	A,#1
	b0mov	Y,A				;Select bank 1
	b0mov	Z,#0x7f				;Set @YZ address from 17fh

ClrRAM20:
	clr	@YZ				;Clear @YZ content
	decms	Z				;z = z - 1 , skip next if z=0
	jmp 	ClrRAM20
	clr 	@YZ				;Clear address 0x100
	ret

;-------------------------------------------------------------------------------
	ENDP

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
裸体在线国模精品偷拍| 欧美性猛交一区二区三区精品 | a在线播放不卡| 欧美日韩国产天堂| 中文字幕av一区 二区| 免费在线一区观看| 91成人网在线| 欧美国产精品中文字幕| 精品一区二区三区香蕉蜜桃| 在线免费视频一区二区| 国产精品国产a| 国产一区二区影院| 日韩无一区二区| 亚洲成人精品一区二区| 色视频一区二区| 亚洲欧美日韩中文播放| 成人免费高清在线观看| 国产亚洲婷婷免费| 男人的天堂久久精品| 欧美视频三区在线播放| 亚洲一区二区五区| 在线视频一区二区三| 亚洲色大成网站www久久九九| 国产.欧美.日韩| 国产亚洲精品bt天堂精选| 久久精品国产一区二区| 欧美一区二区三区精品| 丝袜诱惑亚洲看片| 69堂成人精品免费视频| 丝袜亚洲另类丝袜在线| 91精品久久久久久久91蜜桃| 日韩高清欧美激情| 日韩免费视频一区二区| 精品一区二区久久久| 精品国产髙清在线看国产毛片| 免费观看日韩av| 久久久久久免费| www.亚洲人| 亚洲一区在线观看免费观看电影高清 | 国产在线播放一区二区三区| 精品女同一区二区| 久久99国产精品免费| 日韩免费视频一区二区| 国产激情一区二区三区桃花岛亚洲| 亚洲精品在线观看视频| 粉嫩嫩av羞羞动漫久久久| 国产精品网站导航| 在线免费亚洲电影| 久久99精品久久久| 国产精品午夜在线| 色综合久久久久网| 蜜桃视频免费观看一区| 国产无人区一区二区三区| 成人免费va视频| 亚洲动漫第一页| 精品日本一线二线三线不卡| 成人国产精品免费观看视频| 亚洲一级电影视频| 精品国产91久久久久久久妲己 | 国产麻豆精品一区二区| 中文字幕中文字幕一区二区| 91亚洲精品乱码久久久久久蜜桃 | 亚洲最新视频在线播放| 欧美一二三在线| 成人精品免费网站| 午夜精品福利视频网站| 国产女同性恋一区二区| 欧美亚日韩国产aⅴ精品中极品| 久久精品国产亚洲aⅴ| 国产精品久久夜| 欧美一区二区三区的| 99久久精品国产毛片| 蜜桃久久久久久| 亚洲精品乱码久久久久久久久 | a在线欧美一区| 免费精品视频在线| 亚洲乱码中文字幕综合| 精品成人一区二区三区四区| 色av一区二区| 成人性生交大片免费看中文网站| 亚洲图片欧美综合| 亚洲婷婷综合色高清在线| 精品免费视频.| 精品视频在线看| 97久久精品人人爽人人爽蜜臀| 秋霞成人午夜伦在线观看| 亚洲欧美激情小说另类| 久久久久久久久伊人| 制服.丝袜.亚洲.另类.中文| 日本大香伊一区二区三区| 韩国女主播一区二区三区| 首页国产丝袜综合| 亚洲日本丝袜连裤袜办公室| 欧美激情资源网| 精品国产三级a在线观看| 欧美理论电影在线| 欧美自拍丝袜亚洲| 91蝌蚪porny| 成人h精品动漫一区二区三区| 久久精品国产亚洲一区二区三区| 天堂av在线一区| 亚洲成人免费在线| 亚洲丶国产丶欧美一区二区三区| 亚洲精品乱码久久久久久| 中文字幕视频一区| 综合网在线视频| 国产精品传媒视频| 国产精品久久久久婷婷| 欧美韩国日本综合| 国产精品热久久久久夜色精品三区| 精品国产一区二区三区久久影院| 欧美精品在欧美一区二区少妇| 欧美日韩一区在线| 欧美三级蜜桃2在线观看| 欧美日韩一区二区三区免费看| 欧美日韩情趣电影| 91精品国产综合久久精品| 欧美日韩大陆一区二区| 欧美妇女性影城| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区视频在线观看2020 | 成人午夜精品一区二区三区| 国产成人自拍网| 99久久综合国产精品| 99精品欧美一区| 欧美午夜精品一区二区三区| 欧美肥胖老妇做爰| 日韩一区二区在线播放| 精品国产免费人成在线观看| 久久九九久久九九| 亚洲欧美国产77777| 亚洲国产日韩精品| 免费观看在线综合| 国产成人免费视频网站 | 亚洲最大色网站| 日韩电影免费一区| 国产高清久久久久| 色吊一区二区三区| 日韩一区二区免费视频| 中文字幕乱码日本亚洲一区二区| 亚洲色图清纯唯美| 人人精品人人爱| 国产aⅴ综合色| 欧美亚洲国产一区二区三区| 日韩视频免费观看高清完整版在线观看| 精品国产亚洲一区二区三区在线观看| 国产精品午夜电影| 亚洲国产一区二区三区| 韩日欧美一区二区三区| 色欧美88888久久久久久影院| 欧美日韩二区三区| 国产精品卡一卡二卡三| 亚洲va韩国va欧美va精品 | 免费成人在线影院| aaa欧美大片| 欧美一区二区视频在线观看| 亚洲人吸女人奶水| 开心九九激情九九欧美日韩精美视频电影 | 欧美精品乱码久久久久久| 久久亚洲私人国产精品va媚药| 亚洲欧美成人一区二区三区| 精品一区二区三区欧美| 91黄色免费观看| 久久精品亚洲国产奇米99 | 亚洲国产视频网站| 国产精品18久久久久久久久 | 国产一区三区三区| 欧美视频一区二区三区在线观看| 欧美激情中文不卡| 九色综合国产一区二区三区| 欧美日韩一区二区在线观看| 日韩毛片精品高清免费| 国产高清精品久久久久| 日韩精品在线网站| 视频一区二区不卡| 91久久精品一区二区| 国产精品理论在线观看| 国产乱色国产精品免费视频| 欧美一区二区三区视频| 玉足女爽爽91| 91在线小视频| 中文字幕免费观看一区| 国产高清精品网站| 精品国产乱码久久久久久蜜臀| 日本人妖一区二区| 欧美精品久久一区| 午夜精品一区在线观看| 在线精品视频一区二区三四| 亚洲欧美偷拍三级| 色综合天天天天做夜夜夜夜做| 国产精品国产三级国产aⅴ入口| 国产福利一区二区三区在线视频| 精品欧美一区二区久久| 久久 天天综合| 久久精品亚洲精品国产欧美kt∨| 韩国av一区二区三区四区 | 亚洲韩国精品一区| 欧美日韩日日摸| 日本三级亚洲精品| 欧美tickling挠脚心丨vk|