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

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

?? conf_tny.a51

?? Keil uVision2
?? A51
?? 第 1 頁 / 共 2 頁
字號:
$NOMOD51
;------------------------------------------------------------------------------
;  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.01
;------------------------------------------------------------------------------
;  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     0	; 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     1       ; 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  ; READY status flag

; 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,A
; 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一区二区三区免费野_久草精品视频
92精品国产成人观看免费| 色94色欧美sute亚洲线路二 | 国产在线视视频有精品| 国产一区二区导航在线播放| 极品销魂美女一区二区三区| 日韩一区二区三区高清免费看看| 欧美肥妇free| 久久婷婷成人综合色| 中文字幕成人在线观看| 久久精品男人的天堂| 亚洲久本草在线中文字幕| 轻轻草成人在线| 国产成人免费高清| 欧美另类变人与禽xxxxx| 国产日韩亚洲欧美综合| 亚洲电影一级片| 风间由美一区二区av101| 欧美精品日日鲁夜夜添| 国产欧美日韩在线看| 天天综合网天天综合色| 91视视频在线观看入口直接观看www| 日韩一区二区三区在线视频| 亚洲色图视频免费播放| 国内外成人在线| 欧美日韩国产三级| 亚洲视频香蕉人妖| 国产一级精品在线| 欧美精品tushy高清| 亚洲欧洲综合另类在线| 大胆欧美人体老妇| 久久久亚洲高清| 青草国产精品久久久久久| 91美女视频网站| 中文字幕va一区二区三区| 韩国av一区二区三区| 欧美大胆一级视频| 欧美色成人综合| 夜夜嗨av一区二区三区中文字幕| 成人黄色综合网站| 国产精品国产a级| 国产成人夜色高潮福利影视| 精品区一区二区| 乱一区二区av| 精品免费视频.| 国产在线精品免费| 精品少妇一区二区三区在线播放| 免费观看在线色综合| 欧美日韩高清一区二区| 亚洲电影在线播放| 欧美日韩另类一区| 亚洲成人黄色影院| 在线播放91灌醉迷j高跟美女| 亚洲无人区一区| 欧美久久婷婷综合色| 日本中文字幕不卡| 欧美一卡2卡3卡4卡| 午夜免费久久看| 日韩欧美中文字幕公布| 国内外精品视频| 国产精品色噜噜| 欧美日韩另类国产亚洲欧美一级| 五月综合激情日本mⅴ| 91精品国产综合久久久久久漫画 | 国产美女一区二区| 亚洲国产成人一区二区三区| 成人性生交大合| 一区二区不卡在线播放 | 9l国产精品久久久久麻豆| 欧美激情一区二区三区| 99久久伊人久久99| 亚洲一区二区三区自拍| 日韩亚洲欧美在线| 国产91精品一区二区| 一二三四社区欧美黄| 欧美xxxxx牲另类人与| 91美女蜜桃在线| 蜜桃视频一区二区| 亚洲精品视频一区| 日韩欧美一级特黄在线播放| 成人黄色免费短视频| 亚洲国产精品麻豆| 久久尤物电影视频在线观看| 不卡av在线免费观看| 日韩黄色免费电影| 欧美精彩视频一区二区三区| 欧美日韩一区高清| 国产成人在线网站| 国产精品88av| 欧美国产欧美亚州国产日韩mv天天看完整| 95精品视频在线| 极品美女销魂一区二区三区| 亚洲免费观看在线观看| 久久中文娱乐网| 欧美在线综合视频| 国产激情一区二区三区四区 | 婷婷中文字幕一区三区| 精品国产三级a在线观看| 91九色02白丝porn| 99riav久久精品riav| 久久狠狠亚洲综合| 日韩av不卡在线观看| 亚洲乱码国产乱码精品精98午夜 | 亚洲视频一二三| 久久日韩精品一区二区五区| 在线精品亚洲一区二区不卡| 国产成人在线观看| 久久99久国产精品黄毛片色诱| 亚洲精品老司机| 日本一二三四高清不卡| 欧美成人艳星乳罩| 在线成人av网站| 91麻豆免费观看| 国产成人亚洲综合色影视| 美女在线一区二区| 亚洲444eee在线观看| 一区二区三区精品久久久| 久久九九国产精品| 亚洲精品在线免费播放| 日韩一区二区在线观看| 欧美精品在线观看播放| 欧美日韩在线播放三区| 在线精品观看国产| 色综合久久中文字幕| 色天天综合久久久久综合片| 欧美主播一区二区三区| 国产欧美中文在线| 国产精品色婷婷久久58| 亚洲国产电影在线观看| 欧美极品美女视频| 国产欧美久久久精品影院| 国产欧美日韩视频一区二区| 久久影院电视剧免费观看| 精品三级在线看| 久久久www成人免费毛片麻豆 | 国产69精品久久久久毛片| 国产酒店精品激情| 日本欧美一区二区三区乱码| 午夜精品福利一区二区三区蜜桃| 亚洲观看高清完整版在线观看| 亚洲成人综合视频| 免费人成精品欧美精品| 久久激情五月婷婷| 国产精品亚洲第一区在线暖暖韩国| 国产99久久久国产精品潘金| 成人免费毛片a| 91麻豆国产福利在线观看| 欧美日韩高清一区二区| 日韩欧美一二三区| 久久久久97国产精华液好用吗| 欧美国产一区在线| 亚洲视频电影在线| 亚洲成人综合在线| 久久精品二区亚洲w码| 国产精品99久久久久久有的能看 | eeuss鲁一区二区三区| 91浏览器打开| 欧美日韩午夜在线| 日韩一区二区三区在线视频| 日韩欧美精品三级| 亚洲国产精品99久久久久久久久| 欧美激情一区二区三区不卡| 亚洲激情在线激情| 麻豆91精品视频| voyeur盗摄精品| 欧美日韩五月天| 国产日韩欧美综合在线| 一区二区三区日韩精品| 奇米精品一区二区三区四区| 粉嫩高潮美女一区二区三区| 欧美亚洲自拍偷拍| 久久精品综合网| 亚洲欧美区自拍先锋| 国产精品羞羞答答xxdd| 欧美三电影在线| 国产日本欧美一区二区| 亚洲午夜精品久久久久久久久| 久久se精品一区精品二区| 99精品视频一区| 日韩一区二区视频在线观看| 最近中文字幕一区二区三区| 另类小说图片综合网| 欧美亚洲一区二区三区四区| 久久久久久久久免费| 久久精品国产澳门| 欧美日韩一区二区欧美激情| 国产精品欧美极品| 一区二区三区**美女毛片| 亚洲精品免费看| 国产一区二区三区久久悠悠色av| 91社区在线播放| 欧美精品亚洲二区| 国产精品美女一区二区三区 | 国产精品福利av| 裸体在线国模精品偷拍| 91久久精品日日躁夜夜躁欧美| 久久久国际精品| 亚洲第一会所有码转帖| 99re这里只有精品6| 中文字幕av免费专区久久| 精品一区二区三区在线播放|