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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mode_switch1.asm

?? MODE_Switch1數碼管控制源程序
?? 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成电影网站色mp4| 56国语精品自产拍在线观看| 亚洲色图.com| 99久久国产综合精品女不卡| 日韩伦理av电影| 欧美日韩一区二区在线视频| 日本美女一区二区三区| 欧美精品一区二区三区四区| 国产成人av电影| 亚洲激情第一区| 欧美电影一区二区三区| 久久国产欧美日韩精品| 国产女人水真多18毛片18精品视频| 成人性生交大片免费看在线播放| 一区二区三区日韩| 欧美一级国产精品| 成人av在线网| 日韩高清电影一区| 久久一区二区视频| 91视频在线观看| 日韩成人伦理电影在线观看| 国产亚洲短视频| 欧美视频你懂的| 国内不卡的二区三区中文字幕| 国产精品免费免费| 精品婷婷伊人一区三区三| 美女mm1313爽爽久久久蜜臀| 国产精品久久久一本精品| 欧美精品xxxxbbbb| 成人污污视频在线观看| 亚洲国产日产av| 欧美极品少妇xxxxⅹ高跟鞋| 欧美精品自拍偷拍| 高清国产一区二区三区| 亚洲超碰97人人做人人爱| 欧美激情中文不卡| 日韩亚洲欧美成人一区| zzijzzij亚洲日本少妇熟睡| 日韩精品午夜视频| 亚洲伦理在线精品| 久久午夜羞羞影院免费观看| 欧美日韩美少妇| 99综合影院在线| 国产精品伊人色| 免费成人在线影院| 亚洲自拍偷拍欧美| 综合网在线视频| 久久久久国产免费免费| 777午夜精品视频在线播放| 91视频国产资源| 成人深夜视频在线观看| 精品亚洲国内自在自线福利| 亚洲第一狼人社区| 一区二区三区欧美视频| 国产精品国模大尺度视频| 久久精品一区蜜桃臀影院| 日韩欧美一区二区视频| 欧美精品18+| 欧美巨大另类极品videosbest| 欧美中文一区二区三区| 91丨九色porny丨蝌蚪| 成人精品小蝌蚪| 成人性色生活片免费看爆迷你毛片| 极品少妇xxxx精品少妇偷拍| 秋霞av亚洲一区二区三| 午夜视频一区二区三区| 亚洲第一会所有码转帖| 一区二区高清免费观看影视大全| 亚洲三级久久久| 最新不卡av在线| 日韩久久一区二区| 亚洲欧美日韩系列| 亚洲黄色小说网站| 亚洲制服丝袜av| 五月天中文字幕一区二区| 亚洲一区二区三区中文字幕 | 自拍偷拍国产亚洲| 国产精品国产a级| 综合欧美亚洲日本| 亚洲女人****多毛耸耸8| 亚洲精品国产品国语在线app| 亚洲免费在线视频一区 二区| 亚洲色图视频网| 亚洲精品老司机| 亚洲一区二区美女| 五月天亚洲精品| 精品一区免费av| 从欧美一区二区三区| 国产99久久久久| 日本大香伊一区二区三区| 91国内精品野花午夜精品| 欧美在线观看视频在线| 制服丝袜av成人在线看| 2023国产精品视频| 中文字幕一区视频| 五月天丁香久久| 国产毛片一区二区| 91女神在线视频| 宅男噜噜噜66一区二区66| 欧美电影免费观看高清完整版在线 | 午夜精品一区二区三区免费视频| 日日夜夜一区二区| 国产麻豆欧美日韩一区| 94色蜜桃网一区二区三区| 欧美日韩国产色站一区二区三区| 日韩三级视频在线观看| 中文字幕国产精品一区二区| 洋洋av久久久久久久一区| 免费观看在线综合色| 成人国产免费视频| 欧美高清性hdvideosex| 久久久电影一区二区三区| 一区二区三区免费| 九九**精品视频免费播放| 成人午夜电影久久影院| 欧美日韩国产综合一区二区| 久久久久久**毛片大全| 亚洲一区中文日韩| 国产麻豆精品theporn| 91福利视频在线| 国产亚洲一区字幕| 天天爽夜夜爽夜夜爽精品视频| 国产高清无密码一区二区三区| 欧美性一二三区| 日本一区二区在线不卡| 日韩成人伦理电影在线观看| 91网站黄www| 久久久久高清精品| 日本不卡视频一二三区| 日本乱人伦一区| 国产女同性恋一区二区| 美美哒免费高清在线观看视频一区二区 | 538在线一区二区精品国产| 中文字幕欧美区| 美女一区二区视频| 欧美日韩中文字幕一区二区| 国产精品久久久久毛片软件| 久久er99热精品一区二区| 欧美日精品一区视频| 亚洲欧洲三级电影| 国产精品亚洲人在线观看| 制服.丝袜.亚洲.另类.中文| 亚洲在线视频免费观看| 99re成人精品视频| 中文字幕av一区二区三区免费看| 狠狠色丁香婷婷综合| 欧美一区二区免费观在线| 亚洲一二三专区| 91一区二区在线| 中文乱码免费一区二区 | 成人精品高清在线| 久久久精品国产免费观看同学| 日本三级亚洲精品| 欧美肥妇free| 亚洲福利视频一区| 欧美亚洲免费在线一区| 亚洲麻豆国产自偷在线| 99久久久无码国产精品| 国产精品剧情在线亚洲| 成人精品gif动图一区| 国产片一区二区| 成人一区二区三区| 日韩一区欧美小说| 99精品久久免费看蜜臀剧情介绍| 国产精品久久久久影院老司| 99视频一区二区三区| 亚洲视频一区二区在线观看| 成人h精品动漫一区二区三区| 国产精品无人区| av不卡在线观看| 亚洲伊人色欲综合网| 欧美男生操女生| 麻豆中文一区二区| 久久综合久久久久88| 国产精品一级黄| 亚洲色图丝袜美腿| 欧美天堂亚洲电影院在线播放| 亚洲成人动漫在线观看| 欧美一级高清片在线观看| 狠狠狠色丁香婷婷综合激情| 国产视频一区在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 美女脱光内衣内裤视频久久影院| 日韩一级黄色片| 精品综合免费视频观看| 亚洲国产精品精华液2区45| av电影在线观看完整版一区二区| 亚洲精品高清在线| 51精品秘密在线观看| 经典三级视频一区| 亚洲视频一二三| 在线不卡中文字幕| 国产精品小仙女| 亚洲一区二区三区视频在线播放| 欧美一级艳片视频免费观看| 国产高清视频一区| 亚洲成人高清在线| 欧美激情在线一区二区三区| 欧美色爱综合网| 国产成人综合精品三级|