




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計開題報告基于單片機實現的俄羅斯方塊游戲系別:班級:學生姓名:指導教師:20141218開題報告填寫要求1.開題報告作為畢業設計答辯委員會對學生答辯資格審查的依據材料之一,應在指導教師指導下,由學生在畢業設計工作前期完成,經指導教師簽署意見、專家組及系主任審查后生效;(可從教務處網頁上下載)打印,禁止打印在其它紙上后剪貼;3.畢業設計的開題報告應包括以下內容:(1)主要技術指標;(2)工作思路;(3)課題的準備情況及進度計劃;(4)參考文獻。4.開題報告的撰寫應符合科技文獻規范,且不少于2000字;參考文獻應不少于15篇,包括中外文科技期刊、教科書、專著等。5A42cm2.5cm倍行距。6一欄:理工類:A.理論研究B.應用研究C工程設計D.軟件開發E.其它經管文教類:A.理論研究B.應用研究C.實證研究D.藝術創作E.其它“課題來源”一欄:A.科研立項B.社會生產實踐C.教師自擬D.學生自選“成果形式”一欄:A.論文B.設計說明書C.實物D.軟件E.作品畢業設計開題報告課題題目
基于單片機實現的俄羅斯方塊游戲□A□A■B□C□D□E■□■□□
A B C D E
課題來源同組同學
A B C D□□□■開題報告內容(可另附頁)見附頁指導教師意見(指導教師簽名:月 日專家組及系里意見(選題是否適宜、各項內容是否達到畢業設計(論文)大綱要求、整改專家組及系里意見(選題是否適宜、各項內容是否達到畢業設計(論文)大綱要求、整改意見等)專家組成員簽字:教學主任(月日附頁:一、設計的目的與意義
開題報告AlexPajitnov制作的,它看似簡單但卻變化無窮,令人上癮。相信大多數用戶都還記得為它癡迷得茶不思飯不想的那個俄羅斯方塊時代。二、工作思路1.實現的功能:俄羅斯方塊游戲規則的實現2.特點:采用單片機實現具有便攜性與易用性三、計劃進度序號序號畢業設計階段性工作及成果時間安排1收集資料確定設計方案1~3周2程序設計設計4~6周3電路系統設計7~9周4焊接與調試10周5總體校核完成畢業設計11~13周四、參考文獻C[M]2004.Apress. Introduction to Visual Basic Programming [M].ProfessionalComputingandWebDesign,2006.楊元強。酷比杯獲獎作品選登《LEGO俄羅斯》[J]。“酷比杯”游戲策劃大賽,2007.周潤景著.ProteusMCS-51&ARM7[M].北京:電子工業出版2006.JavaBean[R].技術及應用學術會議,2001.JasonLam.J2ME&Gaming[M].AddisonWesley,2004.高凌琴,陳青華.俄羅斯方塊游戲關鍵技術探討[J].信息技術與信息化.2008.Java2游戲設計》[M].北京:清華大學出版社,2004.JAVA[M].北京:中國2005-5.[10]譚浩強.C程序設計.[M]北京:清華大學出版社,2003.基于單片機實現的俄羅斯方塊游戲MCUbasedRussiablockgame摘 要AT89S52CProteusLCDProtuesAT89S52關鍵詞:AT89S52;C語言;Proteus仿真;LCD液晶ABSTRACTThisdesignisachievedthroughtheAT89S52microcontrollerTetrisgamedesign,programmingusingClanguage,andcarriedoutbyproteussimulation.ThisdesignisachievedthroughtheAT89S52microcontrollerTetrisgamedesign,programmingusingClanguage,andcarriedoutbyproteussimulation.Thedesigntoachievethebasicfunctionsare:applicationbuttonstocontrolthebox,changeandmovement;eliminatelineandscoring;eliminatemulti-lineincentivepoints,thegameendswhentheboxfilledwithbasicfunctionssuchasTetris.MCUintheapplicationofhandheldentertainmentdeviceshavegreatpotential,itcanbebroughttoanewstage.Inordertosolvetheexternalcircuit,wemustfullyunderstandtheliquidcrystaldisplaymethodandexternalinterfaceMCUfeatures,andtheneedtoaddressthelogicalrelationship;alsounderstandthattheprincipleofLCDliquidcrystalcontroltoadataportandcontrolporttoachievetheabovetheLCDscreendisplay.Programrequiresknowledgeoftheexternalcircuitwheretheyneedtocompletethefunctionandthefunctiontobecompletedintheformofprogramminglanguageusedtoachieve.Simulationthenprotuesbuttonstocontrolanexternalboxtoplayavarietyofgraphicalgames,andachieverecordnumberofscoresandtherelationshiphadtochangethespeedofthemoduledown.Finally,theprogramdownloadedtoAT89S52MCUandtheactualoperation,theactualoperationindicatethatthisdesigncanachievebasicgamenewstage.Inordertosolvetheexternalcircuit,wemustfullyunderstandtheliquidcrystaldisplaymethodandexternalinterfaceMCUfeatures,andtheneedtoaddressthelogicalrelationship;alsounderstandthattheprincipleofLCDliquidcrystalcontroltoadataportandcontrolporttoachievetheabovetheLCDscreendisplay.Programrequiresknowledgeoftheexternalcircuitwheretheyneedtocompletethefunctionandthefunctiontobecompletedintheformofprogramminglanguageusedtoachieve.Simulationthenprotuesbuttonstocontrolanexternalboxtoplayavarietyofgraphicalgames,andachieverecordnumberofscoresandtherelationshiphadtochangethespeedofthemoduledown.Finally,theprogramdownloadedtoAT89S52MCUandtheactualoperation,theactualoperationindicatethatthisdesigncanachievebasicgamefunctions,toachievethedesiredpurpose.PAGE\*ROMANPAGE\*ROMANII目 錄緒 論 1課題背景 1電子游戲及其分類 1電子游戲發展現狀 2電子游戲國外發展現狀 2電子游戲國內發展現狀 3整體設計方案 5系統的核心部分單片機 5單片機的選擇 5AT89S52引腳功能描述 7晶振特性 9液晶顯示模塊 10液晶顯示控制驅動器HD61202的特點 10液晶顯示控制驅動器HD61202的引腳功能 10液晶顯示控制驅動器HD61202的指令系統 112.2.4 HD61202的軟件設計 122.2.5 JM12864J的電路結構特點 152.2.6 JM12864J的應用 162.2.7 鍵盤電路 17系統程序的設計 18俄羅斯方塊驅動流程圖 18俄羅斯方塊所有繪圖工作流程圖 19俄羅斯方塊中按下鍵的流程圖 20俄羅斯方塊所有繪圖工作流程圖 21系統仿真 22PROTUES軟件介紹 22Keil軟件介紹 22俄羅斯方塊系統PROTUES仿真 24實物的制作與調試 26電路的焊接 26系統性能測試與功能說明 27結 論 28參考文獻 29附錄1:C語言程序 30附錄2:電路原理圖 59附錄3:英文資料及中文翻譯 60致 謝 76PAGEPAGE51 緒 論,D/A,Watchdog,LCD課題背景AlexPajitnov制作的,它看似簡單但卻變化無窮,令人上癮。相信大多數用戶都還記得為它癡迷得茶不思飯不想的那個俄羅斯方塊時代。2005年,以計算機技術、通信技術和軟件技術為核心的信息技術取得了更加迅計算機、通訊、消費電子)3G電子游戲及其分類電子游戲,也就是運行在家用電腦、家用電子游戲機或是掌中寶游戲機及街機上的電子游戲程序。電子游戲是一種結合劇情故事、美術、音樂、動畫、程序等技術于一身的互動型娛樂軟件,涉及到多個行業。從電子游戲的分類來看,有著多種分類方式。傳統的游戲分類是按照游戲類型,將其分為即時戰略游戲、第一人稱射擊游戲、角色扮演游戲、策略型游戲等類別。根據游戲運行平臺的不同,可將電子游戲分為游戲機游戲、單機版PC游戲、互動電視游戲、在線游戲和手機游戲。此外,韓國政府將電子游戲業分為家用游戲機游戲、單PC游戲、網絡游戲和街機游戲四大類。考慮到中韓游戲業比較接近,論文采用(局域網)技術出現之前,電子游戲都可以歸于單機版游戲,即“人機對戰”游戲,或最多是雙人對戰游戲。而隨著互聯網技術的出現,通過連接游戲服務器,上百、上千、乃至上萬的游戲玩家同時連線娛樂成為了現實,這就大大增加了游戲的互動性、電子游戲發展現狀電子游戲國外發展現狀電子游戲是最初產生于美國,1971年,一個還在MIT就讀的學生設計了世界上第一個業務用游戲機,這個街機游戲的名字叫《電腦空間》。可以說時至今日,電子游戲仍然是外國的天下。美國至今仍是世界第一大游戲市場,它遵循的是以發行商為主的產業開發鏈模NPDGroup2004(包括家用、掌上型主機及軟件)9945%。其中游戲軟52(1.6),PC11(450010(423020042.48220603010GDP1/5199890%以上,50%以上。韓國號稱世界上網絡游戲產業最發達國家之一。迄今為止,國內網絡游戲市場有超過60%的產品來自韓國游戲軟件開發商,韓國網絡游戲使國內很多游戲運營公司在游戲營銷市場或股票資本市場上獲得了巨大的成功。 韓國游戲市場的發展不是偶然,韓國政府不僅給游戲產業以正確的定位和引導,更是將其和本國經濟發展緊密地聯系到一起,做了很多市場培育方面的工作。韓國政府認識到,靠重型工業來支撐全國經濟的做法是片面的,于是將、娛樂產業視為新的經濟增長點,開始大力扶持。從那時起,科技含量極高而能源消耗極低的游戲制作及相關產業擔負起了“富國興邦”的重擔。由文化觀光部出面組建韓國游戲支援中心,向韓國游戲產業提供從資金到技術上的多方面支援;成立游戲投資聯盟,政府每年向游戲產業投入的資金多達500電子游戲國內發展現狀與電子游戲發達的國家相比,我國在電子游戲方面還存在比較大的差距。目前,中國的游戲產業經過80年代初期臺灣廠商的探索至90年代,開始了自己的研1983年,智冠科技有限公司在中國臺灣成立,為全球第一家簽訂授權重制中文版產品代理20021996,UBISOFTEA19971997III》(TombRaiderIII)1999501999(正版)約1.52000《萬王之王》正式推1999(Lager)2000《萬王之王》、《石器時代》、《網絡三國》在臺灣上市之后,游戲桔子推出了《天1995,1999Ncsoft200119932001年,天人互動軟件技術有限公司在北京成立。當年SEGAPC200153171800200111200392520102010屆本科生畢業設計2 整體設計方案系統的核心部分單片機單片機的選擇I/O20世紀末,電子技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透CMOS3I/O1.多功能I/OA/D、PWM、PCA(可編程計數器陣列)、WDT(監視定時器看家狗)I/O/比較邏輯等。51USBSMARTCARDMP3CANI*I*CLCDVFD82.高效率和高性能RISCDSPROM(FLASH)RAM(C來開發單3.低電壓和低功耗CMOS0.9V),功耗已經降低uA4.低價格AT89S52AT89S52CMOS88KFlashAtmel80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPUFlash,AT89S52與MCS-51單片機產品兼容、8K字節在系統可編程Flash存儲器、1000次擦寫周32個可編程I/O16位定時器/計數器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉AT89S52具有以下標準功能:8K字節Flash,256字節RAM,32位I/O口線,看門狗16位定時器/6向量2級中斷結構,全雙工串可降至0Hz2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。AT89S52單片機有PDIPPLCCTQFPDPIP也就是雙列直插封裝的單片機此種封裝有如下特點:適合PCB的穿孔安裝;易于對PCB布線;操作方便;AT89S52AT89S52單片機的管腳說明如圖2-1所示:11234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)P3.4(T0)P3.5(T1)P3.6(WR)P3.7(RD)XTAL2XTAL1GNDVCC 40P0.0(AD0) 39P0.1(AD1) 38P0.2(AD2) 37P0.3(AD3) 36P0.4(AD4) 35P0.5(AD5) 34P0.6(AD6) 33P0.7(AD7) 32EA/VPP 31ALE/PROG 30PSEN 29P2.7(A15) 28P2.6(A14) 27P2.5(A13) 26P2.4(A12) 25P2.3(A11) 24P2.2(A10) 23P2.1(A9) 22P2.0(A8) 21圖2-1DIP封裝AT89S52單片機引腳結構圖1.VCC:電源。2.GND:接地端。3.P0口(P0.0~P0.7):P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外口也被作為低8/具有內部上拉電阻。在Flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。4.P1口(P1.0~P1.7):P1口是一個具有內部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)P1.0和P1.2/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2的觸發輸入(P1.1/T2EX),具體如表2-1所示:在Flash編程和校驗時,P1口接收低8位地址字節。引腳號第二功能P1.0T2(定時器/計數器T2的外部計數輸入),時鐘輸出引腳號第二功能P1.0T2(定時器/計數器T2的外部計數輸入),時鐘輸出P1.1T2EX(定時器/計數器T2的捕捉/重載觸發信號和方向控制)P1.5MOSI(在系統編程用)P1.6MISO(在系統編程用)P1.7SCK(在系統編程用)5.P2口(P2.0~P2.7):P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高,16位地址讀取外部數據存儲器(例如執行MOVX@DPTR)口使用很強的內部上拉發送18位地址(MOVX@RI)口輸出P26.P3口(P3.0~P3.7):P38位雙向I/O口,P2輸出緩沖器能驅動4個TTLP3時,內部上拉電阻把端口拉高,引腳號第二功能P3.0RXD(串行輸入)引腳號第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2P3.3INT0(外部中斷0)INT0(外部中斷0)P3.4T0(定時器0外部輸入)P3.5P3.6T1(定時器1外部輸入)WRP3.7RD(外部數據存儲器寫選通)在flashRST:RST腳輸出96地址上的DISRTO位可以使此功能無DISRTO默認狀態下,復位高電平有效。ALE/PROG:地址鎖存控制信號8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0僅在執行MOVX或MOVCALE(地址為8EHSFR的第0位)的設置對微控制器處于外部執行模式下無效。PSEN :外部程序存儲器選通信號( PSEN)是外部程序存儲器選通信號。當AT89S52從外部程序存儲器執行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN將不被激活。EA/VPP:0000H到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。晶振特性AT89S52單片機有一個用于構成內部振蕩器的反相放大器,XTAL1和XTAL2分別是XTAL2可以不接,而從XTAL1接入,如圖2-2所示。由于外2-2所示:2010屆本科生畢業設計圖2-2內部振蕩電路連接圖液晶顯示模塊HD61202JM12864JHD61202HD612028HD61203HD61202HD612031.64×64=4096RAM,RAMLCDHD6120264HD6120268684.HD61202的占空比為1/32~1/64。HD61202CS1,CS2,CS3E為讀寫使能信號,它是在下降沿時HD61202E高電平期間,數據被讀出;R/W為讀寫選擇信號,1020102010屆本科生畢業設計PAGEPAGE11RST為復位信號復位信0,RSTMCUMCUVDD,使之不起作用。HD612022-3引腳符號狀態引腳符號狀態引腳名稱功能CS1,CS2,CS3 輸入芯片片選端CS1CS2E(寫HD61202;E 輸入 讀寫使能信號在E高電平期間,數據被讀出R/W輸入讀寫選擇信號R/W=1為讀選通,R/W=0為寫選通RS輸入數據、指令選擇信號RS=1為數據操作RS=0為寫指令或讀狀態DB0-DB7三態數據總線復位信號有效時,關閉液晶顯示,使顯示RST輸入復位信號MCUMCU制;也可直接接VDD,使之不起作用。HD61202HD61202的指令系統比較簡單,總共只有七種。現分別介紹如下:顯示開/關指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00000111111/0當DBO=1時,LCD顯示RAM中的內容;DBO=0時,關閉顯示。顯示起始行(ROW)設置指令R/WRSR/WRSDB7DB6DB5 DB4 DB3 DB2 DB1 DB00011顯示起始行(0-63)R/WRSR/WRSDB7DB6DB5DB4DB3DB2 DB1 DB00010111頁號(0-7)RAM6488列地址(YAddress)設置指令R/WR/WRSDB7DB6DB5 DB4 DB3 DB2 DB1 DB00001顯示列地址(0-63)RAMMCU讀狀態指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFREST0000該指令用來查詢HD61202的狀態,各參量含義如下:BUSY: 1-內部在工作 0-正常狀態ON/OFF:1-顯示關閉 0-顯示打開REST: 1-復位狀態 0-正常狀態BUSYRESTHD61202HD61202BUSYHD61202R/WRSR/WRSDB7DB6DB5DB4 DB3DB2DB1DB001寫數據讀、寫數據指令每執行完一次讀、寫操作,列地址就自動增一,必須注意的是,R/WRSR/WRSDB7DB6DB5DB4 DB3 DB2DB1DB011讀顯示數據HD61202液晶控制器HD61202一共有七條指令,從作用上可分為兩類,顯示狀態設置指令和數據讀/寫操作指令。詳見指令系統可查看圖形液晶顯示器產品有關手冊。顯示L5~L00-3FH(1-64P2-P00-7H,1-8頁。列地址設置中C5-C0Y0-3FH(1-64行)范圍內。顯示器上128點×64點,每8點為一字節數據,都對應著顯示數據 RAM(在HD61202bit,計算機寫入或讀出顯示存儲器的數據代表顯示8D0bit=1bit=0時該LCDdisplayON/OFFONRAM數據對應顯示的畫面;displayOFF則畫面消失,RAM點陣字模文件的建立:由于MGLS12864液晶顯示器沒有內部字符發生器,所以在屏幕上顯示的任何字符、漢字等須自己建立點陣字模庫,然后均按圖形方式進行顯示。由于HD6120290度后再寫入。點陣字模庫建立包括以下幾個方面:1.建立8×16點陣常用字符、數字、符號字模庫。BIOSASCII8×16ASCII值從小到大升序排列。asm{MOVax,1130h/*AH=11h—功能調用。裝入字庫至軟字庫*/movbh,6/*AL=30h取點陣信息*/int10h/*BH=6ROM8X16點陣指針(VGA)*/movax,es/*出口:ES:BP指向字庫指針*/movascii_es,axmovax,bpmovascii_bp,ax};ascii_offset=ascii_bp+16*asciicode;for(j=0;j<16;j++)buf[j]=peekb(ascii_es,ascii_offset+j);/*讀16字節點陣數據*/for(m=0;m<16;m++)/*點陣數據轉換成LCD格式數據*/{if(m<8){beginbyte=7;shiftn="7";}else{beginbyte="15";shiftn="15";}for(j=0;j<8;j++)ascii8x16[m]=(ascii8x16[m]+(buf[beginbyte-j]>>(shiftn-m))&0x01)<<1;}UCDOSASC16ASC168×16點陣。所ASCIIASCII碼值×162.16×16UCDOSHZK16文件做HZK1616×161)×94+位碼-1)×32。作者CUCDOS點陣字庫字模程序,完成字模讀取。數據重新排列,并按MCS-51匯編程序的要求寫成相應格式的文本文件。p=((quma-1)*94+weima-1)*32;cclibfile="fopen"("HZK16","rb");fseek(cclibfile,(long)p,SEEK_SET);fread(buf,sizeof(unsignedchar),32,cclibfile);/*32字節點陣數據*/for(m=0;m<32;m++){/*LCD*/if(m<8){beginbyte="14";shiftn="7";}elseif(m>=8&&m<16){beginbyte="15";shiftn="15";}elseif(m>=16&&m<24){beginbyte="30";shiftn="23";}else{beginbyte="31";shiftn="31";}for(j=0;j<8;j++)hzk16x16[m]=(hzk16x16[m]+(buf[beginbyte-2*j]>>(shiftn-m))&0x01)<<1;}3.(如產品商標等BMPMCS-51W78E58的程序存儲器中,如用到的漢字、圖形較多,可選用較大容量的程序存儲器。HD16202BF=1COMM,數據寄DATA。(COMMEQU20H/*指令寄存器*/DATAEQU21H/*數據寄存器*/)1.左半屏寫指令子程序WR_CMD1:MOVDPTR,#CRADR1;/*讀狀態字口地址*/WAIT1:MOVXA,@DPTR;/*讀狀態字*/JBACC.7,WAIT1;/*BF,BF=1*/MOVDPTR,#CWADR1;/*寫指令字口地址*/MOVA,COMM;/*取指令代碼*/MOVX@DPTR,A;/*寫指令代碼*/RET2.左半屏寫數據子程序WR_DATA1:MOVDPTR,#CRADR1;/*讀狀態字口地址*/WAIT11:MOVXA,@DPTR;/*讀狀態字*/JBACC.7,WAIT11;/*判忙標志BF,如BF=1忙,等待*/2010屆本科生畢業設計MOVDPTR,#DWADR1;/*寫數據字口地址*/MOVA,DATA;/*取數據/MOVX@DPTR,A;/*寫數據*/RET3.右半屏寫指令子程序WR_CMD2和右半屏寫數據子程序WR_DATA2的編制同左半屏子程序相同,只是對應口地址不同。JM12864JJM12864J是使用HD61202及其兼容控制驅動器作為列驅動器,同時使用HD61203作為行驅動器的液晶模塊。由于HD6120不與MPU發生聯系,只要提供電源就能產生行驅動信號和各種同步信號,比較簡單,因此這里就不作介紹了。下面主要介紹一下JM12864J的邏輯電路圖。JM12864J共有兩片HD61202及其兼容控制驅動器和一片HD61203,如圖2-3所示:圖2-3 JM12864J的邏輯電路圖JM12864JHD61202ADC,RSTJM12864JCSAHD61202(1)的CS1相連;CSBHD61202(2)CS1CSA、CSB選通組合信號為CSACSB=01選通1CSACSB=10(2JM12864J,VDD、VSSV0HD61203VDDV0VSS152010屆本科生畢業設計JM12864J89S522-4圖2-4 AT89S52與液晶的接口電路2-52-5VSSVDD+5V;RSP3.2R/WP3.1;DB0~DB7P2.0~P2.712P3.4P3.3RST、LEDA5V;VEELEDK162010屆本科生畢業設計圖2-5液晶模塊電路鍵盤電路3P1.0P3.5P3.6P3.7172010屆本科生畢業設計PAGEPAGE18系統程序的設計俄羅斯方塊驅動流程圖開始開始隨機生成一個圖形交給當前圖形變量隨機生成一個圖形交給提示圖形變量根據變化繪圖(繪提示圖和當前圖形)N圖形到底了嗎圖形下降一行Y行滿繪圖一次Y表格滿NN清所有數據提示圖形變量給當前圖形Y消除行并Y上面的行數據下移true、當前圖改變false繪圖(清屏)隨機生成一個圖形交給提示圖形變量游戲結束繪圖結束20102010屆本科生畢業設計俄羅斯方塊所有繪圖工作流程圖開始開始輸出分數清除剛才位置的圖形N當前圖形改Y繪當前圖的現在位置N提示圖形改變真?Y繪提示圖消行動作為NY從消行的那一行的第一列開始N為空數據Y繪白色;相當于清除色彩表格中對應的色彩行+1NY結束俄羅斯方塊中按下鍵的流程圖按下鍵按下鍵記下下降圖形時的位置()直接把圖形下降到底行滿行滿YNN表格滿提示圖形變量給當前圖形Y消除行并把上面的行數據下移清所有數據并置清隨機生成一個圖形交給提示圖形變量繪圖(清屏)繪圖游戲結束結束結束俄羅斯方塊所有繪圖工作流程圖開始開始輸出分數清除剛才位置的圖形,包括清除提示圖和當前圖N當前圖形改變Y繪當前圖的現在位置N提示圖形改變真?Y繪提示圖N消行動作為真?Y重繪表格游戲結束NY清除所有數據并清屏結束系統仿真ProteusProteusLabcenterelectronicsEDAProteusEDAPCBProteusSPICE,PCB15PCB—“TheRoutetoPCBCAD”Proteus產VSMLED/LCD、鍵盤、RS232其功能模塊:—個易用而又功能強大的ISIS原理布圖工具;Proteus混合模型SPICEARESPCBProteusProteusVSM:便于包括LCDCPU1.支持許多通用的微控制器,如PIC,AVR,HC11以及8051;2.交互的裝置模型包括:LEDLCD,RS2323.強大的調試工具,包括寄存器和存儲器,斷點和單步模式;IARC-SPYKeiluVision35.應用特殊模型的DLL界面-提供有關元件庫的全部文件。KeilKeilC51μVision2KeilSoftware,Inc/KeilElektronikGmbH80C51CC51集成開發環境的主要功能有以下幾點:1.μVision2forWindows:是一個集成開發環境,它將項目管理、源代碼編輯和程序調試等組合在一個功能強大的環境中;C51CCA5180C51BL51/C51A51LIB51OH51HEXIntelHexRTX-51這個工具套件是為專業軟件開發人員設計的,但任何層次的編程人員都可以使80C51KeilSoftware80C51PK5180C5180C51及其所有派生系列進行配置使用;DK51DK51PK51RTX51Tiny80C51(3)編譯器套件:如果開發者只需要一個CCA51編譯器套件就是最好的選擇。CA51μVision2IDECA51μVision280C51表4-1開發套件和工具對照表ComponentsPK51DK51CA51A51FR51uVision2ProjectManagement&Editor√√√√A51Assembler√√√√C51Compiler√√√BL51Liker/locator√√√√LIB51LibraryMagaer√√√√uVision2Debugger/Simulator√√RTX51Tiny√RTX51Full√2010屆本科生畢業設計A5180C51RTX51(FR51:RTX5180C51FullRTX51TinyCAN(6)4-1PROTUES用Proteus軟件,根據俄羅斯方塊電路原理圖,畫出仿真圖。ProteusKeilKeilμVision3.8Proteus7.4。1.打開PROTEUS的安裝目錄,進入help目錄,打開ARM.HLP幫助文檔,點擊聯接:RemoteDebuggerDrivers/DownloadandInstallremotedebuggerdriverforKeiluVision3,VDMAGDI.EXE,KEILVDM51.dllKEIL\C51\BIN圖4-1Protues仿真2.KEILprojectworkspace“target1”上點右鍵/optionsfortarget'target1'。2420102010屆本科生畢業設計PAGEPAGE25DebugUSEproteusVSMSimulator,Settingsproteus在同一臺電腦,host:,port:8000,點確定/OK3.proteusDebug/UseRemoteDebugMonitor。4.KEILbuildallproteus4-1Proteus實物的制作與調試電路的焊接1.焊前準備2.焊接順序元器件裝焊順序依次為:電阻器、電容器、二極管、三極管、集成電路、大功率管,其它元器件為先小后大。3.對元器件焊接要求電阻器焊接電容器焊接二極管的焊接二極管焊接要注意以下幾點:第一,注意陽極陰極的極性,不能裝錯;第二,型號標記要易看可見;第三,焊接立式二極管時,對最短引線焊接時間不能超過2S。三極管焊接注意e、b、c三引線位置插接正確;焊接時間盡可能短,焊接時用鑷子夾住引線腳,以利散熱。焊接大功率三極管時,若需加裝散熱片,應將接觸面平整、打磨集成電路焊接對于電容器、二極管、三極管露在印制電路板面上多余引腳均需齊根剪去。系統性能測試與功能說明結 論LCDCAT89S522010屆本科生畢業設計參考文獻C[M]2004.Apress.IntroductiontoVisualBasicProgramming[M].ProfessionalComputingandWebDesign,2006.李華.單片機原理與接口技術,北京:清華大學出版社,33-80.周潤景著.ProteusMCS-51&ARM7[M].北京:電子工業出版2006.JavaBean[R].Java技術及應用學術會議,2001.JasonLam.J2ME&Gaming[M].AddisonWesley,2004.高凌琴,陳青華.俄羅斯方塊游戲關鍵技術探討[J].信息技術與信息化.2008.Java2游戲設計》[M].北京:清華大學出版社,2004.JAVA[M].北京:中國2005-5.譚浩強.C.[M]北京:清華大學出版社,2003.吳金戌,沈慶陽.80512003.[13]李宏,張家田.液晶顯示器件應用技術,北京:機械工業出版社,2004.公茂法.單片機人機接口實例集,北京:北京航空航天大學出版社,1998.何立明.單片機高級教程——應用與設計,北京:北京航天航空大學出版社,2000.李廣弟,朱月秀.單片機基礎,北京:北京航空航天大學出版社,2001.樓然苗,李光飛.MCS-512001.LEGO[J]。“酷比杯”游戲策劃大賽,2007.附錄1:C語言程序#include<AT89X51.H>#defineucharunsignedchar#defineuint unsignedint#defineDOWNTIME30#defineMAXHANG20#defineMAXLIE16#defineMAXPIX3#definePUSHON#defineLCDP250#defineEN P3_0#defineRW P3_1#defineRS P3_2#defineCS1P3_3#defineCS2P3_4#defineKEYLEFTP3_5#defineKEYDOWNP3_6#defineKEYRIGHP3_7#defineKEYROTATIONP1_0uchargkey=0xff,keystate=0,t0ms1=0,t0ms=0,downtimegap=0;ucharmiao=0,fen=0;uchardownok;bitkeyflag,timeupdate,fashionupdate;ucharidatacubeMap[MAXHANG][2];typedefstruct{ucharcode*box;ucharcube:4;ucharstate:4;charrow;20102010屆本科生畢業設計blockthis;uintscore=0;ucharspeed=1;
charcolumn;}block;ucharcodebittable[8]={1,2,4,8,0x10,0x20,0x40,0x80};ucharcodecube[]={/* ■■■■*/0,4,0xe,0, 0,2,6,2,/*■■■■
0,7,2,0,
4,6,4,0,*/0,8,0xe,0, 0,4,4,0xc,/*■■■■
0,0,0xe,2,
0,6,4,4,*/0,0xe,8,0, 0,4,4,6,/*■■■■
0,1,7,0,
6,2,2,0,*/0,0xc,6,0, 0,2,6,4,/* ■■■■
0,6,3,0,
2,6,4,0,*/0,6,0xc,0,*/0,6,0xc,0,/*■■■■0,4,6,2,0,3,6,0,*/0,0xf,0,0,/*■■4,4,4,4,0,0,0xf,0,2,2,2,2,■■*/0,6,6,0, 0,6,6,0, 0,6,6,0, 0,6,6,0};ucharcodeasii[]={0x3E,0x51,0x49,0x45,0x3E,//-0-0x00,0x42,0x7F,0x40,0x00,//-1-0x62,0x51,0x49,0x49,0x46,//-2-0x21,0x41,0x49,0x4D,0x33,//-3-0x18,0x14,0x12,0x7F,0x10,//-4-0x27,0x45,0x45,0x45,0x39,//-5-0x3C,0x4A,0x49,0x49,0x31,//-6-0x01,0x71,0x09,0x05,0x03,//-7-0x36,0x49,0x49,0x49,0x36,//-8-0x46,0x49,0x49,0x29,0x1E,//-9-0x00,0x36,0x36,0x00,0x00,//-:-10//next0x7F,0x04,0x08,0x10,0x7F,//-N-110x7F,0x49,0x49,0x49,0x41,//-E-120x63,0x14,0x08,0x14,0x63,//-X-130x01,0x01,0x7F,0x01,0x01,//-T-14//speed0x26,0x49,0x49,0x49,0x32,//-S-150x7F,0x09,0x09,0x09,0x06,//-P-160x7F,0x49,0x49,0x49,0x41,//-E-170x7F,0x41,0x41,0x41,0x3E,//-D-18//score0x3E,0x41,0x41,0x41,0x22,//-C-190x3E,0x41,0x41,0x41,0x3E,//-O-200x7F,0x09,0x19,0x29,0x46,//-R-210x00,0x00,0x00,0x00,0x00, //--22//GAMEOVER0x3E,0x41,0x51,0x51,0x72,//-G-230x7C,0x12,0x11,0x12,0x7C,//-A-240x7F,0x02,0x0C,0x02,0x7F,//-M-250x1F,0x20,0x40,0x20,0x1F,//-V-26//TIME// 0x00,0x41,0x7F,0x41,0x00 //-I-27};////////////////////////////////////////////////////////////////////////////////voidlcdCmd(ucharcmd){bitea;ea=EA;EA=0;EN=0;RW=0;RS=0;LCD=cmd;EN=1;EN=1;EN=0;EA=ea;}//voidlcdWriteByte(ucharch){EN=0;RS=1;RW=0;LCD=ch;EN=1;EN=1;EN=0;}//voidlcdSetPage(ucharpage){page&=0x7;page+=0xb8;lcdCmd(page);}//voidlcdSetColumn(ucharcolumn){column&=0x3f;column+=0x40;lcdCmd(column);}////characterfron=5*8voidlcdPlayChar(ucharindex,ucharpage,ucharcolume){uchari,temp;uintp;p=5*index;for(i=colume;i<colume+5;i++){if(i<64){CS1=1;CS2=0;temp=i;}else{CS1=0;CS2=1;temp=i-64;}lcdSetPage(page);lcdSetColumn(temp);lcdWriteByte(asii[p++]);}}////rectangle(3,0,50,60)voidrectangle(void){uchari,page;CS1=1;CS2=0;lcdSetPage(0);lcdSetColumn(2);EN=0;RS=1;RW=0;LCD=0xff;EN=1;EN=1;EN=0;for(i=3;i<51;i++){EN=0;RS=1;RW=0;LCD=0x1;EN=1;EN=1;EN=0;}EN=0;RS=1;RW=0;LCD=0xff;EN=1;EN=1;EN=0;//for(page=1;page<7;page++){lcdSetPage(page);lcdSetColumn(2);EN=0;RS=1;RW=0;LCD=0xff;EN=1;EN=1;EN=0;for(i=3;i<51;i++){EN=0;RS=1;RW=0;LCD=0x0;EN=1;EN=1;EN=0;}EN=0;RS=1;RW=0;LCD=0xff;EN=1;EN=1;EN=0;}//lcdSetPage(7);lcdSetColumn(2);EN=0;RS=1;RW=0;LCD=0x1f;EN=1;EN=1;EN=0;for(i=3;i<51;i++){EN=0;RS=1;RW=0;LCD=0x10;EN=1;EN=1;EN=0;}EN=0;RS=1;RW=0;LCD=0x1f;EN=1;EN=1;EN=0;}////x:列;y行,頁3*3voidlcdPutPix(ucharx,uchary,ucharflag){uchari,dat,bitmask,nextbit;bitbflag,pflag,ea;x=x*MAXPIX;y=y*MAXPIX;bflag=0;pflag=0;i=y%8;if(i==0)bitmask=0x7;elseif(i==1)bitmask=0xe;elseif(i==2)bitmask=0x1c;elseif(i==3)bitmask=0x38;elseif(i==4)bitmask=0x70;elseif(i==5)bitmask=0xe0;elseif(i==6){bflag=1;bitmask=0xc0;nextbit=1;}elseif(i==7){bflag=1;bitmask=0x80;nextbit=3;}if(x<62){CS1=1;CS2=0;}elseif(x>63){x-=64;CS1=0;CS2=1;}elsepflag=1;lcdSetPage(y/8);for(i=x;i<x+MAXPIX;i++){if(pflag){if(i==62||i==63){CS1=1;CS2=0;lcdSetPage(y/8);}elseif(pflag&&i==64){CS1=0;CS2=1;lcdSetPage(y/8);}}lcdSetColumn(i);ea=EA;EA=0;EN=0;LCD=0xff;RS=1;RW=1;EN=1;EN=0;EN=1;dat=LCD;EN=0;if(flag==1)dat|=bitmask;elsedat&=~bitmask;lcdSetColumn(i);EN=0;RW=0;RS=1;LCD=dat;EN=1;EN=1;EN=0;EA=ea;}if(bflag){lcdSetPage(y/8+1);for(i=x;i<x+MAXPIX;i++){if(pflag){if(i==62||i==63){CS1=1;CS2=0;lcdSetPage(y/8+1);}elseif(pflag&&i==64){CS1=0;CS2=1;lcdSetPage(y/8+1);}}lcdSetColumn(i);ea=EA;EA=0;EN=0;LCD=0xff;RS=1;RW=1;EN=1;EN=0;EN=1;dat=LCD;EN=0;if(flag==1)dat|=nextbit;elsedat&=~nextbit;lcdSetColumn(i);EN=0;RW=0;RS=1;LCD=dat;EN=1;EN=1;EN=0;EA=ea;}}}//voidlcdClear(void){uchari,page;CS1=1;CS2=0;for(page=0;page<8;page++){lcdSetPage(page);lcdSetColumn(0);for(i=0;i<64;i++)lcdWriteByte(0);}CS1=0;CS2=1;for(page=0;page<8;page++){lcdSetPage(page);lcdSetColumn(0);for(i=0;i<64;i++)lcdWriteByte(0);}}//#defineSTAR53#defineWIDE6voidlcdIni(void){lcdCmd(0x3f);lcdCmd(0xc0);lcdClear();rectangle();//NEXTlcdPlayChar(11,0,STAR);lcdPlayChar(12,0,STAR+1*WIDE);lcdPlayChar(13,0,STAR+2*WIDE);lcdPlayChar(14,0,STAR+3*WIDE);//SPEEDlcdPlayChar(15,3,STAR);lcdPlayChar(16,3,STAR+1*WIDE);lcdPlayChar(17,3,STAR+2*WIDE);lcdPlayChar(17,3,STAR+3*WIDE);lcdPlayChar(18,3,STAR+4*WIDE);//01lcdPlayChar(0,4,STAR+2*WIDE);lcdPlayChar(1,4,STAR+3*WIDE);//SCORElcdPlayChar(15,5,STAR);lcdPlayChar(19,5,STAR+1*WIDE);lcdPlayChar(20,5,STAR+2*WIDE);lcdPlayChar(21,5,STAR+3*WIDE);lcdPlayChar(12,5,STAR+4*WIDE);lcdPlayChar(0,6,STAR+1*WIDE);lcdPlayChar(0,6,STAR+2*WIDE);lcdPlayChar(0,6,STAR+3*WIDE);lcdPlayChar(0,6,STAR+4*WIDE);//TIMElcdPlayChar(0,7,STAR);lcdPlayChar(0,7,STAR+1*WIDE);lcdPlayChar(10,7,STAR+2*WIDE);lcdPlayChar(0,7,STAR+3*WIDE);lcdPlayChar(0,7,STAR+4*WIDE);}//voidshowScoreSpeed(void){ucharnum[5];chari;uinttemp;temp=score;for(i=0;i<5;i++){num[i]=temp%10;temp=temp/10;}for(i=4;i>0;i--){if(num[i]==0)num[i]=22;elsebreak;}for(i=4;i>-1;i--)lcdPlayChar(num[i],6,STAR+(4-i)*WIDE);lcdPlayChar(speed/10,4,STAR+2*WIDE);lcdPlayChar(speed%10,4,STAR+3*WIDE);}//voidtimeServer(void){if(timeupdate){timeupdate=0;lcdPlayChar(fen/10,7,STAR);lcdPlayChar(fen%10,7,STAR+1*WIDE);lcdPlayChar(10,7,STAR+2*WIDE);lcdPlayChar(miao/10,7,STAR+3*WIDE);lcdPlayChar(miao%10,7,STAR+4*WIDE);}if(fashionupdate){fashionupdate=0;lcdPlayChar(22,7,STAR+2*WIDE);}}//===================================================================voidt0isr(void)interrupt1{ucharkey;TH0=(65536-10000)/256;TL0=(65536-10000)%256;downtimegap++;t0ms=++t0ms%100;if(t0ms==0){timeupdate=1;miao=++miao%60;if(miao==0)fen=++fen%60;}if(t0ms==50)fashionupdate=1;//key=0xff;KEYLEFT=1;KEYRIGH=1;KEYROTATION=1;KEYDOWN=1;if(!KEYLEFT)key=0;if(!KEYRIGH)key=1;if(!KEYROTATION)key=2;if(!KEYDOWN)key=3;switch(keystate){case0:if(key!=gkey){gkey=key;keystate=1;}break;case1:if(key==gkey){}else
t0ms1=0;keystate=2;if(key!=0xff)keyflag=1;keystate=0;break;case2:if(key==gkey){}else{
if(t0ms1<PUSHON)t0ms1++;keystate=0;keyflag=0;gkey=0xff;}break;}}//===================================================================voidshowNextCube(ucharcode*p,ucharx,uchary){uchari,j,temp;for(i=0;i<4;i++){temp=1;for(j=0;j<4;j++){if(p[i]&temp)lcdPutPix(x+j,y+i,1);elselcdPutPix(x+j,y+i,0);temp<<=1;}}}//voidcreateCube(void){staticucharnext;this.cube=next;next=TL0%7;this.row=0;this.column=6;this.state=0;this.box=cube+16*this.cube;showNextCube(cube+16*next,19,3);}//voidshowCubeMap(void){unsignedcharhang,lie,temp;for(hang=MAXHANG-1;hang>0;hang--){if(cubeMap[hang][0]==0&&cubeMap[hang][1]==0)break;for(lie=0;lie<(MAXLIE/8);lie++){temp=8*lie;if(cubeMap[hang][lie]&0x01)lcdPutPix(temp+1,hang,1);if(cubeMap[hang][lie]&0x02)lcdPutPix(temp+2,hang,1);if(cubeMap[hang][lie]&0x04)lcdPutPix(temp+3,hang,1);if(cubeMap[hang][lie]&0x08)lcdPutPix(temp+4,hang,1);if(cubeMap[hang][lie]&0x10)lcdPutPix(temp+5,hang,1);if(cubeMap[hang][lie]&0x20)lcdPutPix(temp+6,hang,1);if(cubeMap[hang][lie]&0x40)lcdPutPix(temp+7,hang,1);if(cubeMap[hang][lie]&0x80)lcdPutPix(temp+8,hang,1);}}}//voidwriteCubeToMap(void){ucharrow,column,temp;ucharhang,lie;for(row=0;row<4;row++){temp=1;for(column=0;column<4;column++){if(this.box[row]&temp){hang=this.row+row;lie=this.column+column;cubeMap[hang][lie/8]|=bittable[lie%8];lcdPutPix(lie+1,hang,1);}temp<<=1;}}}//voidclearCubeFromMap(void){ucharrow,column,temp;ucharhang,lie;for(row=0;row<4;row++){temp=1;for(column=0;column<4;column++){if(this.box[row]&temp){hang=this.row+row;lie=this.column+column;cubeMap[hang][lie/8]&=~bittable[lie%8];lcdPutPix(lie+1,hang,0);}temp<<=1;}}}//ucharcheckBorder(void){if(this.box[3]!=0&&this.row>(MAXHANG-4))return1;elseif(this.box[2]!=0&&this.row>(MAXHANG-3))return1;elseif(this.box[1]!=0&&this.row>(MAXHANG-2))return1;elseif(this.box[0]!=0&&this.row>(MAXHANG-1))return1;//if((this.box[0]&0x01)||(this.box[1]&0x01)||(this.box[2]&0x01)||(this.box[3]&0x01)){if(this.column<0)return1;}0x02))
elseif((this.box[0]&0x02)||(this.box[1]&0x02)||(this.box[2]&0x02)||(this.box[3]&{if(this.column<-1)return1;}0x04))
elseif((this.box[0]&0x04)||(this.box[1]&0x04)||(this.box[2]&0x04)||(this.box[3]&{if(this.column<-2)return1;0x08))
}elseif((this.box[0]&0x08)||(this.box[1]&0x08)||(this.box[2]&0x08)||(this.box[3]&{if(this.column<-3)return1;}//if((this.box[0]&0x08)||(this.box[1]&0x08)||(this.box[2]&0x08)||(this.box[3]&0x08)){if(this.column>(MAXLIE-4))return1;}0x04))
elseif((this.box[0]&0x04)||(this.box[1]&0x04)||(this.box[2]&0x04)||(this.box[3]&{if(this.column>(MAXLIE-3))return1;0x02))
}elseif((this.box[0]&0x02)||(this.box[1]&0x02)||(this.box[2]&0x02)||(this.box[3]&{if(this.column>(MAXLIE-2))return1;0x08))
}elseif((this.box[0]&0x08)||(this.box[1]&0x08)||(this.box[2]&0x08)||(this.box[3]&{if(this.column>(MAXLIE-1))return1;}//return0;}//ucharcheckClask(void){ucharrow,column,temp;ucharhang,lie;for(row=0;row<4;row++){temp=1;for(column=0;column<4;column++){if(this.box[row]&temp){hang=this.row+row;lie=this.column+column;if(cubeMap[hang][lie/8]&bittable[lie%8])return1;}temp<<=1;}}return0;}//voidcheckMap(void){uchari,j,delete;bitfull;full=0;delete=0;for(i=MAXHANG-1;i>0;i--){if(cubeMap[i][0]==0&&cubeMap[i][1]==0)break;if(cubeMap[i][0]==0xff&&cubeMap[i][1]==0xff){delete++;full=1;for(j=i;j>0;j--){cubeMap[j][0]=cubeMap[j-1][0];cubeMap[j][1]=cubeMap[j-1][1];}}}if(full){
i++;cubeMap[0][0]=0;cubeMap[0][1]=0;if(delete==1)score++;elseif(delete==2)score+=4;elseif(delete==3)score+=9;elseif(delete==4)score+=16;rectangle();showCubeMap();if(score<50)speed=1;elseif(score<100)speed=2;elseif(score<500)speed=3;elseif(score<1000)speed=4;elseif(score<5000)speed=5;elseif(score<10000)speed=6;elseif(score<20000)speed=7;elseif(score<30000)speed=8;elseif(score<40000)speed=9;elseif(score<50000)speed=10;elseif(score<60000)speed=11;elsespeed=12;showScoreSpeed();}}//voidmoveLeft(void){clearCubeFromMap();this.column--;if(checkBorder()||checkClask())this.column++;writeCubeToMap();}//voidmoveRigh(void){clearCubeFromMap();this.column++;if(checkBorder()||checkClask())this.column--;writ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 等我拿下數學試卷
- 甘肅金太陽高一數學試卷
- 肌內效貼技術課件
- 2025年03月臨沂臨沭縣部分醫療衛生事業單位公開招聘衛生類崗位工作人員(38名)筆試歷年專業考點(難、易錯點)附帶答案詳解
- 2025年04月四川廣元市旺蒼縣人民醫院招聘藥學等專業人員3人筆試歷年專業考點(難、易錯點)附帶答案詳解
- 陳列手法培訓課件
- 阜陽美睫培訓課件
- 面試人員培訓課件
- 財富傳家b課件培訓
- 2025至2030茶幾行業市場深度研究及發展前景投資可行性分析報告
- 實驗室資質認定質量技術負責人培訓
- 綜合實踐活動評價表完整
- GB∕T 16422.3-2022 塑料 實驗室光源暴露試驗方法 第3部分:熒光紫外燈
- 菲迪克(FIDIC)簡明合同格式-中英對照版
- 浙江省基礎教育地方課程(通用內容)標準1-9年級
- 滿堂腳手架專項施工方案
- AVL燃燒分析及在標定的應用培訓
- 線束裝配作業指導書
- 跨國并購中的知識轉移——沈陽機床并購德國希斯的案例研究
- 北京大學交換學生課程成績認定及學分轉換表(一)
- 南京連鎖藥店明細(醫保)
評論
0/150
提交評論