Keil 自帶的 RTX51—Tiny 系統(tǒng)有這樣幾個(gè)缺點(diǎn):1、非占先式任 務(wù)調(diào)度,這樣系統(tǒng)的實(shí)時(shí)性就很難保證 2、提供的系統(tǒng)服務(wù)太少, 只有 wait 與 signal。而 RTX51—Tiny 的優(yōu)點(diǎn)是:1、Keil 公司自己開 發(fā)的,使用_task_關(guān)鍵字區(qū)別每個(gè)任務(wù),這樣可以使得被不同任務(wù)調(diào) 用的不同函數(shù)即使沒有相互調(diào)用,他們的局部變量也不會(huì)相互覆蓋。 免去了在 SmallRTOS 中需要手動(dòng)制止函數(shù)間局部變量的相互覆蓋。 2、內(nèi)核小。整個(gè) RTX51--Tiny 完整編譯只需 900B 的空間。
標(biāo)簽: Tiny RTX signal Keil
上傳時(shí)間: 2014-10-14
上傳用戶:zuozuo1215
本書分三部分介紹在美國廣泛應(yīng)用的、高功能的M68HC11系列單片機(jī)(8位機(jī) ,Motorola公司)。內(nèi)容包括M68HC11的結(jié)構(gòu)與其基本原理、開發(fā)工具EVB(性能評(píng)估板)以及開發(fā)和應(yīng)用技術(shù)。本書在介紹單片機(jī)硬、軟件的基礎(chǔ)上,進(jìn)一步介紹了在美國實(shí)驗(yàn)室內(nèi),如何應(yīng)用PC機(jī)及EVB來進(jìn)行開發(fā)工作。通過本書的介紹,讀者可了解這種單片機(jī)的原理并學(xué)會(huì)開發(fā)和應(yīng)用方法。本書可作為大專院校單片機(jī)及其實(shí)驗(yàn)的教材(本科、短訓(xùn)班)。亦可供開發(fā)、應(yīng)用單片機(jī)的各專業(yè)(計(jì)算機(jī)、機(jī)電、化工、紡織、冶金、自控、航空、航海……)有關(guān)技術(shù)人員參考。 第一部分 M68HC11 結(jié)構(gòu)與原理Motorola單片機(jī) 1 Motorla單片機(jī) 1.1 概述 1.1.1 Motorola 單片機(jī)發(fā)展概況(3) 1.1.2 Motorola 單片機(jī)結(jié)構(gòu)特點(diǎn)(4) 1.2 M68HC11系列單片機(jī)(5) 1.2.1 M68HC11產(chǎn)品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9單片機(jī)引腳說明(8) 1.3 Motorola 32位單片機(jī)(14) 1.3.1中央處理器(CPU32)(15) 1.3.2 定時(shí)處理器(TPU)(16) 1.3.3 串行隊(duì)列模塊(QSM)(16) 1.3.4 系統(tǒng)集成模塊 (SIM)(16) 1.3.5 RAM(17) 2 系統(tǒng)配置與工作方式 2.1 系統(tǒng)配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的編程與擦除(20) 2?2 工作方式選擇(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通單片工作方式(23) 2.3.2 普通擴(kuò)展工作方式(23) 2.3.3 特殊自舉方式(27) 2.3.4 特殊測(cè)試方式(28) 3 中央處理器(CPU)與片上存儲(chǔ)器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和雙累加器D(32) 3.1.2 變址寄存器X、Y(32) 3.1.3 棧指針SP(32) 3.1.4 程序計(jì)數(shù)器PC(33) 3.1.5 條件碼寄存器CCR(33) 3.2 片上存儲(chǔ)器(34) 3.2.1 存儲(chǔ)器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 wait方式(39) 3.3.2 STOP方式(40) 4 復(fù)位和中斷 4.1 復(fù)位(41) 4.1.1 M68HC11的系統(tǒng)初始化條件(41) 4.1.2 復(fù)位形式(43) 4.2 中斷(48) 4.2.1 條件碼寄存器CCR中的中斷屏蔽位(48) 4.2.2 中斷優(yōu)先級(jí)與中斷矢量(49) 4.2.3 非屏蔽中斷(52) 4.2.4 實(shí)時(shí)中斷(53) 4.2.5 中斷處理過程(56) 5 M68HC11指令系統(tǒng) 5.1 M68HC11尋址方式(59) 5.1.1 立即尋址(IMM)(59) 5.1.2 擴(kuò)展尋址(EXT)(60) 5.1.3 直接尋址(DIR)(60) 5.1.4 變址尋址(INDX、INDY)(61) 5.1.5 固有尋址(INH)(62) 5.1.6 相對(duì)尋址(REL)(62) 5.1.7 前置字節(jié)(63) 5.2 M68HC11指令系統(tǒng)(63) 5.2.1 累加器和存儲(chǔ)器指令(63) 5.2.2 棧和變址寄存器指令(68) 5.2.3 條件碼寄存器指令(69) 5.2.4 程序控制指令(70) 6 輸入與輸出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 應(yīng)答I/O子系統(tǒng)(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 數(shù)據(jù)格式(83) 6.3.3 SCI硬件結(jié)構(gòu)(84) 6.3.4 SCI寄存器(86) 6.4 串行外圍接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引腳信號(hào)(92) 6.4.3 SPI結(jié)構(gòu)(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系統(tǒng)與外部設(shè)備進(jìn)行串行數(shù)據(jù)傳輸(99) 7 定時(shí)器系統(tǒng)與脈沖累加器 7.1 概述(105) 7.2 循環(huán)計(jì)數(shù)器(107) 7.2.1 時(shí)鐘分頻器(107) 7.2.2 計(jì)算機(jī)正常工作監(jiān)視功能(110) 7.2.3 定時(shí)器標(biāo)志的清除(110) 7.3 輸入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定時(shí)器輸入捕捉鎖存器(TIC1、TIC2、TIC3) 7.3.3 輸入信號(hào)沿檢測(cè)邏輯(113) 7.3.4 輸入捕捉中斷(113) 7.4 輸出比較功能(114) 7.4.1 概述(114) 7.4.2 輸出比較功能使用的寄存器(116) 7.4.3 輸出比較示例(118) 7.5 脈沖累加器(119) 7.5.1 概述(119) 7.5.2 脈沖累加器控制和狀態(tài)寄存器(121) 8 A/D轉(zhuǎn)換系統(tǒng) 8.1 電荷重新分布技術(shù)與逐次逼近算法(125) 8.1.1 基本電路(125) 8.1.2 A/D轉(zhuǎn)換逐次逼近算法原理(130) 8.2 M68HC11中A/D轉(zhuǎn)換的實(shí)現(xiàn)方法(131) 8.2.1 逐次逼近A/D轉(zhuǎn)換器(131) 8.2.2 控制寄存器(132) 8.2.3 系統(tǒng)控制邏輯(135)? 9 單片機(jī)的內(nèi)部操作 9.1 用立即> 圖書前言 美國Motorola公司從80年代中期開始推出的M68HC11系列單片機(jī)是當(dāng)今功能最強(qiáng)、性能/價(jià)格比最好的八位單片微計(jì)算機(jī)之一。在美國,它已被廣泛地應(yīng)用于教學(xué)和各種工業(yè)控制系統(tǒng)中。? 該單片機(jī)有豐富的I/O功能,完善的系統(tǒng)保護(hù)功能和軟件控制的節(jié)電工作方式 。它的指令系統(tǒng)與早期Motorola單片機(jī)MC6801等兼容,同時(shí)增加了91條新指令。其中包含16位乘法、除法運(yùn)算指令等。 為便于用戶開發(fā)和應(yīng)用M68HC11單片機(jī),Motorola公司提供了多種開發(fā)工具。M68HC11 EVB (Evaluation Board)性能評(píng)估板就是一種M68HC11系列單片機(jī)的廉價(jià)開發(fā)工具。它既可用來 調(diào)試用戶程序,又可在仿真方式下運(yùn)行。為方便用戶,M68HC11 EVB可與IBM?PC連接 ,借助于交叉匯編、通信程序等軟件,在IBM?PC上調(diào)試程序。? 本書分三部分(共15章)介紹了M68HC11的結(jié)構(gòu)和基本原理、開發(fā)工具-EVB及開發(fā)應(yīng)用實(shí)例等。第一部分(1~9章),介紹M68HC11的結(jié)構(gòu)和基本原理。包括概述,系統(tǒng)配置與工作方式、CPU和存儲(chǔ)器、復(fù)位和中斷、指令系統(tǒng)、I/O、定時(shí)器系統(tǒng)和脈沖累加器、A/D轉(zhuǎn)換系統(tǒng)、單片機(jī)的內(nèi)部操作等。第二部分(10~11章),介紹M68HC11 EVB的原理和技術(shù)特性以及EVB的應(yīng)用。第三部分(12~15章),介紹M68HC11的開發(fā)與應(yīng)用技術(shù)。包括基本的編程練習(xí)、應(yīng)用程序設(shè)計(jì)、接口實(shí)驗(yàn)、接口設(shè)計(jì)及應(yīng)用等。 讀者通過學(xué)習(xí)本書,不僅可了解M68HC11的硬件、軟件,而且可了解使用EVB開發(fā)和應(yīng)用M68HC11單片機(jī)的方法。在本書的第三部分專門提供了一部分實(shí)驗(yàn)和應(yīng)用程序。? 本書系作者張寧作為高級(jí)訪問學(xué)者,應(yīng)邀在美國馬薩諸塞州洛厄爾大學(xué)(University of Massachusetts Lowell)工作期間完成的。全書由張寧執(zhí)筆。在編著過程中,美國洛厄爾大學(xué)的R·代克曼教授?(Professor Robert J. Dirkman)多次與張寧一起討論、研究,并提供部分資料及實(shí)驗(yàn)數(shù)據(jù)。參加編寫和審校等工作的還有王云霞、孫曉芳、劉安魯、張籍、來安德、張楊等同志。? 為將M68HC11系列單片機(jī)盡快介紹給我國,美國Motorola公司的Terrence M.S.Heng先生曾大力支持本書的編著和出版。在此表示衷心感謝。
上傳時(shí)間: 2013-10-27
上傳用戶:rlgl123
AT89C2051驅(qū)動(dòng)步進(jìn)電機(jī)的電路和源碼:AT89C2051驅(qū)動(dòng)步進(jìn)電機(jī)的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時(shí)間: 2013-11-21
上傳用戶:boyaboy
SPMC75低功耗操作:本應(yīng)用例介紹如何設(shè)置使SPMC75F2413A進(jìn)入節(jié)電模式。1.2 模式簡(jiǎn)介SPMC75F2413A有標(biāo)準(zhǔn)模式和兩種節(jié)電模式(等待模式和就緒模式),相應(yīng)功能如下: 標(biāo)準(zhǔn)模式(Normal)芯片在標(biāo)準(zhǔn)模式下運(yùn)行耗電最大,所有的外設(shè)都可用。 等待模式(wait)等待模式下,只有CPU掉電停止工作以降低功耗。其它外設(shè)保持著先前的狀態(tài)并且功能可用。一旦喚醒,CPU將繼續(xù)工作,執(zhí)行接下去的指令。 就緒模式(Standby)就緒模式下所有的模塊都變?yōu)闊o效,此時(shí)功耗達(dá)到最小。喚醒后,CPU復(fù)位并回到標(biāo)準(zhǔn)運(yùn)行模式。其它外設(shè)可以通過軟件分別設(shè)置關(guān)閉。就緒模式下所有功能都會(huì)關(guān)閉,只有系統(tǒng)時(shí)鐘仍在工作。如果按鍵喚醒功能為有效,這兩種模式都可以通過按鍵喚醒。具體喚醒源的分類及喚醒功能的介紹請(qǐng)參考《SPMC75F2413A編程指南》。【注意】如果MCP定時(shí)器3或定時(shí)器4已經(jīng)處于PWM輸出模式時(shí),芯片不會(huì)進(jìn)入等待或就緒模式。同樣在仿真模式下也無法進(jìn)入等待或就緒模式。
標(biāo)簽: 2413A F2413 SPMC 2413
上傳時(shí)間: 2013-11-20
上傳用戶:ming52900
基于單片機(jī)的紅外門進(jìn)控制系統(tǒng)設(shè)計(jì)與制作:我們所做的創(chuàng)新實(shí)驗(yàn)項(xiàng)目“基于單片機(jī)的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡(jiǎn)要說明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計(jì)數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對(duì)管實(shí)現(xiàn),紅外對(duì)管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過時(shí),紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過時(shí)便會(huì)產(chǎn)生一個(gè)電平的跳變。單片機(jī)控制部分主要是通過外部?jī)蓚€(gè)中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對(duì)紅外傳感器接到兩個(gè)外部中斷口,中斷0作為入口,實(shí)現(xiàn)加1操作,中斷1作為出口,實(shí)現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計(jì)數(shù)值為0時(shí),熄燈,不為0時(shí),燈亮。顯示部分,采用兩位數(shù)碼管動(dòng)態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計(jì)數(shù)。精益求精!在實(shí)驗(yàn)過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個(gè)門的進(jìn)出計(jì)數(shù),原理已清楚,即在門的兩邊放置兩對(duì)紅外對(duì)管,進(jìn)出時(shí),擋住兩對(duì)對(duì)管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實(shí)現(xiàn)加減計(jì)數(shù),編程時(shí),可分別在兩個(gè)中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實(shí)際過程中,還是發(fā)現(xiàn)實(shí)現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對(duì)單片機(jī)了解的深入,應(yīng)該會(huì)做出更好的 (因?yàn)槲覀兪桥R時(shí)學(xué)的單片機(jī)),程序的具體內(nèi)容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化緩存區(qū) MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;調(diào)用數(shù)制轉(zhuǎn)換子程序 ACALL DISPLAY ;調(diào)用顯示子程序 LJMP NEXT1 ORG 0100H ;中斷0服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中斷1服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;將十六進(jìn)制中最高位移入進(jìn)位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數(shù)加上本身相當(dāng)于將這個(gè)數(shù)乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進(jìn)制調(diào)整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段碼表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延時(shí)子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0wait: JNB TF0 , wait CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 該系統(tǒng)實(shí)際應(yīng)用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計(jì)、公交車智能計(jì)數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計(jì)等公共場(chǎng)合。另外,添加串口通信部分便可實(shí)現(xiàn)與PC數(shù)據(jù)交換的功能。 由于,實(shí)驗(yàn)簡(jiǎn)化了,剩下不少零件和資金,所以我們又做了兩項(xiàng)其他的實(shí)驗(yàn)。
標(biāo)簽: 單片機(jī) 紅外 控制系統(tǒng)設(shè)計(jì) 原理圖
上傳時(shí)間: 2013-12-22
上傳用戶:tangsiyun
//芯片資料請(qǐng)到www.elecfans.com查找 //DS1820 C51 子程序//這里以11.0592M晶體為例,不同的晶體速度可能需要調(diào)整延時(shí)的時(shí)間//sbit DQ =P2^1;//根據(jù)實(shí)際情況定義端口 typedef unsigned char byte;typedef unsigned int word; //延時(shí)void delay(word useconds){ for(;useconds>0;useconds--);} //復(fù)位byte ow_reset(void){ byte presence; DQ = 0; //pull DQ line low delay(29); // leave it low for 480us DQ = 1; // allow line to return high delay(3); // wait for presence presence = DQ; // get presence signal delay(25); // wait for end of timeslot return(presence); // presence signal returned} // 0=presence, 1 = no part //從 1-wire 總線上讀取一個(gè)字節(jié)byte read_byte(void){ byte i; byte value = 0; for (i=8;i>0;i--) { value>>=1; DQ = 0; // pull DQ low to start timeslot DQ = 1; // then return high delay(1); //for (i=0; i<3; i++); if(DQ)value|=0x80; delay(6); // wait for rest of timeslot } return(value);} //向 1-WIRE 總線上寫一個(gè)字節(jié)void write_byte(char val){ byte i; for (i=8; i>0; i--) // writes byte, one bit at a time { DQ = 0; // pull DQ low to start timeslot DQ = val&0x01; delay(5); // hold value for remainder of timeslot DQ = 1; val=val/2; } delay(5);} //讀取溫度char Read_Temperature(void){ union{ byte c[2]; int x; }temp; ow_reset(); write_byte(0xCC); // Skip ROM write_byte(0xBE); // Read Scratch Pad temp.c[1]=read_byte(); temp.c[0]=read_byte(); ow_reset(); write_byte(0xCC); //Skip ROM write_byte(0x44); // Start Conversion return temp.x/2;}
上傳時(shí)間: 2013-11-03
上傳用戶:hongmo
//遙控解碼子程序,LC7461,用戶碼為11C//external interrupt0void isr_4(){ unsigned char r_count;//定義解碼的個(gè)數(shù) unsigned long use_data=0;//定義16位的用戶碼,只用到13位 unsigned long use_code=0;//定義16位的用戶反碼,只用到13位 unsigned long data=0;//定義16位數(shù)據(jù)碼,包括8位數(shù)據(jù)碼和反碼 unsigned char data_h=0;//數(shù)據(jù)反碼 unsigned char data_l=0;//數(shù)據(jù)碼 _clrwdt();// _delay(7000);//7461解碼,延時(shí)7000// _delay(7000);//7461解碼,延時(shí)7000//_delay(7000);//7461解碼,延時(shí)7000 if(remote==1) goto error; while(remote==0);//wait to high //_delay(9744);count_delay=0; while(count_delay<143); if(remote==1) goto error; /////用戶碼解碼use_data//////////add////////////////////////// for(r_count=13;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&use_data); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&use_data); } _nop(); //if(remote==1) //_delay(1680);//wait to low while(remote==1);//wait to low _nop(); ////////用戶碼解碼finish/////////add/////////add//////// /////用戶碼反碼解碼use_code//////////add////////////////////////// for(r_count=13;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&use_code); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&use_code); } _nop(); //if(remote==1) // _delay(1680);//wait to low while(remote==1);//wait to low _nop(); ////////用戶碼反碼解碼finish/////////add/////////add//////// ////數(shù)據(jù)碼解碼開始////data_l為用戶碼,data_h為數(shù)據(jù)碼反碼//////////// for(r_count=16;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&data); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&data); } ////數(shù)據(jù)碼解碼結(jié)束//////////////////////////////////////////////// data_l=data; data_h=data>>8; ///用戶碼////// use_data>>=3; use_code>>=3; use_code=~use_code; //////// ////如果用戶碼等與0x11c并且數(shù)據(jù)碼和數(shù)據(jù)反碼都校驗(yàn)一致,解碼成功 //if((~data_h==data_l)&&use_data==0x11c)//使用用戶碼 //跳過用戶碼 if(~data_h==data_l)//如果數(shù)據(jù)碼和數(shù)據(jù)反碼(取反后)相等,解碼正確 { _nop(); r_data=data_l;//r_data為解出的最終數(shù)據(jù)碼 } //否則解碼不成功 _nop(); _nop();error: //r_data=nocode; _nop(); _nop(); _nop();}
上傳時(shí)間: 2014-03-27
上傳用戶:shenlan
Unix 第 6 版的 sh 手冊(cè)和源碼,感興趣請(qǐng)參考`The UNIX Time-Sharing System , CACM, July, 1974,它給出 Shell 操作的理論。 chdir (I), login (I), wait (I), shift (I)
上傳時(shí)間: 2014-08-15
上傳用戶:wys0120
一個(gè)UNIX進(jìn)程間通訊的程序,使用了信號(hào)量來解決操作系統(tǒng)的消費(fèi)者與生產(chǎn)者問題,使用了fork,wait,nanosleep,sempo等unix函數(shù)。
上傳時(shí)間: 2015-03-29
上傳用戶:皇族傳媒
<===== 關(guān)于 GANT 鼠標(biāo)集 (M) =====> 此“GANT 鼠標(biāo)集 (M)”包含黃色和藍(lán)色兩種顏色主題,每種顏色主題分別有兩套鼠標(biāo)。換句話說,這個(gè)鼠標(biāo)集共提供4套鼠標(biāo),分別放在4個(gè)文件夾內(nèi)。 這里,我簡(jiǎn)單介紹一下每套鼠標(biāo),以所在文件夾名來指代: - yellow_normal_24x24:黃色,9個(gè) ani 文件(動(dòng)態(tài)鼠標(biāo))和6個(gè) cur 文件(靜態(tài)鼠標(biāo)),與預(yù)覽圖中所示一樣; - yellow_colorful_24x24:黃色,除“Work in Background.ani”和“wait.ani”兩個(gè)鼠標(biāo)為12色變換之外,其他13個(gè)鼠標(biāo)與上面一套完全相同; - blue_normal_24x24:藍(lán)色,9個(gè) ani 文件和6個(gè) cur 文件; - blue_colorful_24x24:藍(lán)色,除“Work in Background.ani”和“wait.ani”兩個(gè)鼠標(biāo)為12色變換之外,其他13個(gè)鼠標(biāo)與上面一套完全相同。 所有鼠標(biāo)的尺寸都是 24像素 x 24像素。 感謝 mattahan 準(zhǔn)許我使用他的 GANT 圖標(biāo)來制作這幾套鼠標(biāo)! 同時(shí)非常感謝 cyberchaos05(http://cyberchaos05.deviantart.com),他為我制作了鼠標(biāo)的預(yù)覽圖。 “GANT 鼠標(biāo)集 (M)”僅供個(gè)人使用,不得用于任何商業(yè)目的!
上傳時(shí)間: 2013-12-20
上傳用戶:SimonQQ
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1