嵌入式系統(tǒng)實(shí)習(xí)報(bào)告課件_第1頁(yè)
嵌入式系統(tǒng)實(shí)習(xí)報(bào)告課件_第2頁(yè)
嵌入式系統(tǒng)實(shí)習(xí)報(bào)告課件_第3頁(yè)
嵌入式系統(tǒng)實(shí)習(xí)報(bào)告課件_第4頁(yè)
嵌入式系統(tǒng)實(shí)習(xí)報(bào)告課件_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 嵌入式操作系統(tǒng)實(shí)習(xí)報(bào)告 選題:電子時(shí)鐘班級(jí):計(jì)本11-3班姓名:冀慧君學(xué)號(hào):3110717339同組:吳鵬指導(dǎo)老師:金紅日期:2014.12.10一:引言嵌入式在我們的生活中應(yīng)用是很廣泛的,大到飛機(jī)、坦克、導(dǎo)彈,小到手表、遙控器。雖然嵌入式系統(tǒng)是這一、二十年才真正風(fēng)靡起來(lái)的,但是嵌入式這個(gè)概念卻是很早就存在了,而且現(xiàn)今嵌入式系統(tǒng)的應(yīng)用數(shù)量已經(jīng)超過(guò)了通用計(jì)算機(jī),縱觀嵌入式的發(fā)展歷程,我們可以發(fā)現(xiàn)其大概可以分為幾個(gè)階段:1、 無(wú)操作系統(tǒng)階段 嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的,大多以可編程控制器的形式出現(xiàn)的,基本具有檢測(cè)、伺服、設(shè)備指示等功能,但是嚴(yán)格來(lái)說(shuō)都是在沒(méi)有系統(tǒng)支持的情況下完成的,所以其

2、所能完成的功能有限。2、 簡(jiǎn)單操作系統(tǒng)階段 隨著微電子技術(shù)工藝水平的提高,電腦制造商開(kāi)始把嵌入式所需要的硬件比如:串口、I/O接口、微處理器集成到一塊芯片上,并開(kāi)始在簡(jiǎn)單的操作系統(tǒng)平臺(tái)上驅(qū)動(dòng)這些硬件。3、 實(shí)時(shí)操作系統(tǒng)階段在20世紀(jì)90年代后,計(jì)算機(jī)的爆炸性增長(zhǎng),帶來(lái)了操作系統(tǒng)的快速發(fā)展,出現(xiàn)了能夠運(yùn)行在各種不同類(lèi)型的微處理器上的操作系統(tǒng),具有高度的模塊化和拓展性,可以實(shí)時(shí)的對(duì)不同環(huán)境做出不同的處理。4、 面向Internet階段21世紀(jì)網(wǎng)絡(luò)的快速發(fā)展,嵌入式開(kāi)始應(yīng)用的各種網(wǎng)絡(luò)環(huán)境當(dāng)中去,開(kāi)始出現(xiàn)了嵌入式技術(shù)和互聯(lián)網(wǎng)技術(shù)相結(jié)合的局面。那么說(shuō)了這么多,什么是嵌入式系統(tǒng)呢?根據(jù)IEEE(美國(guó)電氣和

3、電子工程協(xié)會(huì))對(duì)嵌入式系統(tǒng)的定義是:“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”,它具有可裁剪性、強(qiáng)實(shí)時(shí)性、統(tǒng)一的接口、良好的移植性等特性,也正是它的這些特性使它應(yīng)用起來(lái)很廣范,需要什么就留什么,不需要的就裁剪掉,因此嵌入式技術(shù)很靈活,只要確定了需求就可以快速的制造出產(chǎn)品。由此通過(guò)剛才縱覽嵌入式系統(tǒng)的發(fā)展,我們可以很容易看出在可預(yù)見(jiàn)的未來(lái),嵌入式技術(shù)還有很大的發(fā)展空間,而且和我們的日常生活會(huì)越來(lái)越緊密。因此,開(kāi)展嵌入式系統(tǒng)綜合設(shè)計(jì)實(shí)習(xí),不但可以使我們對(duì)嵌入式有一個(gè)全面的了解,而且可以培養(yǎng)我們學(xué)生利用所學(xué)專業(yè)知識(shí)進(jìn)行嵌入式開(kāi)發(fā)的能力,同時(shí)可以提高我們的動(dòng)手能力,檢驗(yàn)我們的綜合能力。二:嵌入式系

4、統(tǒng)1.嵌入式系統(tǒng)概述嵌入式系統(tǒng)是集成電路發(fā)展過(guò)程中的一個(gè)標(biāo)志性成果,它把計(jì)算機(jī)直接嵌入到應(yīng)用系統(tǒng)中,融合了計(jì)算機(jī)軟/硬件技術(shù)、通信技術(shù)和微電子技術(shù),是一種微電子產(chǎn)業(yè)和信息技術(shù)產(chǎn)業(yè)的最終產(chǎn)品。微電子產(chǎn)業(yè)是許多國(guó)家優(yōu)先發(fā)展的產(chǎn)業(yè)。以超深亞微米工藝和IP核復(fù)用技術(shù)為支撐的系統(tǒng)芯片技術(shù)是國(guó)際超大規(guī)模集成電路發(fā)展的趨勢(shì)和21世紀(jì)集成技術(shù)的主流。2.嵌入式操作系統(tǒng)嵌入式系統(tǒng)既然是計(jì)算機(jī)系統(tǒng),就不可避免地由三大部分構(gòu)成:CPU、內(nèi)存和輸入輸出手段。(1)可靠性與穩(wěn)定性對(duì)嵌入式系統(tǒng)有著特別重要的意義。(2)嵌入式系統(tǒng)的軟硬件均是面向特定應(yīng)用對(duì)象和任務(wù)設(shè)計(jì)的,具有很強(qiáng)的專用性。(3)有些嵌入式系統(tǒng)需要長(zhǎng)期連續(xù)運(yùn)

5、行(如電話交換機(jī))。(4)有些要求高可靠的嵌入式系統(tǒng)還需要采用“容錯(cuò)(Fault Tolerance)”技術(shù)。(5)許多嵌入式系統(tǒng)都有實(shí)時(shí)要求,需要有對(duì)外部事件迅速做出反應(yīng)的能力。(6)在系統(tǒng)組成上,因?yàn)榍度胧较到y(tǒng)常常用于控制目的,(7)與通用計(jì)算機(jī)相比,嵌入式系統(tǒng)一般都不帶用于大容量存儲(chǔ)目的的外部設(shè)備,也就是不帶磁盤(pán)。(8)許多嵌入式系統(tǒng)的人機(jī)界面也有其特殊性。三:了解STC51(1) 工作電壓:3.4V-5.5V (5V單片機(jī))/ 2.0V-3.8V (3V 單片機(jī));(2) 工作頻率范圍:0 -35 MHz,相當(dāng)于普通8051 的0420MHz.實(shí)際工作頻率可達(dá)48MHz;(3) 片上集

6、成512 字節(jié)RAM;(4) 通用I/O 口(27/23個(gè)),復(fù)位后為:準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口)??稍O(shè)置成四種模式:準(zhǔn)雙向口/ 弱上拉,推挽/ 強(qiáng)上拉,僅為輸入/高阻,開(kāi)漏。每個(gè)I/O 口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不得超過(guò)55mA;(5) ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器,可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;(6) EEPROM 功能;(7) 看門(mén)狗;(8) 內(nèi)部集成MAX810 專用復(fù)位電路(外部晶體20M 以下時(shí),可省外部復(fù)位電路);(9) 時(shí)鐘源:外部高精度晶體/ 時(shí)鐘,內(nèi)部R/C 振蕩

7、器。用戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C 振蕩器還是外部晶體/ 時(shí)鐘。常溫下內(nèi)部R/C 振蕩器頻率為:5.2MHz 6.8MHz。精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,因?yàn)橛袦仄?,?qǐng)選4MHz 8MHz;(10) 有2個(gè)16 位定時(shí)器/ 計(jì)數(shù)器;(11) 外部中斷2 路,下降沿中斷或低電平觸發(fā)中斷,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式喚醒;STC51圖:四:了解uCOS-II(1) uCOSII包括任務(wù)調(diào)度,時(shí)間管理,內(nèi)存管理,資源管理(信號(hào)量,郵箱,消息隊(duì)列)四大部分,沒(méi)有文件系統(tǒng),網(wǎng)絡(luò)接口,輸入輸出界面;(2) 它的移植只與4個(gè)文件相關(guān):a) 匯編文件(OS_CP

8、U_A.ASM)b) 處理器相關(guān)C文件(OS_CPU.H,OS_CPU_C.C)c) 配置文件(OS_CFG.H)(3) uCOSII有64個(gè)優(yōu)先級(jí),系統(tǒng)占用8個(gè),用戶可創(chuàng)建56個(gè)任務(wù),不支持時(shí)間片輪轉(zhuǎn);(4)uCOSII工作核心原理是:近似地讓最高優(yōu)先級(jí)的就緒任務(wù)處于運(yùn)行狀態(tài);(5)操作系統(tǒng)將在下面情況中進(jìn)行任務(wù)調(diào)度:調(diào)用API函數(shù)(用戶主動(dòng)調(diào)用),中斷(系統(tǒng)占用的時(shí)間片中斷OsTimeTick(),用戶使用的中斷);(6) uCOSII(OSCore.c):是操作系統(tǒng)的核心,包括系統(tǒng)初始化,操作系統(tǒng)運(yùn)行,中斷進(jìn)行的前導(dǎo),時(shí)鐘節(jié)拍,任務(wù)調(diào)度,事務(wù)處理等多部分。主要任務(wù)是維持系統(tǒng)的基本工作;(

9、7) uCOSII(OSTask.c):解決任務(wù)的建立,刪除,掛起,回復(fù)等等。且uCOSII是以任務(wù)為基本單位調(diào)度的。(8) uCOSII(OSTime.c):uCOSII中最小的時(shí)鐘單位是timetick(時(shí)鐘節(jié)拍).五:了解1602(1) 字符型LCD1602通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣;(2) DDRAM:DRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼。共80個(gè)字節(jié)。(3) CGROM:字符發(fā)生存儲(chǔ)器,1602已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形。(4) CGRAM:字

10、符發(fā)生存儲(chǔ)器第一排,可以將自己定制的字符寫(xiě)入在程序需要時(shí)取出。(5) 清屏指令:00000001H;六:焊接材料材料:STC51開(kāi)發(fā)板一個(gè)1602顯示屏-16個(gè)接口萬(wàn)用版一個(gè)5個(gè)按鈕,5個(gè)上拉電阻,七根杜邦線焊接:使用P0口和P3.5-P3.6-P3.7與1602的接口相連,所以用16口單列插座與上述端口焊接。另外,由于要使用1602顯示屏,需將開(kāi)發(fā)板背后右下角的LCD1602焊點(diǎn)焊接。另外,預(yù)定5個(gè)按鍵操作時(shí)鐘,選定P2.3-P2.7為端口進(jìn)行操作,則用單列插針與其焊接,以便連接杜邦線。最后用九個(gè)單列插針與電源口焊接。萬(wàn)用板焊接電路圖如下:R1 = 10k歐萬(wàn)用板實(shí)物圖如下:七:往STC51

11、開(kāi)發(fā)板移植uCOSII(1) 修改OS_CPU.H-將BOOLEAN要定義成unsigned char 類(lèi)型,因?yàn)閎it類(lèi)型為C51特有,不能用在結(jié)構(gòu)體里.(typedef unsigned char BOOLEAN; )-將開(kāi)關(guān)中斷方式改為EA=1,EA=0;(#define OS_ENTER_CRITICAL() EA=0#define OS_EXIT_CRITICAL() EA=1)-由于51堆棧自低地址往高地址生長(zhǎng),所以堆棧增長(zhǎng)方向的設(shè)置必須修改。(#define OS_STK_GROWTH 0)-因?yàn)镸CU-51沒(méi)有軟中斷指令,所以用程序調(diào)用代替。(#define OS_TASK_S

12、W() OSCtxSw())(2) 修改OS_CPU_C.C-用C語(yǔ)言在OS_CPU_C.C中添加鉤掛函數(shù)初始化任務(wù)堆棧函數(shù):OS_STK *OSTaskStkInit (void (*task)(void *pd) reentrant, void *ppdata, OS_STK *ptos, INT16U opt) reentrant;任務(wù)創(chuàng)建鉤掛函數(shù):void OSTaskCreateHook (OS_TCB *ptcb) reentrant;任務(wù)刪除鉤掛函數(shù):void OSTaskDelHook (OS_TCB *ptcb) reentrant;任務(wù)切換鉤掛函數(shù):void OSTaskS

13、wHook (void) reentrant;任務(wù)鉤掛函數(shù):void OSTimeTickHook (void) reentrant;-另外(1),KEIL缺省情況下編譯的代碼不可重入,而多任務(wù)系統(tǒng)要求并發(fā)操作導(dǎo)致重入,所以要在每個(gè)C函數(shù)及其聲明后標(biāo)注reentrant關(guān)鍵字.-另外(2),pdata,data在uCOS中用做一些函數(shù)的形參,但它同時(shí)又是KEIL的關(guān)鍵字,會(huì)導(dǎo)致編譯錯(cuò)誤,我通過(guò)把pdata改成ppdata,data改成ddata解決了此問(wèn)題.(3) 修改OS_CPU_A.ASM-運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)OSStartHighRdy();-任務(wù)級(jí)的任務(wù)切換函數(shù)OSCtxSW();

14、-中斷級(jí)的任務(wù)切換函數(shù)OSIntCtxSw();-時(shí)鐘節(jié)拍中斷服務(wù)函數(shù)OSTickISR();八:驗(yàn)證移植的成功性,編寫(xiě)main函數(shù)在外部做出特征STC51開(kāi)發(fā)板上P5.5端口控制開(kāi)發(fā)板上LED燈亮滅,當(dāng)P5.5低電平是燈滅,當(dāng)P5.5高電平時(shí)燈亮。則在main函數(shù)中添加一個(gè)控制燈亮的任務(wù)即可驗(yàn)證實(shí)驗(yàn)成功與否。void delayms(unsigned int m)/延時(shí)程序 int a, b; for(a=0;a5000;a+) for(b=0;b在main函數(shù)中開(kāi)啟定時(shí)器一開(kāi)始計(jì)數(shù)ET1=1;b計(jì)算出計(jì)算初值。STC-ISP中選擇振蕩器放大增益為11.0592MHz,為了計(jì)算方便約為12H

15、Mz。機(jī)器周期T=12/主振頻率=1微秒。在程序中設(shè)計(jì)時(shí)次數(shù)20次時(shí)為1秒,則一次為0.05秒。0.05秒/1微秒=50000次,計(jì)時(shí)器一工作在方式一可計(jì)65536次,需求為50000次,則計(jì)數(shù)初值為65536-50000=15536次。換算成16進(jìn)制數(shù)則為3CB0。c編寫(xiě)定時(shí)器一的中斷函數(shù)void time0() interrupt 3;設(shè)好計(jì)算初值,每當(dāng)count達(dá)到20次則sec+1且進(jìn)入判斷,若sec59則min+1&sec=0,若min59則hou+1&min=0。并且每當(dāng)sec,min,hou改變時(shí)調(diào)用自己編寫(xiě)的lcd_time()函數(shù)刷新時(shí)間顯示區(qū)域。d編寫(xiě)時(shí)鐘按鍵控制程序:將判

16、斷放入死循環(huán)中,使其可以隨時(shí)察覺(jué)外界動(dòng)作。進(jìn)入判斷,當(dāng)key(x)低電平時(shí),則調(diào)用相應(yīng)函數(shù)key(x)_fun();十一:同時(shí)進(jìn)行三個(gè)任務(wù)Task1:控制LED燈亮滅Task2:控制1602顯示屏上半行顯示時(shí)間Task3:控制1602顯示屏下半行顯示字幕并移動(dòng)先在main()函數(shù)中調(diào)要OSTaskCreate()函數(shù)創(chuàng)建三個(gè)任務(wù),并制定優(yōu)先級(jí)。然后調(diào)用uCOS-II的延時(shí)函數(shù)OSTimeDlyHMSM()讓三個(gè)任務(wù)交替進(jìn)行。十二:總結(jié)1. 任務(wù)的分配本次實(shí)驗(yàn)選題LED屏顯示時(shí)鐘應(yīng)用,在跟同學(xué)經(jīng)過(guò)仔細(xì)討論后,各自選擇了自己擅長(zhǎng)的方面入手,他負(fù)責(zé)嵌入式操作系統(tǒng)的移植,我負(fù)責(zé)軟件的編寫(xiě)。兩個(gè)人在實(shí)習(xí)

17、期間相互了解進(jìn)況,一起解決各自遇到的難題,脫離了以前的編程式個(gè)人英雄主義,效率和成果顯著提高。2.實(shí)習(xí)流程在我進(jìn)行軟件的編寫(xiě)時(shí),先了解了uCOS-II系統(tǒng)的任務(wù)是如何調(diào)度和進(jìn)行的,然后結(jié)合C語(yǔ)言編程,先后實(shí)現(xiàn)了對(duì)LED屏的顯示控制和時(shí)鐘的時(shí)間計(jì)算。在主函數(shù)中調(diào)用1602的初始化函數(shù)和uCOS-II的初始化函數(shù),然后分別將所寫(xiě)的三個(gè)任務(wù)用uCOS-II的創(chuàng)建函數(shù)創(chuàng)建并開(kāi)始運(yùn)行。在每個(gè)任務(wù)中調(diào)用uCOS-II的延時(shí)函數(shù)即可讓三個(gè)任務(wù)交替進(jìn)行。3. 遇到的問(wèn)題一開(kāi)始閱讀uCOS-II代碼時(shí),總是為了查找當(dāng)前所調(diào)用的函數(shù)函數(shù)體找的焦頭爛額,后來(lái)在同學(xué)告知下,得知Keil可以按快捷鍵F12直接跳到函數(shù)的

18、定義位置,方便不少。在初始化1602顯示屏的函數(shù)編寫(xiě)時(shí),每次將開(kāi)發(fā)板斷電在接電后,1602屏幕總是在字符處存在陰影。在經(jīng)過(guò)一系列探討和查詢資料后,發(fā)現(xiàn)原來(lái)是1602沒(méi)有徹底完成初始化,在將初始化指令重寫(xiě)三遍并在每個(gè)指令后都加一個(gè)延時(shí)程序后,陰影消除。設(shè)計(jì)自定義的延時(shí)函數(shù)時(shí),不知如何準(zhǔn)確的設(shè)計(jì)延時(shí)時(shí)間,后來(lái)在網(wǎng)上查詢到C51在一個(gè)機(jī)器周期可以執(zhí)行十二條指令,這樣延時(shí)一秒即是5000012,即可以將延時(shí)控制到一個(gè)精準(zhǔn)度。任務(wù)調(diào)度的時(shí)候,又遇到如何將三個(gè)任務(wù)同時(shí)進(jìn)行的問(wèn)題,因?yàn)閡COS-II總是執(zhí)行最高優(yōu)先級(jí)的任務(wù),后來(lái)在網(wǎng)上查到uCOS-II有一個(gè)系統(tǒng)延時(shí)函數(shù),可以將當(dāng)前任務(wù)掛起若干秒去執(zhí)行下一個(gè)

19、當(dāng)前最高優(yōu)先級(jí)的任務(wù),這樣任務(wù)交替執(zhí)行就解決了。十三:主函數(shù)代碼:Lcd.h-本文件中定義按鍵,編寫(xiě)1602初始化函數(shù),向1602寫(xiě)入指令和數(shù)據(jù)函數(shù),以及自己定義的時(shí)鐘中斷函數(shù)和1602初始時(shí)顯示所需字符的函數(shù)。#ifndef _LCD_H_#define _LCD_H_ /*11111111111111111電子時(shí)鐘的宏定義111111111111*/#define uchar unsigned charuchar code dislcd=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x65,0x69,0x6d,0x54;un

20、signed char code d = PDS;sbit rs=P35;sbit rw=P36;sbit e=P37; sbit key1=P23;/key1、key5可以調(diào)整分針 ,key2、key4可以調(diào)整時(shí)針。key3為復(fù)位鍵sbit key2=P24;sbit key3=P25;sbit key4=P26; sbit key5=P27;unsigned int cou,sec,min,hou;unsigned int i,j,m,n;void delay() / 延時(shí)子函數(shù) 功能:延時(shí)unsigned int j;for(j=0;j255;j+);void delay1()/ 延時(shí)子

21、函數(shù) 功能:用于按鍵延時(shí)unsigned int a,j;for(a=0;a20;a+)for(j=0;j=20)cou=0;sec+;lcd_time();if(sec59)sec=0;min+;lcd_time();if(min59)min=0;hou+;lcd_time();if(hou23)hou=0;lcd_time();#endif Main.c-主函數(shù)所在的C文件,主要是編寫(xiě)三個(gè)任務(wù)和程序的入口函數(shù),給三個(gè)任務(wù)初始化了三個(gè)棧,然后完善三個(gè)任務(wù)的功能。#include includes.h#include lcd.h OS_STK xdata Task1StkMaxStkSize+

22、1;/TCB結(jié)構(gòu)體中OSTCBStkPtr總是指向用戶堆棧最低地址,該地址空間內(nèi)存放用戶堆棧長(zhǎng)度,其上空間存放系統(tǒng)堆棧映像OS_STK xdata Task2StkMaxStkSize+1;/即:用戶堆??臻g大小=系統(tǒng)堆??臻g大小+1OS_STK xdata Task3StkMaxStkSize+1;/OS_EVENT* xdata FirstSem;INT8U err; void key1_fun()delay1(); /鍵值有效,等待key1彈起if(key1=1) /key1彈起,分針加 min+; if(min59) min=0; hou+; lcd_wmc(0x88);lcd_wmd

23、(dislcdmin/10);lcd_wmc(0x89);lcd_wmd(dislcdmin%10); void key2_fun() delay1();if(key2=1) hou+; if(hou23) hou=0; lcd_wmc(0x85);lcd_wmd(dislcdhou/10);lcd_wmc(0x86);lcd_wmd(dislcdhou%10); void key3_fun()delay1();if(key3=1)hou=0;lcd_wmc(0x85);lcd_wmd(dislcd0);lcd_wmc(0x86);lcd_wmd(dislcd0);min=0;lcd_wmc(

24、0x88);lcd_wmd(dislcd0);lcd_wmc(0x89);lcd_wmd(dislcd0);sec=0;lcd_wmc(0x8b);lcd_wmd(dislcd0);lcd_wmc(0x8c);lcd_wmd(dislcd0);void key4_fun() delay1(); if(key4=1) if(hou0) hou-; if(hou 0) min-; if(min =0) min = 0; lcd_wmc(0x88);lcd_wmd(dislcdmin/10);lcd_wmc(0x89);lcd_wmd(dislcdmin%10); void Task1(void *

25、ppdata) reentrantppdata = ppdata;ET0 = 1; /根任務(wù)開(kāi)時(shí)鐘節(jié)拍中斷 重要! while(1) OSTimeDlyHMSM(0,0,1,0); while(1) /按鍵程序 OSTimeDlyHMSM(0,0,0,250); if(key1=0) /鍵值key1是否有效 OSTimeDlyHMSM(0,0,0,250); key1_fun();if(key2=0) OSTimeDlyHMSM(0,0,0,250); key2_fun();if(key3=0) OSTimeDlyHMSM(0,0,0,250); key3_fun(); if(key4=0) OSTimeDlyHMSM(0,0,0,250); key4_fun

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論