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

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

?? timer.asm

?? sonix單片機(jī)開(kāi)發(fā)程序
?? ASM
字號(hào):
;*******************************************************************************
; FILENAME	: TIMER.ASM
; AUTHOR	: SONiX
; PURPOSE	: TEST T0, TC0, and TC1. To set 10ms interval time for T0, TC0, and
;		  TC1 interrupt at 4MHz high-speed mode. When T0 interrupt, we toggle
;		  P1.0. When TC0 interrupt, we toggle P1.1. When TC1 interrupt, we
;		  toggle P1.2.
; REVISION	: 28/01/2003 V1.0	First issue
;*******************************************************************************
;*  (c) Copyright 2003, SONiX TECHNOLOGY CO., LTD.
;*******************************************************************************
CHIP	SN8P1708					; Select the CHIP
//{{SONIX_CODE_OPTION
	.Code_Option	OSG		Enable
	.Code_Option	High_Clk	4M_X'tal
	.Code_Option	High_Clk/2	Disable
	.Code_Option	Security	Enable
	.Code_Option	LVD		Enable
	.Code_Option	Watch_Dog	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

	
	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		;Reset T0IRQ
	
	;Process T0 internal interrupt here
	MOV	A,#74H
	B0MOV	T0C,A		;Reload T0C
	
	MOV	A,P1
	XOR	A,#00000001B
	B0MOV	P1,A

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

	;Process TC0 timer interrupt here
	
	MOV	A,P1
	XOR	A,#00000010B
	B0MOV	P1,A

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

	;Process TC1 timer interrupt here

	MOV	A,P1
	XOR	A,#00000100B
	B0MOV	P1,A

	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:
	MOV	A,#00000000B
	B0MOV	P1,A		;Clear P1
	MOV	A,#00000111B
	B0MOV	P1M,A		;Set P1.2~P1.0 is output mode
;--------------------------------------------------------------------------------
	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 = 10 ms)
	B0BSET	FT0IEN		;To enable T0 interrupt service
	B0BCLR	FT0IRQ		;To clear T0 interrupt request
	B0BSET	FT0ENB		;To enable T0 timer
;-------------------------------------------------------------------------------
	B0BCLR	FTC0IEN		;To disable TC0 interrupt service
	B0BCLR	FTC0ENB		;To disable TC0 timer
	MOV	A,#20H
	B0MOV	TC0M,A		;To set TC0 clock=fcpu/64
	MOV	A,#74h
	B0MOV	TC0C,A		;To set TC0C initial value = 74H (To set TC0 interval = 10 ms)
	B0MOV	TC0R,A		;To set TC0R auto-reload register

	B0BSET	FTC0IEN		;To enable TC0 interrupt service
	B0BCLR	FTC0IRQ		;To clear TC0 interrupt request
	B0BSET	FTC0ENB		;To enable TC0 timer
	B0BSET	FALOAD0		;To enable TC0 auto-reload function
;--------------------------------------------------------------------------------
	B0BCLR	FTC1IEN		;To disable TC1 interrupt service
	B0BCLR	FTC1ENB		;To disable TC1 timer
	MOV	A,#20H
	B0MOV	TC1M,A		;To set TC1 clock=fcpu/64
	MOV	A,#74h
	B0MOV	TC1C,A		;To set TC1C initial value = 74H (To set TC1 interval = 10 ms)
	B0MOV	TC1R,A		;To set TC1R auto-reload register

	B0BSET	FTC1IEN		;To enable TC1 interrupt service
	B0BCLR	FTC1IRQ		;To clear TC1 interrupt request
	B0BSET	FTC1ENB		;To enable TC1 timer
	B0BSET	FALOAD1		;To enable TC1 auto-reload 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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中文字幕精品| 久久久精品2019中文字幕之3| 激情综合色综合久久| 美脚の诱脚舐め脚责91| 亚洲国产精品久久久久秋霞影院 | 精品国产麻豆免费人成网站| 成人国产视频在线观看| 美女视频网站久久| 亚洲中国最大av网站| 国产精品久久久久久久久免费相片 | 国产精品对白交换视频 | 亚洲免费在线电影| 久久这里只有精品6| 欧美一区二区三区在线视频| 一本大道av一区二区在线播放| 顶级嫩模精品视频在线看| 麻豆一区二区三| 日韩高清在线一区| 亚洲国产精品一区二区久久恐怖片| 最新国产成人在线观看| 中文字幕av在线一区二区三区| 欧美第一区第二区| 成人app在线| 奇米亚洲午夜久久精品| 亚洲图片自拍偷拍| 亚洲精品中文字幕乱码三区| 欧美激情一区二区三区四区| 久久久精品国产免费观看同学| 欧美电影免费观看高清完整版在线| 欧美挠脚心视频网站| 欧洲一区在线电影| 色综合久久88色综合天天免费| 懂色av一区二区夜夜嗨| 国产成人a级片| 国产精品一区二区免费不卡| 久久99久久99小草精品免视看| 蜜臀va亚洲va欧美va天堂| 日本午夜精品视频在线观看 | 亚洲免费色视频| 最新热久久免费视频| 国产精品欧美久久久久无广告| 欧美国产在线观看| 国产精品久久久久久福利一牛影视| 中文字幕乱码日本亚洲一区二区| 国产精品网友自拍| 亚洲欧洲国产日本综合| 有码一区二区三区| 午夜精品福利一区二区蜜股av| 亚洲成av人片| 蜜臀va亚洲va欧美va天堂| 精品一区二区三区视频| 国产98色在线|日韩| 成人av资源站| 在线亚洲免费视频| 91.com视频| 精品国产免费视频| 国产欧美视频一区二区| 亚洲国产精品黑人久久久| 最好看的中文字幕久久| 亚洲成av人在线观看| 久久成人免费网站| 成人18精品视频| 欧美在线观看18| 欧美videossexotv100| 欧美国产成人在线| 亚洲精品视频在线观看免费| 午夜精品免费在线| 激情欧美一区二区| 99久久精品国产毛片| 欧美三级三级三级爽爽爽| 精品成人佐山爱一区二区| 国产精品不卡视频| 日韩精品久久久久久| 国产精品伊人色| 色诱视频网站一区| 精品精品欲导航| 亚洲欧美日韩久久| 久久精品国产一区二区三| 99精品视频一区二区| 欧美一二三四在线| 日韩理论片一区二区| 美女一区二区久久| 91在线看国产| 久久色.com| 亚洲国产乱码最新视频 | 国产在线一区二区| 欧美在线短视频| 国产欧美日韩一区二区三区在线观看 | 日韩免费福利电影在线观看| 国产精品网站在线播放| 免费久久精品视频| 色播五月激情综合网| 久久免费美女视频| 亚洲国产一区二区三区| 成人综合婷婷国产精品久久蜜臀| 欧美日韩dvd在线观看| 国产亚洲欧洲997久久综合| 天天影视色香欲综合网老头| 成人永久aaa| 欧美zozozo| 日韩精品久久久久久| 日本丰满少妇一区二区三区| 国产午夜精品一区二区三区四区| 五月综合激情婷婷六月色窝| 一本久久a久久免费精品不卡| 国产午夜亚洲精品午夜鲁丝片| 婷婷国产在线综合| 色香蕉成人二区免费| 国产三级欧美三级日产三级99| 日本欧美一区二区在线观看| 欧美性生活一区| 亚洲私人黄色宅男| 国产69精品久久久久777| 欧美tk—视频vk| 日韩精品成人一区二区在线| 欧美午夜理伦三级在线观看| 国产精品美女久久久久高潮| 国产一区二区三区国产| 日韩欧美亚洲国产精品字幕久久久| 亚洲国产日韩综合久久精品| 91麻豆国产自产在线观看| 欧美激情艳妇裸体舞| 国产成人在线免费观看| 久久一区二区三区四区| 久久精品国产一区二区三| 欧美一级二级三级蜜桃| 日本不卡一二三区黄网| 欧美一区二区福利视频| 美女视频网站久久| 欧美成人精品二区三区99精品| 日产欧产美韩系列久久99| 欧美日本韩国一区二区三区视频| 亚洲午夜久久久久久久久久久| 91九色02白丝porn| 亚洲综合在线电影| 欧美影片第一页| 亚洲1区2区3区4区| 91精品国产品国语在线不卡| 日韩中文字幕麻豆| 日韩一区二区免费在线观看| 免费成人深夜小野草| 精品入口麻豆88视频| 国产乱码一区二区三区| 久久久久久久电影| 成人久久视频在线观看| 国产亚洲精品aa| 成年人网站91| 一区二区三区欧美久久| 欧美日韩美少妇| 麻豆91在线播放免费| 国产亚洲va综合人人澡精品| 99免费精品在线| 亚洲成人精品影院| 欧美α欧美αv大片| 高清不卡一二三区| 亚洲天天做日日做天天谢日日欢 | 久久夜色精品一区| 不卡视频免费播放| 亚洲国产欧美一区二区三区丁香婷| 在线电影欧美成精品| 国产乱码精品1区2区3区| 国产精品久久久久久久蜜臀| 欧美午夜片在线看| 久久99国内精品| 最新中文字幕一区二区三区 | jiyouzz国产精品久久| 一级做a爱片久久| 日韩欧美国产三级| 成人小视频在线观看| 亚洲国产欧美在线| 久久精品免费在线观看| 欧洲一区二区三区免费视频| 久久97超碰国产精品超碰| 国产精品福利一区| 日韩视频免费观看高清完整版| 国产jizzjizz一区二区| 午夜伊人狠狠久久| 国产精品视频一二| 欧美精品色综合| 成人精品免费视频| 免播放器亚洲一区| 亚洲免费观看高清完整版在线观看 | 97精品久久久久中文字幕| 亚洲va在线va天堂| 中文字幕第一页久久| 欧美美女直播网站| 国产成人精品aa毛片| 亚洲国产乱码最新视频| 欧美激情资源网| 日韩一区二区在线看| 91麻豆产精品久久久久久| 看国产成人h片视频| 亚洲在线中文字幕| 国产精品久久久久毛片软件| 日韩精品一区二区三区在线播放 | 国产日韩欧美综合在线| 91精品国产综合久久福利| 一本久久a久久精品亚洲| 国产原创一区二区三区| 丝袜美腿亚洲综合|