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

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

?? conf_tny.a51

?? Keil7.09附帶的rtxtiny2源代碼
?? A51
?? 第 1 頁 / 共 2 頁
字號:
$NOMOD51 DEBUG
;------------------------------------------------------------------------------
;  This file is part of the RTX-51 TINY  Real-Time Operating System Package
;  Copyright KEIL ELEKTRONIK GmbH and Keil Software, Inc. 1991-2002
;  Version 2.02
;------------------------------------------------------------------------------
;  CONF_TNY.A51:  This code allows the configuration of the
;                 RTX-51 TINY Real-Time Operating System
;
;  Copy this file to your project folder and add the copy to your uVision2
;  project.  You can customize several parameters of RTX51 Tiny within this
;  configuration file.
;
;  If you use command line tools, translate this file with:
;
;     Ax51 CONF_TNY.A51
;
;  If you use command line tools, link the modified CONF_TNY.OBJ file to 
;  your application with:
;
;     Lx51 <your object file list>, CONF_TNY.OBJ <controls>
;
;------------------------------------------------------------------------------
;
;  RTX-51 TINY Hardware-Timer
;  ==========================
;
;  With the following EQU statements the initialization of the RTX-51 TINY
;  Hardware-Timer can be defined (RTX-51 TINY uses the 8051 Timer 0 for 
;  controlling RTX-51 software timers).
;
;  Define the register bank used for the timer interrupt.
INT_REGBANK	EQU	1	; default is Registerbank 1
;
;  Define Hardware-Timer tick time in 8051 machine cycles.
INT_CLOCK	EQU	10000	; default is 10000 cycles
;
;  Define Round-Robin Timeout in Hardware-Timer ticks.
TIMESHARING	EQU     5	; default is 5 Hardware-Timer ticks.
;		                ; 0 disables Round-Robin Task Switching
;
;  Long User Interrupt Routines: set to 1 if your application contains 
;  user interrupt functions that may take longer than a hardware timer 
;  interval for execution.
LONG_USR_INTR	EQU	0	; 0 user interrupts execute fast.
;                               ; 1 user interrupts take long execution times.
;
;
;------------------------------------------------------------------------------
;
;  USER CODE FOR 8051 HARDWARE TIMER INTERRUPT
;  ===========================================
;
;  The following macro defines the code executed on a hardware timer interrupt.
;
;  Define instructions executed on a hardware timer interrupt.
HW_TIMER_CODE	MACRO
				; Empty Macro by default
		RETI
		ENDM
;
;
;------------------------------------------------------------------------------
;
;  CODE BANKING SUPPORT
;  ====================
;
;  The following EQU statement controls the code banking support for RTX51 TINY.
;
;  Enable or disable code banking support
CODE_BANKING     EQU     0      ; 0 (default) application uses no code banking
;                               ; 1 application uses code banking
;
;------------------------------------------------------------------------------
;
;  RTX-51 TINY Stack Space
;  =======================
;
;  The following EQU statements defines the size of the internal RAM used
;  for stack area and the minimum free space on the stack.  A macro defines
;  the code executed when there is there is not enough free stack on the
;  CPU stack.
;
;  Define the highest RAM address used for CPU stack
RAMTOP		EQU	0FFH	; default is address (256-1)
;
FREE_STACK	EQU	20	; default is 20 bytes free space on stack
;                               ; the value 0 disables stack checking
;
STACK_ERROR	MACRO
		CLR	EA	; disable interrupts
		SJMP	$	; endless loop if stack space is exhausted
		ENDM
;
;
;------------------------------------------------------------------------------
;
;  8051 CPU IDLE CODE
;  ==================
;
;  Many 8051 devices provide an IDLE MODE that reduces power consumption and
;  EMC.  The following macro defines the code executed when there is no 
;  ready task in the system.  The code must set the CPU into an IDLE MODE
;  that stops instruction execution until an 8051 hardware interrupt occurs. 
;

; Disable or Enable CPU_IDLE CODE
CPU_IDLE_CODE   EQU     0       ; 0  CPU_IDLE MACRO is not inserted
                                ; 1  CPU_IDLE MACRO is executed

PCON            DATA    087H    ; Power Control SFR on most 8051 devices

; Stop CPU execution until hardware interrupt; executed when there is no 
; active task in the system. 
CPU_IDLE	MACRO
		ORL	PCON,#1	; set 8051 CPU to IDLE
		ENDM
;
;
;------------------------------------------------------------------------------
;----------------- !!! End of User Configuration Part    !!! ------------------
;----------------- !!! Do not modify code sections below !!! ------------------
;------------------------------------------------------------------------------

; SFR Symbols
PSW     DATA    0D0H
ACC     DATA    0E0H
B       DATA    0F0H
SP      DATA    81H
DPL     DATA    82H
DPH     DATA    83H
TCON    DATA    88H
TMOD    DATA    89H
TL0     DATA    8AH
TL1     DATA    8BH
TH0     DATA    8CH
TH1     DATA    8DH
IE      DATA    0A8H

; TCON
TF1     BIT     8FH
TR1     BIT     8EH
TF0     BIT     8DH
TR0     BIT     8CH
IE1     BIT     8BH
IT1     BIT     8AH
IE0     BIT     89H
IT0     BIT     88H
; IE 
EA      BIT     0AFH
ES      BIT     0ACH
ET1     BIT     0ABH
EX1     BIT     0AAH
ET0     BIT     0A9H
EX0     BIT     0A8H

; Check Configuration Values


		NAME	?RTX51_TINY_KERNAL

PUBLIC	?RTX_CURRENTTASK 
PUBLIC	?RTX_RAMTOP
PUBLIC  os_switch_task
PUBLIC  ?RTX?SET_ISR

EXTRN	NUMBER (?RTX_MAXTASKN)		; max Task Number

?RTX_RAMTOP       EQU   RAMTOP
?RTX_CLOCK	  EQU	-INT_CLOCK

?RTX_REGISTERBANK EQU	INT_REGBANK * 8
		  DSEG	AT    ?RTX_REGISTERBANK
		  DS	2     ; temporary space
?RTX_SAVEACC:     DS	1
saveacc		  EQU	R2    ; for access in interrupt service routine
?RTX_SAVEPSW:     DS	1
savepsw		  EQU	R3    ; for access in interrupt service routine
?RTX_CURRENTTASK: DS	1
currenttask       EQU	R4    ; for access in interrupt service routine

IF (TIMESHARING <> 0)
?RTX_ROBINTIME:   DS	1
robintime	  EQU	R5    ; for access in interrupt service routine
ENDIF

IF (CODE_BANKING <> 0)
EXTRN	DATA	(?B_CURRENTBANK)
EXTRN   CODE    (?B_RESTORE_BANK)
ENDIF


;------------------------------------------------
; Table of Task Entry Pointers
;------------------------------------------------
PUBLIC	?RTX_TASKENTRY

?RTX?TASKENT?S  SEGMENT CODE
		RSEG	?RTX?TASKENT?S
?RTX_TASKENTRY:	DS	2

;------------------------------------------------
; Table of Stack Pointers for each task
;------------------------------------------------
PUBLIC	?RTX_TASKSP

?RTX?TASKSP?S   SEGMENT	IDATA
		RSEG	?RTX?TASKSP?S
?RTX_TASKSP:	DS	1

;------------------------------------------------
; Table of Task Timer/State Pointers
;------------------------------------------------
PUBLIC	?RTX_TASKSTATUS

?RTX?TASKSTATE?S  SEGMENT IDATA
		  RSEG	  ?RTX?TASKSTATE?S
?RTX_TASKSTATUS:
TimerVal:	DS	1	; Task Timer (Software Timer for each task)
TaskState:	DS	1       ; Task Status (state of each Task)

; Definitions for Bits in Task State
;  TaskState.0  = Wait for Signal
;  TaskState.1  = Wait for TimeOut
;  TaskState.2  = Signal Flag
;  TaskState.3  = TimeOut Flag
;  TaskState.4  = Task Ready (Wait for Running)
;  TaskState.5  = Task Active (enabled with os_create)
;  TaskState.6  = Round Robin Time Out
;  TaskState.7  = Run Flag

; byte mask definitions
K_SIG	        EQU	1
K_TMO	        EQU	2
SIG_EVENT	EQU	4
TMO_EVENT	EQU	8
K_READY		EQU	16
K_ACTIVE	EQU	32
K_ROBIN		EQU	64
K_IVL           EQU     128  ; not a task state bit; only used in os_wait
RDY_EVENT       EQU     128  ; READY status flag
K_RDY           EQU     128

; bit position definitions
B_WAITSIG	EQU	0
B_WAITTIM	EQU	1
B_SIGNAL	EQU	2
B_TIMEOUT	EQU	3
B_READY		EQU	4
B_ACTIVE	EQU	5
B_ROBIN		EQU	6
B_IVL           EQU     7    ; not a task state bit; only used in os_wait
B_RDY           EQU     7


IF (TIMESHARING OR CPU_IDLE_CODE)
?RTX?BITS	SEGMENT	BIT
		RSEG	?RTX?BITS
ENDIF

IF (TIMESHARING)
?RTX_TS_DELAY:	DBIT	1       ; Status bit set when task switch in progress
ENDIF

IF (CPU_IDLE_CODE)
?RTX_ISR_SIG:	DBIT	1	; Status bit set when interrupt or os_set_signal
ENDIF


		CSEG	AT	0BH
                JMP	TIMERINT

?RTX?CODE       SEGMENT CODE
                RSEG	?RTX?CODE
		USING	0		; Registerbank 0 for following code

IF (FREE_STACK <> 0)
?RTX_STACKERROR:
                STACK_ERROR             ; User defined Stack Error Code
ENDIF

HW_TIMER:	HW_TIMER_CODE

TIMERINT:

IF (LONG_USR_INTR)
		PUSH	ACC
		MOV	A,PSW
		ANL	A,#018H
		XRL	A,#?RTX_REGISTERBANK
		JNZ	CONT_TIMINT
; avoid recursive timer interrupt
		POP	ACC
		RETI		; Return from Recursive Timer Interrupt
CONT_TIMINT:    POP	ACC

ENDIF

		CALL	HW_TIMER	; Enable Interrupts again.

		MOV	?RTX_SAVEPSW,PSW
		MOV	PSW,#?RTX_REGISTERBANK
		MOV	saveacc,ACC     ; ACC required by some Cygnal devices
; Update 8051 Interrupt Timer
		CLR	TR0
		MOV	A,TL0
		ADD	A,#LOW (?RTX_CLOCK + 7)
		MOV	TL0,A
		MOV	A,TH0
		ADDC	A,#HIGH (?RTX_CLOCK + 7)
		MOV	TH0,A
		SETB	TR0

IF (FREE_STACK <> 0)
; Check if enough free stack is available
		MOV	A,currenttask
		ADD	A,#?RTX?TASKSP?S+1
		MOV	R0,A
		MOV	A,@R0
		CJNE	currenttask,#?RTX_MAXTASKN,checkstack
		MOV	A,#RAMTOP
checkstack:	CLR	C
		SUBB	A,SP
		CJNE	A,#FREE_STACK,$+3
		JC	?RTX_STACKERROR
ENDIF

; Update & Check Task Timers
		MOV	R1,#?RTX_MAXTASKN+1
		MOV	R0,#?RTX?TASKSTATE?S
TIMERLOOP:	DEC	@R0          ; Decrement timer
		MOV	A,@R0
		INC	R0           ; advance to TaskState
		JNZ	NoTimeout
		CLR	EA
		MOV	A,@R0
		JNB	ACC.B_WAITTIM,NoWaitTimeout
		ORL	A,#(K_READY+TMO_EVENT)
		MOV	@R0,A
NoWaitTimeout:  SETB	EA
NoTimeout:	INC	R0           ; advance to TaskTimer
		DJNZ	R1,TIMERLOOP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美国产毛片在线| 欧美色图天堂网| 国产精品福利av| 在线播放视频一区| 成人中文字幕在线| 日韩影院免费视频| 国产精品免费网站在线观看| 91精品一区二区三区久久久久久| 成人免费看视频| 日本美女一区二区三区视频| 综合欧美一区二区三区| 欧美成人精品高清在线播放| 色综合天天天天做夜夜夜夜做| 精品写真视频在线观看| 亚洲国产日韩精品| 亚洲欧洲综合另类在线| 久久蜜臀精品av| 欧美男女性生活在线直播观看| 岛国av在线一区| 久久久午夜电影| 91小视频在线免费看| 美日韩一区二区| 亚洲国产精品麻豆| 亚洲另类色综合网站| 国产精品午夜免费| 欧美精品一区二区久久婷婷| 91精品久久久久久久99蜜桃| 欧美视频在线观看一区二区| 色香蕉成人二区免费| av电影在线观看一区| 粉嫩久久99精品久久久久久夜| 久久er99热精品一区二区| 日韩成人dvd| 日韩在线a电影| 日韩电影免费在线看| 亚洲国产一区二区三区| 亚洲午夜国产一区99re久久| 亚洲精品国产成人久久av盗摄| 最新久久zyz资源站| 国产精品视频第一区| 亚洲国产精品av| 中文字幕乱码久久午夜不卡| 日本一二三不卡| 国产精品久久久久久妇女6080| 国产精品三级视频| 亚洲视频一区二区在线| 亚洲欧洲av在线| 亚洲靠逼com| 亚洲精选一二三| 亚洲午夜久久久久久久久电影院| 亚洲午夜影视影院在线观看| 亚洲大片免费看| 三级欧美在线一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 免费高清在线一区| 国产精品自拍毛片| a美女胸又www黄视频久久| 色综合一区二区| 欧美色男人天堂| 日韩三级视频中文字幕| 26uuu另类欧美| 国产精品久久99| 亚洲久草在线视频| 青青草视频一区| 国产精品一区二区久久精品爱涩| 成人听书哪个软件好| 欧美吞精做爰啪啪高潮| 日韩一区二区影院| 国产午夜精品一区二区三区视频 | 欧美日韩在线观看一区二区| 欧美日韩和欧美的一区二区| 91精品国产黑色紧身裤美女| 日韩精品影音先锋| 欧美国产一区二区| 一区二区三区**美女毛片| 日韩精品久久理论片| 国产不卡视频在线观看| 99re这里只有精品6| 欧美卡1卡2卡| 久久久久久久综合| 洋洋成人永久网站入口| 免费看日韩a级影片| 不卡大黄网站免费看| 欧美疯狂做受xxxx富婆| 国产日韩精品一区二区浪潮av| 亚洲男人电影天堂| 久久国产精品99久久久久久老狼| voyeur盗摄精品| 日韩一级片网站| 国产精品久久久久婷婷二区次| 日韩制服丝袜先锋影音| 国产99久久精品| 欧美日韩国产综合草草| 久久精品网站免费观看| 亚洲一区在线电影| 国产 欧美在线| 91精品国产综合久久久久| 国产精品久久久久影院老司| 日韩av一区二区在线影视| 一本久道久久综合中文字幕| 26uuu欧美| 日韩成人dvd| 在线看不卡av| 亚洲国产高清不卡| 久久精品国产亚洲aⅴ| 91成人免费网站| 国产精品你懂的在线欣赏| 久久99久久精品| 欧美日韩精品一区二区三区四区 | 亚洲国产视频直播| 99久久精品久久久久久清纯| 精品国产凹凸成av人网站| 性做久久久久久| 欧美亚洲禁片免费| 最新国产の精品合集bt伙计| 高清不卡一区二区| 久久先锋资源网| 精品在线亚洲视频| 欧美一级片在线| 午夜视频一区二区| 欧美无砖专区一中文字| 亚洲区小说区图片区qvod| 成人精品一区二区三区中文字幕| 日韩欧美亚洲一区二区| 三级欧美韩日大片在线看| 欧美视频三区在线播放| 一区二区三区在线观看动漫| 99热这里都是精品| 91福利在线观看| 亚洲成国产人片在线观看| 日本亚洲三级在线| 欧美主播一区二区三区美女| 1区2区3区欧美| 99精品欧美一区二区蜜桃免费| 国产亚洲综合性久久久影院| 国内精品国产成人国产三级粉色 | 91.麻豆视频| 香蕉成人伊视频在线观看| 色一情一伦一子一伦一区| 亚洲欧洲制服丝袜| 色婷婷av一区二区三区gif | 蜜乳av一区二区三区| 欧美一区三区二区| 美女网站一区二区| 精品三级av在线| 国产综合久久久久久久久久久久| 精品国产乱码久久久久久影片| 国产一区二区三区蝌蚪| xf在线a精品一区二区视频网站| 国产综合久久久久久鬼色| 国产拍揄自揄精品视频麻豆| 丁香激情综合五月| 亚洲色图.com| 欧美日韩免费一区二区三区| 婷婷夜色潮精品综合在线| 日韩免费看的电影| 国产乱人伦偷精品视频不卡 | 国产精品国产自产拍在线| 国产精品久久影院| 亚洲午夜久久久久久久久久久| 丁香桃色午夜亚洲一区二区三区| 91精品国产麻豆国产自产在线 | 亚洲愉拍自拍另类高清精品| 一区二区三区在线观看国产| 开心九九激情九九欧美日韩精美视频电影| 国产成人超碰人人澡人人澡| 欧美日本国产视频| 国产精品国产三级国产aⅴ原创| 日韩vs国产vs欧美| 91年精品国产| 久久久久九九视频| 香蕉成人啪国产精品视频综合网| 国产成人av福利| 日韩一级片网站| 亚洲综合无码一区二区| 成人av在线资源网| 日韩精品专区在线影院重磅| 亚洲一卡二卡三卡四卡五卡| 91精品在线观看入口| 国产一区二区三区四区五区美女 | 亚洲成人自拍一区| 国产69精品久久久久777| 91精品国产高清一区二区三区| 亚洲色图19p| 成人综合日日夜夜| 精品国产乱码久久久久久老虎| 亚洲成人av电影在线| 色综合视频一区二区三区高清| 久久女同性恋中文字幕| 男女性色大片免费观看一区二区 | 91九色02白丝porn| 国产精品视频一二三区| 国产精品一区二区视频| 欧美变态口味重另类| 美女免费视频一区二区| 日韩一区二区三区在线观看| 香蕉成人啪国产精品视频综合网| 在线中文字幕一区二区| 亚洲国产综合在线| 欧美日韩午夜在线|