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

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

?? conf_tny.a51

?? 用來調試C51程序的軟件
?? 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一区二区三区免费野_久草精品视频
日韩精品福利网| 国产不卡视频在线播放| 久久99国产精品免费网站| fc2成人免费人成在线观看播放| 欧美日本精品一区二区三区| 中文字幕av不卡| 美女高潮久久久| 欧美色中文字幕| 国产精品毛片a∨一区二区三区| 男女男精品网站| 欧美日韩在线亚洲一区蜜芽| 国产欧美精品一区二区三区四区 | 日韩亚洲欧美在线观看| 亚洲视频网在线直播| 国产成人精品免费在线| 久久综合久久综合久久综合| 欧美一级黄色片| 国产精品亚洲一区二区三区在线| 欧美激情综合五月色丁香| av成人免费在线观看| 久久精品免费看| 亚洲成人动漫一区| 亚洲激情在线激情| 亚洲精品成a人| 国产精品乱人伦| 国产精品久久久久久户外露出 | 麻豆精品视频在线观看免费| 欧美色爱综合网| 亚洲一区二区美女| 欧美在线免费观看亚洲| 国产精品乱码人人做人人爱| 狠狠网亚洲精品| 久久亚洲捆绑美女| 国产一区二区三区综合| 久久天堂av综合合色蜜桃网| 国产一区在线视频| 亚洲国产成人一区二区三区| 国产成人福利片| 国产精品麻豆欧美日韩ww| 成人av在线资源网| 亚洲欧洲精品一区二区三区 | 国产一区二区不卡老阿姨| 26uuu久久综合| 国产精品一区二区久久精品爱涩| 久久精品一区二区| 成人免费视频播放| 亚洲午夜影视影院在线观看| 欧美猛男gaygay网站| 三级久久三级久久久| 亚洲精品一区二区三区香蕉| 成人午夜免费av| 亚洲一级二级在线| 日韩一区二区视频| 风间由美一区二区av101| 国产精品天美传媒沈樵| 色综合亚洲欧洲| 亚洲va欧美va人人爽| 精品国产精品网麻豆系列| 美女视频黄a大片欧美| 欧洲一区二区三区在线| 久久夜色精品国产噜噜av | 99麻豆久久久国产精品免费| 91视视频在线观看入口直接观看www | 精品国产髙清在线看国产毛片| 亚洲一区二区三区国产| 67194成人在线观看| 经典三级在线一区| 一二三区精品福利视频| 精品久久免费看| 91在线观看下载| 玖玖九九国产精品| 一区二区日韩av| 久久噜噜亚洲综合| 欧美三级乱人伦电影| 国产传媒日韩欧美成人| 视频一区国产视频| 国产精品无圣光一区二区| 欧美一级淫片007| 91视频国产资源| 国产资源在线一区| 日韩高清电影一区| 亚洲日本一区二区| 日本一区二区三区高清不卡| 欧美一区二区在线不卡| 91美女在线看| 国产成a人亚洲精品| 九色综合狠狠综合久久| 亚洲国产精品天堂| 日本亚洲视频在线| 欧美午夜电影在线播放| 亚洲三级免费观看| 欧美日韩在线播| 亚洲综合色婷婷| 欧美一卡二卡三卡| 丝袜美腿亚洲一区二区图片| 9久草视频在线视频精品| 青青草国产成人99久久| 国产精品夜夜嗨| 国产亚洲女人久久久久毛片| 欧美精三区欧美精三区| 一色屋精品亚洲香蕉网站| 精品久久一二三区| 日韩一区二区三区四区| 欧美一区二区三区成人| 欧美性三三影院| 日本大香伊一区二区三区| 成人国产亚洲欧美成人综合网| 精品一区二区三区的国产在线播放 | 亚洲午夜在线电影| 亚洲一区二区成人在线观看| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产高清在线| 中文一区二区在线观看| 中文字幕乱码日本亚洲一区二区| 久久久久97国产精华液好用吗| 日韩色在线观看| 日韩免费看的电影| 欧美精品一区二区精品网| 日韩一级二级三级精品视频| 欧美一区二区福利在线| 欧美成人a视频| 精品久久一二三区| 国产农村妇女毛片精品久久麻豆| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品乱人伦| 亚洲精品视频在线观看免费| 一区二区三区视频在线观看| 首页亚洲欧美制服丝腿| 免费欧美在线视频| 国产精品一区二区在线观看网站| 成人三级在线视频| 欧美性受xxxx黑人xyx| 在线综合视频播放| 久久蜜桃av一区精品变态类天堂| 国产精品久久久久久久久晋中| 亚洲欧洲韩国日本视频| 亚洲一级在线观看| 狠狠色综合播放一区二区| 丁香另类激情小说| 成人一区二区三区视频在线观看| 国产精品久久久久久久久免费相片| 三级影片在线观看欧美日韩一区二区| 成人的网站免费观看| 在线播放亚洲一区| 国产婷婷色一区二区三区四区 | 99这里只有久久精品视频| 国产精品久久久久久久岛一牛影视| 日韩一区日韩二区| 狠狠色丁香九九婷婷综合五月| 国产精品色眯眯| 一区二区三区在线观看欧美| 亚洲mv在线观看| 另类小说色综合网站| 成人午夜碰碰视频| 欧美美女网站色| 国产性色一区二区| 亚洲成人自拍偷拍| 高清视频一区二区| 日韩欧美国产午夜精品| 免费高清不卡av| 国产69精品久久777的优势| 成人美女视频在线观看18| 欧美又粗又大又爽| 久久久久国产一区二区三区四区| 亚洲国产一区视频| 国产麻豆精品在线观看| 欧美欧美欧美欧美首页| 国产精品五月天| 国产在线看一区| 欧美视频日韩视频| 最新不卡av在线| 国产精品一区二区久久不卡| 欧美日韩国产系列| 国产精品国产三级国产普通话蜜臀| 免费在线一区观看| 欧美三级日韩在线| 最好看的中文字幕久久| 国产精品自产自拍| 日韩欧美国产成人一区二区| 亚洲一区二区三区不卡国产欧美| 成人在线视频一区| 久久综合网色—综合色88| 午夜国产精品一区| 91高清视频在线| 亚洲视频免费观看| 国产不卡高清在线观看视频| 亚洲成人免费看| 99久久综合99久久综合网站| 久久久午夜电影| 久久99这里只有精品| 欧美美女网站色| 亚洲制服丝袜av| 色天使色偷偷av一区二区| 综合自拍亚洲综合图不卡区| 成人网在线播放| 国产精品乱码一区二区三区软件 | 久久精品无码一区二区三区| 美女一区二区三区在线观看| 91精品久久久久久久91蜜桃| 天堂在线一区二区|