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

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

?? conf_tny.a51

?? 簡單Shell命令調試系統開發的程序
?? 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一区二区三区免费野_久草精品视频
在线一区二区三区四区五区| 一区二区三区免费观看| 丝袜a∨在线一区二区三区不卡| 色综合天天狠狠| 中文字幕在线视频一区| 国产成人精品1024| 欧美国产精品v| 国产不卡在线视频| 中文子幕无线码一区tr| 成人精品一区二区三区中文字幕| 久久久精品综合| 国产美女精品一区二区三区| 国产午夜精品美女毛片视频| 粉嫩绯色av一区二区在线观看| 欧美白人最猛性xxxxx69交| 精一区二区三区| 久久综合久久综合久久综合| 精品中文av资源站在线观看| 久久久久久夜精品精品免费| 国产99久久久国产精品潘金| 亚洲欧洲在线观看av| 一本到高清视频免费精品| 亚洲午夜在线电影| 91麻豆精品国产| 极品少妇xxxx精品少妇| 中文字幕成人在线观看| 91久久精品一区二区三| 舔着乳尖日韩一区| 久久品道一品道久久精品| 国产·精品毛片| 一区二区三区在线观看网站| 欧美久久久影院| 韩国三级电影一区二区| 中文字幕中文字幕一区| 欧美日韩dvd在线观看| 美女mm1313爽爽久久久蜜臀| 国产视频一区在线观看| 色综合久久久久综合体桃花网| 午夜精品久久一牛影视| 国产婷婷色一区二区三区在线| 91亚洲国产成人精品一区二三| 亚洲va国产va欧美va观看| 欧美一级久久久久久久大片| 成人精品国产福利| 丝袜国产日韩另类美女| 中文字幕电影一区| 欧美日韩国产高清一区二区三区| 韩国三级中文字幕hd久久精品| 亚洲人妖av一区二区| 欧美一区二区三区白人| 99久久免费精品高清特色大片| 亚洲天堂精品在线观看| 欧美高清视频不卡网| 激情综合色播激情啊| 一区二区三区高清| 精品久久久久久久久久久院品网 | 欧美精品少妇一区二区三区 | 久久精品一区二区| 欧美日韩极品在线观看一区| 国产一区二区三区四| 亚洲福中文字幕伊人影院| 国产视频一区二区三区在线观看| 在线观看一区二区视频| 成人亚洲一区二区一| 久久精品99久久久| 亚洲午夜电影网| 国产精品久久网站| ww亚洲ww在线观看国产| 欧美日韩国产色站一区二区三区| 成人v精品蜜桃久久一区| 激情小说亚洲一区| 首页国产欧美日韩丝袜| 亚洲精品菠萝久久久久久久| 国产片一区二区三区| 日韩亚洲电影在线| 欧美日韩精品一区二区三区蜜桃 | 欧美日韩亚洲综合一区二区三区| 成人丝袜高跟foot| 国产精品一区久久久久| 青青草精品视频| 午夜精品一区二区三区电影天堂| 亚洲免费观看在线视频| 欧美激情一区二区在线| 久久久99免费| 久久婷婷国产综合精品青草| 日韩一区二区免费在线电影| 777午夜精品视频在线播放| 91福利社在线观看| 在线视频你懂得一区二区三区| 福利一区二区在线观看| 国产精品中文字幕一区二区三区| 九色|91porny| 精品无人码麻豆乱码1区2区 | 亚洲国产精品欧美一二99| 69堂精品视频| 欧美精品免费视频| 91精品久久久久久蜜臀| 欧美日韩视频一区二区| 欧美日韩一区久久| 5566中文字幕一区二区电影| 欧美精品视频www在线观看| 欧美久久久影院| 欧美一区二区网站| 日韩精品专区在线影院重磅| 日韩欧美激情在线| 久久综合视频网| 国产欧美中文在线| 中文字幕一区在线| 亚洲综合自拍偷拍| 五月天一区二区三区| 麻豆一区二区99久久久久| 国模套图日韩精品一区二区 | 2022国产精品视频| 久久久久久9999| 国产精品久久久久三级| 亚洲一区二区三区四区在线免费观看| 亚洲综合久久av| 奇米综合一区二区三区精品视频| 麻豆久久一区二区| jizzjizzjizz欧美| 欧美日韩精品免费| 精品999在线播放| 中文字幕制服丝袜成人av| 亚洲成av人片一区二区三区| 久久99热狠狠色一区二区| 成人在线一区二区三区| 欧美视频一区在线| 亚洲精品一区二区三区香蕉| 国产精品免费丝袜| 亚洲国产精品天堂| 国产精品一线二线三线精华| 色吊一区二区三区| 欧美xxxxxxxx| 亚洲精品日产精品乱码不卡| 日本成人中文字幕在线视频| 丰满白嫩尤物一区二区| 在线不卡的av| 国产精品视频观看| 天涯成人国产亚洲精品一区av| 国产91富婆露脸刺激对白| 欧美日韩国产免费| 国产精品热久久久久夜色精品三区| 亚洲一区二区三区中文字幕在线| 国产自产v一区二区三区c| 日本高清成人免费播放| 久久久国产一区二区三区四区小说| 一区二区三区欧美久久| 国产成人免费xxxxxxxx| 欧美精品自拍偷拍动漫精品| 综合电影一区二区三区 | 欧美精品乱人伦久久久久久| 在线亚洲+欧美+日本专区| 日韩精品一区二区三区在线播放| 亚洲日本欧美天堂| 狠狠网亚洲精品| 欧美在线视频不卡| 国产精品进线69影院| 开心九九激情九九欧美日韩精美视频电影 | 麻豆freexxxx性91精品| 欧美制服丝袜第一页| 国产精品久久久久7777按摩| 麻豆国产一区二区| 欧美日韩国产美| 亚洲精品你懂的| 处破女av一区二区| www一区二区| 美日韩一区二区| 欧美日韩国产一二三| 亚洲人123区| 成人免费视频app| 久久久影院官网| 精品一区二区三区久久久| 欧美老年两性高潮| 亚洲一级二级在线| 色婷婷亚洲精品| 中文字幕人成不卡一区| av一本久道久久综合久久鬼色| 26uuu久久天堂性欧美| 久久 天天综合| 日韩美一区二区三区| 日本中文在线一区| 欧美日韩在线播放三区| 亚洲一区二区高清| 欧美日韩一区二区三区四区五区| 亚洲视频你懂的| 97久久超碰精品国产| 亚洲桃色在线一区| 色诱视频网站一区| 亚洲精品国产品国语在线app| 91美女在线视频| 亚洲欧美日韩系列| 欧美三级一区二区| 日韩中文字幕区一区有砖一区| 欧美日产国产精品| 日韩成人一级片| 欧美zozo另类异族| 国产高清精品久久久久| 中文久久乱码一区二区| 9i在线看片成人免费| 亚洲另类一区二区|