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

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

?? conf_tny.a51

?? Keil uVision2
?? A51
?? 第 1 頁 / 共 2 頁
字號(hào):
$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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷88欧美精品久久久| 成人午夜免费av| 国产三级久久久| 欧美在线观看视频在线| 精品一区二区三区免费播放| 亚洲人成精品久久久久| 久久午夜电影网| 欧美精品在线一区二区三区| 成人免费视频视频| 捆绑调教一区二区三区| 亚洲一区二区三区四区的| 国产精品久久久一本精品| 日韩一级片在线观看| 在线观看视频欧美| 91在线看国产| 国产aⅴ精品一区二区三区色成熟| 视频精品一区二区| 亚洲影视在线播放| 国产精品久久久久婷婷二区次| 欧美成人三级在线| 欧美丰满一区二区免费视频| 色噜噜狠狠成人网p站| 懂色av一区二区三区蜜臀| 精品伊人久久久久7777人| 视频一区二区三区中文字幕| 亚洲黄色av一区| 亚洲少妇屁股交4| 欧美高清在线视频| 国产亚洲短视频| 久久亚洲免费视频| 久久综合网色—综合色88| 日韩欧美高清dvd碟片| 91精选在线观看| 7777女厕盗摄久久久| 欧美色手机在线观看| 欧美艳星brazzers| 欧美亚一区二区| 91高清在线观看| 91激情在线视频| 在线观看免费成人| 欧美色图在线观看| 欧美日韩国产小视频| 欧美日韩一级片网站| 欧美日本在线观看| 91精品国产综合久久久久久| 91精品国产美女浴室洗澡无遮挡| 91精品免费在线观看| 日韩视频在线观看一区二区| 精品剧情v国产在线观看在线| 欧美xxxxx裸体时装秀| 久久品道一品道久久精品| 精品捆绑美女sm三区| 中文字幕va一区二区三区| 国产精品不卡在线| 一区二区三区中文字幕电影| 亚洲国产乱码最新视频 | a亚洲天堂av| 91免费看片在线观看| 欧美亚一区二区| 日韩一级二级三级| 久久精子c满五个校花| 国产精品久久久久四虎| 亚洲精选视频在线| 日韩二区三区四区| 国产一区二区三区黄视频 | 亚洲午夜一区二区三区| 三级在线观看一区二区 | 久久久久88色偷偷免费| 国产精品久久久久久久久果冻传媒| 中文字幕一区二区三| 亚洲一区二区三区视频在线| 裸体歌舞表演一区二区| 国产成人福利片| 欧美日韩一级片在线观看| 久久亚区不卡日本| 亚洲美女偷拍久久| 麻豆国产欧美日韩综合精品二区| 国产91丝袜在线18| 久久91精品国产91久久小草| av成人老司机| 欧美另类久久久品| 国产亚洲精品免费| 午夜精品一区二区三区电影天堂| 国产伦精品一区二区三区视频青涩| www.在线欧美| 精品国产免费一区二区三区香蕉| 国产精品高潮呻吟久久| 免费在线视频一区| 色综合夜色一区| 久久女同精品一区二区| 亚洲国产日韩a在线播放性色| 国产一区二区三区香蕉| 欧美自拍偷拍午夜视频| 国产日产亚洲精品系列| 五月婷婷色综合| 成人精品鲁一区一区二区| 在线综合视频播放| 亚洲天堂av一区| 国产伦精品一区二区三区免费迷| 欧美性xxxxxxxx| 国产精品美女久久久久久久久久久| 天天av天天翘天天综合网| 国产成人在线色| 日韩一二在线观看| 亚洲一区二区精品3399| 成人午夜精品一区二区三区| 日韩一级片网址| 亚洲成人av在线电影| 99精品热视频| 国产性天天综合网| 久色婷婷小香蕉久久| 欧美性生活一区| 有坂深雪av一区二区精品| 福利一区二区在线观看| 欧美成人激情免费网| 五月激情综合婷婷| 欧美在线你懂得| 亚洲欧美日韩在线不卡| 丁香啪啪综合成人亚洲小说| 久久夜色精品一区| 久久99精品久久久久久| 欧美一区二区国产| 亚洲成av人片一区二区梦乃| 色伊人久久综合中文字幕| 国产精品传媒入口麻豆| 成人白浆超碰人人人人| 中文文精品字幕一区二区| 国产麻豆精品一区二区| 久久影院视频免费| 韩国毛片一区二区三区| 欧美大胆人体bbbb| 九色综合狠狠综合久久| 精品蜜桃在线看| 激情综合色综合久久综合| 精品久久久久久无| 久久精品国产秦先生| 日韩欧美激情在线| 国精品**一区二区三区在线蜜桃| 精品国产乱码久久久久久闺蜜| 久久99久久久欧美国产| 欧美精品一区二区三区视频| 国产一区二区网址| 久久伊人蜜桃av一区二区| 国模无码大尺度一区二区三区| 久久精品欧美日韩| 成人高清在线视频| 亚洲精品国产精华液| 欧美三级视频在线| 琪琪久久久久日韩精品| 精品国产一区二区三区忘忧草 | 欧美视频一区在线| 午夜欧美一区二区三区在线播放| 欧美精品久久天天躁| 麻豆精品一区二区三区| 久久久久国产精品厨房| 99久久99久久精品免费观看| 亚洲综合另类小说| 日韩一区二区三区在线| 国产九色精品成人porny| 国产精品国产精品国产专区不片| 色综合久久综合中文综合网| 五月婷婷另类国产| 精品欧美久久久| 99国产精品国产精品久久| 亚洲小说春色综合另类电影| 日韩欧美一区二区在线视频| 国产成人av一区二区三区在线 | 亚洲www啪成人一区二区麻豆| 666欧美在线视频| 国产精品正在播放| 亚洲精品写真福利| 欧美一卡二卡三卡四卡| 国产suv精品一区二区三区| 亚洲卡通欧美制服中文| 在线成人午夜影院| 国产69精品久久久久777| 亚洲免费大片在线观看| 91精品国产一区二区三区| 国v精品久久久网| 亚洲国产成人精品视频| 久久免费精品国产久精品久久久久| 色综合中文字幕国产 | 欧美亚洲动漫精品| 国产激情视频一区二区在线观看| 一区二区三区日韩精品视频| 日韩美女主播在线视频一区二区三区| 成人福利视频网站| 日本女优在线视频一区二区| 国产精品传媒在线| 精品国产伦一区二区三区观看方式| 91原创在线视频| 狠狠色伊人亚洲综合成人| 亚洲激情欧美激情| 久久久久久久国产精品影院| 欧美日韩你懂的| 95精品视频在线| 国内精品久久久久影院薰衣草| 亚洲国产视频一区| 亚洲视频在线观看三级| 精品国产三级电影在线观看|