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

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

?? conf_tny.a51

?? Keil 8051 C example RS232 to I2c
?? A51
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
$NOMOD51 DEBUG
;------------------------------------------------------------------------------
;  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	1	; 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

; 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      ; ACC required by some Cygnal devices
; 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一区二区三区免费野_久草精品视频
日韩欧美你懂的| 欧美大胆一级视频| 狠狠色丁香久久婷婷综合_中 | 亚洲一区二区三区激情| www日韩大片| 欧美日本韩国一区二区三区视频 | 风间由美中文字幕在线看视频国产欧美| 亚洲激情av在线| 欧美激情一区在线观看| 日韩一区二区三区四区五区六区| 99久久精品一区二区| 精品一区二区影视| 图片区小说区区亚洲影院| 亚洲天堂久久久久久久| 亚洲国产精品av| 欧美精品一区在线观看| 欧美一区二区在线播放| 欧美日韩中文字幕一区二区| 成人app网站| 成人在线视频一区| 国产老女人精品毛片久久| 首页综合国产亚洲丝袜| 亚洲欧美日韩成人高清在线一区| 国产欧美日本一区视频| 久久综合国产精品| 精品剧情v国产在线观看在线| 欧美人妇做爰xxxⅹ性高电影| 日本电影欧美片| 日本道精品一区二区三区| av电影天堂一区二区在线 | 国产精品1024| 国产专区综合网| 极品美女销魂一区二区三区 | 国产精品视频你懂的| 欧美精品一区二区精品网| 欧美一级黄色大片| 日韩一区二区免费在线观看| 7777女厕盗摄久久久| 欧美一级高清片在线观看| 日韩午夜小视频| 精品国产乱码久久久久久闺蜜| 欧美成人福利视频| 精品久久国产老人久久综合| 日韩女优毛片在线| 久久综合九色综合久久久精品综合| 欧美xxxxx牲另类人与| 久久综合九色综合欧美亚洲| 国产人久久人人人人爽| 中文字幕一区二区不卡 | 久久99国产精品成人| 国产中文字幕精品| 高清不卡一区二区| 99免费精品在线| 欧美亚洲图片小说| 日韩三级精品电影久久久| 欧美大胆一级视频| 中文天堂在线一区| 一区二区在线观看视频| 天天综合天天做天天综合| 全部av―极品视觉盛宴亚洲| 国产一区福利在线| jvid福利写真一区二区三区| 欧美天堂一区二区三区| 日韩欧美国产一区二区在线播放| 精品成人在线观看| 欧美激情资源网| 亚洲高清免费视频| 国内精品视频666| av亚洲精华国产精华精华| 欧美三级蜜桃2在线观看| 日韩午夜中文字幕| 中文字幕一区日韩精品欧美| 午夜欧美电影在线观看| 国产麻豆视频一区| 色噜噜久久综合| 日韩免费看的电影| 中文字幕中文字幕中文字幕亚洲无线| 亚洲在线免费播放| 国产在线视视频有精品| 一本大道久久a久久综合| 欧美一区二区三区成人| 成人欧美一区二区三区白人| 日韩精品一级二级| 成人av免费网站| 日韩欧美中文字幕公布| 亚洲色欲色欲www| 国内一区二区在线| 欧美三级欧美一级| 国产蜜臀av在线一区二区三区| 亚洲国产成人91porn| 国产不卡视频在线观看| 欧美日韩一区二区三区四区五区| 国产视频一区二区在线观看| 香蕉成人啪国产精品视频综合网| 成人午夜av电影| 日韩视频一区二区三区在线播放| 亚洲人成精品久久久久久| 精品一区二区成人精品| 欧美亚洲高清一区| 中文字幕亚洲欧美在线不卡| 精品在线亚洲视频| 欧美午夜不卡在线观看免费| 国产精品久久夜| 狠狠色综合色综合网络| 欧美日韩一区三区| 亚洲激情图片小说视频| 成人黄色av电影| 久久综合av免费| 美女视频黄a大片欧美| 欧美综合色免费| 18涩涩午夜精品.www| 国产精品一区二区久久不卡 | 韩国av一区二区三区四区| 欧美三级在线视频| 亚洲乱码国产乱码精品精可以看| 国产麻豆成人精品| 精品国产乱码久久久久久图片| 婷婷六月综合亚洲| 欧美日韩在线播放一区| 一区二区三区电影在线播| 成人sese在线| 国产精品嫩草影院av蜜臀| 韩国在线一区二区| 日韩精品中午字幕| 日本亚洲免费观看| 91精品欧美综合在线观看最新 | 国产a精品视频| 国产欧美一区视频| 国产盗摄女厕一区二区三区| 久久蜜臀中文字幕| 国产精品系列在线观看| 久久精品人人做人人爽人人| 国产毛片精品一区| 国产精品色哟哟| 99久久婷婷国产综合精品| 国产精品久久久久桃色tv| 99麻豆久久久国产精品免费| 亚洲男人电影天堂| 欧美影片第一页| 亚洲国产精品久久一线不卡| 欧美人体做爰大胆视频| 奇米精品一区二区三区四区| 精品久久99ma| 国产黄色精品视频| 国产精品久线观看视频| 91激情五月电影| 亚洲mv在线观看| 555www色欧美视频| 麻豆高清免费国产一区| 久久久久久久久伊人| 成人动漫一区二区三区| 一区二区欧美国产| 日韩三级视频在线看| 国产成人精品免费看| 亚洲丝袜制服诱惑| 欧美精品1区2区3区| 久久精品国产色蜜蜜麻豆| 日本一区二区久久| 色婷婷亚洲综合| 日本不卡高清视频| 国产日本欧洲亚洲| 欧美午夜片在线观看| 蜜臀国产一区二区三区在线播放| 久久精品欧美一区二区三区不卡 | 国产.欧美.日韩| 一区二区三区资源| 日韩一二三区视频| 风流少妇一区二区| 午夜电影网一区| 久久久99精品免费观看不卡| 色乱码一区二区三区88| 极品少妇xxxx精品少妇| 亚洲色图在线看| 日韩欧美电影在线| 91婷婷韩国欧美一区二区| 日韩av一级片| 国产精品久久久久久久久快鸭| 欧美日韩午夜影院| 国产一区二区免费在线| 亚洲综合一区二区精品导航| 亚洲精品在线一区二区| 色欧美88888久久久久久影院| 美女一区二区视频| 亚洲精品久久久久久国产精华液| 日韩你懂的在线播放| 日本精品视频一区二区三区| 久久99日本精品| 亚洲一区二区视频在线| 久久久午夜精品理论片中文字幕| 91久久精品国产91性色tv| 国产精品一卡二卡| 日本欧美一区二区三区| 亚洲九九爱视频| 久久久久久久久久看片| 欧美日韩国产一级| 色诱亚洲精品久久久久久| 国产东北露脸精品视频| 麻豆一区二区三| 午夜精品成人在线| 亚洲精品国产成人久久av盗摄|