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

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

?? conf_tny.a51

?? Keil uVision2
?? A51
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与禽zozo性伦| 久久美女高清视频| 粉嫩av一区二区三区粉嫩| 亚洲综合自拍偷拍| 欧美激情一区二区三区全黄| 欧美伦理影视网| 91视频免费看| 狠狠色丁香久久婷婷综合丁香| 一区二区在线观看不卡| 2020国产精品久久精品美国| 在线亚洲欧美专区二区| 国产高清久久久| 日韩精品成人一区二区三区 | 精品va天堂亚洲国产| 欧美性受xxxx黑人xyx性爽| 丁香天五香天堂综合| 麻豆freexxxx性91精品| 亚洲国产成人91porn| 中文字幕一区二区三区不卡在线| 精品国产污网站| 欧美精品九九99久久| 欧美亚洲丝袜传媒另类| caoporm超碰国产精品| 国产麻豆精品在线| 极品少妇一区二区三区精品视频 | 日韩av午夜在线观看| 亚洲精品美国一| 亚洲人成网站精品片在线观看| 国产欧美一区二区精品性色超碰| 精品国产凹凸成av人导航| 日韩三级精品电影久久久| 日韩一区二区三区在线观看| 欧美日韩大陆一区二区| 精品视频一区二区不卡| 欧美亚州韩日在线看免费版国语版| 91色九色蝌蚪| 91社区在线播放| 91麻豆高清视频| 色一情一乱一乱一91av| 91丝袜美腿高跟国产极品老师| 99这里只有精品| 91丨九色丨黑人外教| 91麻豆自制传媒国产之光| 色哟哟在线观看一区二区三区| 91在线码无精品| 欧美性色欧美a在线播放| 欧美日韩在线播放一区| 欧美日本在线看| 日韩视频国产视频| 欧美精品一区男女天堂| 久久久久久影视| 国产精品美女久久久久久久久| 国产精品午夜在线| 亚洲欧美综合色| 夜夜亚洲天天久久| 奇米精品一区二区三区在线观看| 免费看日韩精品| 国产一区在线观看视频| 国产99精品在线观看| 91女神在线视频| 欧美精品在欧美一区二区少妇| 欧美岛国在线观看| 亚洲国产精品v| 一区二区三区产品免费精品久久75| 亚洲与欧洲av电影| 蜜臀精品久久久久久蜜臀| 国产乱码精品1区2区3区| 99免费精品在线观看| 色婷婷亚洲精品| 制服丝袜亚洲色图| 国产亚洲欧美中文| 一区二区日韩av| 久久99久久精品| 成人精品gif动图一区| 在线观看日韩国产| 2022国产精品视频| 一区二区高清视频在线观看| 免费观看一级特黄欧美大片| 成人美女视频在线看| 在线观看av一区| 精品国产成人系列| 亚洲黄色小说网站| 狠狠色丁香久久婷婷综| 色欧美乱欧美15图片| 精品日韩在线一区| 亚洲精品免费播放| 国产乱淫av一区二区三区 | 久久久久国产成人精品亚洲午夜| 日韩美女视频19| 久88久久88久久久| 欧美综合一区二区三区| 国产调教视频一区| 青青草精品视频| 91麻豆精品在线观看| 日韩欧美激情四射| 亚洲一区二区偷拍精品| 国产福利一区二区三区| 91精品国产麻豆国产自产在线 | 大胆亚洲人体视频| 欧洲亚洲国产日韩| 欧美精彩视频一区二区三区| 亚洲国产视频一区二区| 99亚偷拍自图区亚洲| 日韩久久精品一区| 亚洲一区二区三区小说| 不卡电影一区二区三区| 久久一区二区三区四区| 日韩成人精品在线| 91蜜桃婷婷狠狠久久综合9色| 久久久久久9999| 麻豆精品视频在线观看免费| 欧美色大人视频| 18成人在线视频| 国产高清在线观看免费不卡| 精品少妇一区二区三区日产乱码| 亚洲h在线观看| 在线免费一区三区| 一区二区三区在线视频免费观看 | 欧美精品久久99| 亚洲中国最大av网站| 色偷偷成人一区二区三区91| 精品999在线播放| 麻豆91在线看| 精品欧美一区二区三区精品久久| 人人精品人人爱| 91精品蜜臀在线一区尤物| 一区二区视频在线| 91蝌蚪porny成人天涯| 国产精品免费观看视频| 国产不卡免费视频| 日本一区二区三区在线观看| 国产成人精品网址| 国产精品热久久久久夜色精品三区| 国产在线一区观看| 国产欧美视频一区二区| 国产91丝袜在线播放九色| 国产欧美日韩中文久久| 丁香一区二区三区| 国产精品大尺度| 91搞黄在线观看| 亚洲国产日韩av| 在线综合+亚洲+欧美中文字幕| 午夜视频一区二区三区| 欧美一区二区久久| 国模冰冰炮一区二区| 久久久久国产免费免费 | 色综合天天综合| 亚洲欧洲中文日韩久久av乱码| 色综合天天综合狠狠| 亚洲资源中文字幕| 欧美精品日日鲁夜夜添| 久久成人av少妇免费| 国产偷国产偷精品高清尤物| 成人黄色片在线观看| 亚洲人成人一区二区在线观看| 欧美三级在线播放| 久久精品国产亚洲高清剧情介绍 | 国产三级一区二区| 99精品久久只有精品| 亚洲国产精品一区二区久久恐怖片 | 欧美影视一区在线| 免费看欧美女人艹b| 久久久精品tv| 91麻豆免费观看| 日本在线不卡视频一二三区| 日韩精品中文字幕一区| 成人黄色免费短视频| 性感美女极品91精品| 日韩免费观看高清完整版| 国产 日韩 欧美大片| 亚洲第一久久影院| 91精品国产综合久久久久久久 | 午夜精品影院在线观看| 精品噜噜噜噜久久久久久久久试看| 国产传媒欧美日韩成人| 亚洲综合一二区| 精品美女在线播放| 91免费观看在线| 久久精品国产秦先生| 亚洲色图另类专区| 日韩欧美在线一区二区三区| 99久久99久久精品免费观看| 免费人成在线不卡| 一色屋精品亚洲香蕉网站| 欧美一区二区三区日韩| www.日韩大片| 黄色资源网久久资源365| 尤物av一区二区| 国产亚洲短视频| 884aa四虎影成人精品一区| jizzjizzjizz欧美| 另类小说欧美激情| 亚洲永久免费av| 亚洲国产精品ⅴa在线观看| 欧美精品少妇一区二区三区 | 91免费精品国自产拍在线不卡| 裸体一区二区三区| 亚洲午夜视频在线| 亚洲欧美怡红院| 久久免费看少妇高潮|