課程設(shè)計(jì)---八路搶答器_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《智能化電子產(chǎn)品設(shè)計(jì)》課程設(shè)計(jì)</p><p>  2012 屆</p><p>  注;學(xué)生1為小組組長(zhǎng)。</p><p><b>  續(xù)表:</b></p><p>  注: 此表在指導(dǎo)老師的指導(dǎo)下填寫。</p><p>  基于單片機(jī)AT89C51的搶答器設(shè)計(jì)

2、</p><p><b>  摘 要</b></p><p>  搶答器作為一種電子產(chǎn)品已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。一個(gè)八路搶答器的設(shè)計(jì)需要考慮到可更改回答及搶答時(shí)間功能,利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟硬件有機(jī)的結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開關(guān)做鍵

3、盤輸出,揚(yáng)聲器發(fā)聲提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn)在搶答中只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可在1-60s設(shè)定,可以實(shí)現(xiàn)是哪位選手有效搶答和無效搶答,搶答時(shí)間和回答問題時(shí)間倒計(jì)時(shí)顯示,在有效狀態(tài)下,按鍵無效非法。</p><p>  基于單片機(jī)AT89C51的搶答器設(shè)計(jì),首先完成總體方案的論證制定,繪制控制臺(tái)的總體框圖,然后分析系統(tǒng)的工作原理,在此基礎(chǔ)上設(shè)計(jì)出各部分單元電路原理圖

4、,分析其工作原理,進(jìn)一步完成對(duì)系統(tǒng)電路的設(shè)計(jì)。在對(duì)系統(tǒng)工作原理充分研究的基礎(chǔ)上,選擇合適的原件號(hào)和參數(shù),再用protel繪圖軟件畫出電路原理圖。</p><p>  關(guān)鍵字 AT89C51,數(shù)碼管,搶答器,計(jì)時(shí)器</p><p><b>  目 錄</b></p><p>  1.概 述--------------------------

5、-----------------------------------------------1</p><p>  1.1任務(wù)描述-----------------------------------------------------------------1</p><p>  1.2 研究?jī)?nèi)容---------------------------------------------

6、-------------------1</p><p>  2.系統(tǒng)方案分析與論證-------------------------------------------------------2</p><p>  2.1 方案選擇----------------------------------------------------------------3</p>&l

7、t;p>  2.2 按鍵的選擇-------------------------------------------------------------4</p><p>  3.系統(tǒng)硬件設(shè)計(jì)----------------------------------------------------------------5</p><p>  3.1 總體設(shè)計(jì)框圖-----------

8、-----------------------------------------------6</p><p>  3.2 系統(tǒng)需求分析----------------------------------------------------------7</p><p>  3.3 各部分硬件模塊設(shè)計(jì)及其原理-------------------------------------7&l

9、t;/p><p>  3.4 AT89C51特殊功能寄存器--------------------------------------------8</p><p>  3.5 硬件電路圖及功能----------------------------------------------------8</p><p>  4.系統(tǒng)軟件設(shè)計(jì)-----------------

10、-----------------------------------------------9</p><p>  4.1 軟件任務(wù)分析----------------------------------------------------------10</p><p>  4.2 軟件流程圖-----------------------------------------------

11、--------------11</p><p>  5.程序源代碼-------------------------------------------------------------------15</p><p>  6.系統(tǒng)調(diào)試及結(jié)果分析-------------------------------------------------------11</p>&l

12、t;p>  參考文獻(xiàn)------------------------------------------------------------------------12</p><p>  致 謝-------------------------------------------------------------------------13</p><p>  附 錄--

13、-----------------------------------------------------------------------14</p><p>  附錄1:八路搶答器程序清單---------------------------------------26</p><p>  附錄2:元器件目錄表-------------------------------------

14、-----------38</p><p><b>  引 言</b></p><p>  搶答器是為智力競(jìng)賽參賽者答題時(shí)進(jìn)行搶答而設(shè)計(jì)的一種優(yōu)先判決器電路,廣泛應(yīng)用于各種知識(shí)競(jìng)賽、文娛活動(dòng)等場(chǎng)合。能夠?qū)崿F(xiàn)搶答器功能的方式有多種,可以采用前期的模擬電路、數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式,但這種方式制作過程復(fù)雜,而且準(zhǔn)確性與可靠性不高,成品面積大,安裝、維護(hù)困難

15、。本節(jié)介紹一種利用51單片機(jī)作為核心部件進(jìn)行邏輯控制及信號(hào)產(chǎn)生的八路搶答器。</p><p>  近年來,隨著單片機(jī)檔次的不斷提高,功能的不斷完善,其應(yīng)用日趨成熟、應(yīng)用領(lǐng)域日趨擴(kuò)大,特別是工業(yè)測(cè)控、尖端武器和日用家電等領(lǐng)域更是因?yàn)橛辛藛纹瑱C(jī)而生輝增色。單片機(jī)應(yīng)用技術(shù)已成為一項(xiàng)新的工程應(yīng)用技術(shù)。本次項(xiàng)目我們做的是八路搶答器,我們采用AT89C51單片機(jī)實(shí)現(xiàn)搶答功能,性能更穩(wěn)定,更易操作調(diào)試。</p>

16、<p><b>  一、概述</b></p><p><b>  1.1 任務(wù)描述</b></p><p>  在自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。本設(shè)計(jì)是以單片機(jī)的C51環(huán)境來進(jìn)行軟件設(shè)計(jì),使指令的執(zhí)行速度快,節(jié)

17、省存儲(chǔ)空間。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了。使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。</p><p>  一個(gè)完整的搶答器包括4個(gè)模塊。即:單片機(jī)模塊、按鍵模塊、數(shù)碼管顯示模塊、蜂鳴器模塊。按鍵模塊、數(shù)碼管顯示模塊和蜂鳴器模塊采用單片機(jī)來控制。其中,按鍵模塊選用4×4行列矩陣按鍵,與獨(dú)立按鍵相比,占用I/O口端線較少,適用于按鍵較多的場(chǎng)合等優(yōu)點(diǎn)。</p>

18、<p><b>  1.2 研究?jī)?nèi)容</b></p><p>  系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器。在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開始和結(jié)束、復(fù)位鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為60s,回答問題時(shí)間為60s。通過加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開始有效,主持人按鍵開始后,選手開始搶答為有效,數(shù)碼

19、顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào)。如果主持人沒有按下開始鍵而選手就搶答視為無效。主持人按鍵結(jié)束,新一輪搶答開始。</p><p>  二、系統(tǒng)方案分析與論證</p><p><b>  2.1方案選擇</b></p><p>  方案一:八路搶答器可以利用硬件電子元器件實(shí)現(xiàn),系統(tǒng)各部分采用中小規(guī)模集成數(shù)字電路,用機(jī)械開關(guān)按鈕作為控制開關(guān),完成搶

20、答輸入信號(hào)的觸發(fā)。該方案的特點(diǎn)是中小規(guī)模集成電路應(yīng)用技術(shù)成熟,性能可靠,能方便地完成選手搶答的基本功能,但是電路結(jié)構(gòu)復(fù)雜,調(diào)試?yán)щy,涉及到外圍元件多,并且制作過程程序比較繁瑣,不便于安裝,實(shí)驗(yàn)給實(shí)際操作帶來很大麻煩。</p><p>  方案二:該系統(tǒng)采用MCS—51系列單片機(jī)AT89C51作為控制核心,其片內(nèi)帶有4KFlashROM,128的RAM,以及8根I/O口線能滿足設(shè)計(jì)要求。該系統(tǒng)可以完成運(yùn)算控制、信號(hào)

21、識(shí)別以及顯示功能的實(shí)現(xiàn)。利用單片機(jī)程序判斷選手按鍵是否有效,給出相應(yīng)的延時(shí),選手按正常的操作搶答,軟件倒計(jì)時(shí)時(shí),利用AT89C51的數(shù)碼管,實(shí)現(xiàn)倒計(jì)時(shí)顯示時(shí)間,若再規(guī)定時(shí)間內(nèi)未作答,啟動(dòng)蜂鳴器。由于用了單片機(jī),使其技術(shù)比較成熟,應(yīng)用起來方便、簡(jiǎn)單并且單片機(jī)周圍的輔助電路也比較少,便于控制和實(shí)現(xiàn)。整個(gè)系統(tǒng)具有極其靈活的可編程性,能方便的對(duì)系統(tǒng)進(jìn)行功能的擴(kuò)張和更改性。</p><p>  方案比較分析:從第一個(gè)方案我

22、們可以看出,這個(gè)搶答器是由搶答電路,定時(shí)電路,報(bào)警電路,時(shí)序控制電路組成。擴(kuò)展電路是由秒鐘脈沖信號(hào)產(chǎn)生電路,譯碼電路,顯示電路等,它的功能很齊全,設(shè)計(jì)的電路也很穩(wěn)定。但是它的造價(jià)卻很高,僅僅是集成電路他就用了8個(gè),這個(gè)跟我們當(dāng)初的設(shè)計(jì)理念是相沖突的。我們要的是功能齊全,但是造價(jià)比較低的設(shè)計(jì)。所以我們放棄這個(gè)方案。而方案二采用單片機(jī),可靠性好,結(jié)構(gòu)簡(jiǎn)單,具有顯示出臺(tái)號(hào),倒計(jì)時(shí)功能等。該模式充分體驗(yàn)了原有系統(tǒng)性能的改進(jìn),功能的擴(kuò)展以及其他同

23、類系統(tǒng)的不同之處,它包括硬件邏輯圖與軟件流程圖,比較經(jīng)濟(jì)實(shí)用,所以我們選用單片機(jī)的方案。</p><p><b>  2.2 按鍵的選擇</b></p><p>  鍵盤的控制方式分為獨(dú)立式按鍵和矩陣式按鍵。</p><p>  獨(dú)立式按鍵的原理是,一鍵一線,各鍵相互獨(dú)立,每個(gè)按鍵各接一條I/O口線,通過檢測(cè)I/O輸入線的電平狀態(tài),可以很容易地

24、判斷哪個(gè)按鍵被按下。 獨(dú)立式按鍵電路配置靈活,每個(gè)按鍵需占用一條I/O口線,軟件結(jié)構(gòu)簡(jiǎn)單,適用于按鍵較少的場(chǎng)合。</p><p>  矩陣式按鍵的原理是每條行線和列線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。當(dāng)按鍵沒有按下時(shí),所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。矩陣式按鍵占用I/O線較少,軟件結(jié)構(gòu)相對(duì)復(fù)雜,

25、適用于按鍵較多的場(chǎng)合。</p><p>  本項(xiàng)目由于需較多按鍵,占用I/O線較多,因此選用4×4矩陣式按鍵。</p><p><b>  三、系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1 總體設(shè)計(jì)框圖</p><p>  數(shù)字搶答器系統(tǒng)設(shè)計(jì)是借用單片機(jī)采用模塊設(shè)計(jì)的八路搶答器,包括8路搶答按鈕、計(jì)時(shí)顯示、

26、提示功能、開始與結(jié)束控制按鈕、時(shí)限設(shè)定、各種相關(guān)顯示調(diào)控功能等。</p><p>  參賽者系統(tǒng),除享有搶答按鈕的權(quán)利功能外,還有人性化的提示功能和時(shí)間提示功能,也可設(shè)定由主控制控制參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開始與結(jié)束控制,根據(jù)活動(dòng)參賽者的層次,對(duì)提前搶答者的行為設(shè)定阻隔。系統(tǒng)的主要功能模塊方框圖如圖3—1所示。</p><p>  3.2 系統(tǒng)需求分析</

27、p><p>  a.在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。</p><p>  b.搶答限定時(shí)間和回答問題時(shí)間可以再1-60s設(shè)定。</p><p>  c.搶答時(shí)間和回答問題時(shí)間倒計(jì)時(shí)顯示,時(shí)間完成后由主持人復(fù)位。</p><p>  d.按鍵鎖定,在有效狀態(tài)下,按鍵無效。</p><p>  3.

28、3 各部分硬件模塊設(shè)計(jì)及其原理</p><p>  3.2.1 單片機(jī)最小電路</p><p>  AT89C51單片機(jī)是ATMAL公司89系列單片機(jī)的一種8位Flash單片機(jī)。它最大特點(diǎn)是片內(nèi)含有Flash存儲(chǔ)器。用途十分廣泛,特別是在生產(chǎn)便攜式商品,手提式儀器等方面,有著十分廣泛的應(yīng)用。</p><p>  AT89C51單片機(jī)內(nèi)部主要有以下不見:8031CP

29、U、振蕩電路、總線控制部件、中斷控制部件、片內(nèi)Flash存儲(chǔ)器、片內(nèi)RAM、并行I/O接口、定時(shí)器和串行I/O接口。</p><p>  AT89C51單片機(jī)內(nèi)部由CPU、4KB的FPERROM,128B的RAM,兩個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的I/O端P0、P1、P2、P3等組成。單片微機(jī)內(nèi)部最核心的部分是CPU。CPU主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)

30、算、邏輯運(yùn)算以及位操作處理等,CPU按其功能可分為運(yùn)算器和控制器兩部分。控制器由程序計(jì)數(shù)器PC、指令存儲(chǔ)器、指令譯碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對(duì)來自存儲(chǔ)器中的指令進(jìn)行譯碼,通過實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器由算術(shù)邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字存儲(chǔ)器PSW、BCD碼運(yùn)算調(diào)整電路等組成。</p><

31、p>  AT89C51的主要性能</p><p>  ·與MCS-51 兼容 </p><p>  ·4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p>  ·壽命:1000寫/擦循環(huán)</p><p>  ·數(shù)據(jù)保留時(shí)間:10年</p><p>  ·全靜態(tài)工作:0Hz-

32、24MHz</p><p>  ·三級(jí)程序存儲(chǔ)器鎖定</p><p>  ·128×8位內(nèi)部RAM</p><p>  ·32可編程I/O線</p><p>  ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ·5個(gè)中斷源 </b>

33、;</p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時(shí)鐘電路</p><p>  AT89C51單片機(jī)引腳功能說明</p><p><b>  VCC:供電電壓。</

34、b></p><p><b>  GND:接地。</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉

35、高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TT

36、L門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><

37、p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p>  P3.0 RXD(串行輸入口)</p>&l

38、t;p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p><p>  P3.4 T0(記時(shí)器0外部輸入)</p><p>  P3.5 T1(記時(shí)器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)

39、存儲(chǔ)器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p>  ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地

40、位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p>

41、;<p>  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器

42、。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p><p>  AT89S51的最小系統(tǒng)</p><p>  所謂最小系統(tǒng),是指單片機(jī)能夠正確工作的基本電路系統(tǒng),是單片機(jī)應(yīng)用系統(tǒng)的

43、 硬件電路在單片機(jī)最小系統(tǒng)的基礎(chǔ)上增加輸入輸出接口電路和外圍電路構(gòu)成。</p><p>  單片機(jī)最小系統(tǒng)以AT89C51單片機(jī)為核心,由單片機(jī)、時(shí)鐘電路、復(fù)位電路等組成。如圖4所示。主要負(fù)責(zé)各個(gè)模塊的初始化工作;讀取并處理時(shí)間;處理按鍵響應(yīng);控制數(shù)碼管的顯示等。</p><p>  圖4 單片機(jī)最小系統(tǒng)</p><p>  時(shí)鐘電路是由XTAL1和XT

44、AL2之間跨接的晶體振蕩器和微調(diào)電容構(gòu)成。圖中,由C1、C2和X1構(gòu)成了振蕩電路。時(shí)鐘電路中晶體振蕩器的頻率高則系統(tǒng)的時(shí)鐘頻率就高,所以該系統(tǒng)采用12M晶振;</p><p>  復(fù)位電路有兩種形式:手動(dòng)按鍵復(fù)位和上電復(fù)位,在本系統(tǒng)中采用的是上電復(fù)位。如圖4所示,R1和C3組成系統(tǒng)上電復(fù)位電路。</p><p>  AT89C51特殊功能寄存器</p><p>  

45、特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡(jiǎn)稱SFR。特殊功能寄存器共含有22個(gè)不同的寄存器。它們的地址分配在80H-FFH中,即在RAM地址中。這些寄存器的名稱和地址見下表。</p><p>  雖然特殊功能寄存器地址在80H-FFH之中,但在80H-FFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不正確的,如果對(duì)這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫

46、入則無效。所以,用戶編程時(shí)不應(yīng)該將數(shù)據(jù)寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產(chǎn)品時(shí)使用的。</p><p>  3.5 硬件電路圖及功能</p><p>  搶答器設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì),這兩者相互結(jié)合,不可分離;從時(shí)間上看,硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,精簡(jiǎn)設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都

47、是軟件設(shè)計(jì)任務(wù),隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾個(gè)方面:</p><p>  a.盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。</p><p>

48、  b.留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要位一點(diǎn)小小的修改活擴(kuò)展而被迫進(jìn)行全面返工。</p><p>  c.程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用AT89C51單片機(jī)。</p><p>  d. RAM空間,AT89C51內(nèi)部RAM不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時(shí),往往覺得不足。如果系統(tǒng)配置

49、了外部RAM,則建議多留一些空間。有大批數(shù)據(jù)需要處理,則應(yīng)配置足夠的RAM。隨著軟件設(shè)計(jì)水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級(jí)換代。只要在硬件電路上設(shè)計(jì)初期考慮到這一點(diǎn),就應(yīng)該為系統(tǒng)將來升級(jí)留足夠的RAM空間,哪怕多設(shè)計(jì)一個(gè)RAM的插座,咱不插芯片也好。</p><p>  e. I/O端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場(chǎng)使用時(shí),往往會(huì)發(fā)現(xiàn)一

50、些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些信號(hào)需要采集,就必須增加輸入檢測(cè)段;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計(jì)就預(yù)留出一些I/O端口,雖然當(dāng)時(shí)空著沒用,那么用的時(shí)候就派上用場(chǎng)了。</p><p><b>  硬件電路圖</b></p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p>&l

51、t;p><b>  4.1軟件任務(wù)分析</b></p><p>  軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,那些功能由硬件完成,那些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。</p><p>  軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制

52、和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。</p><p>  軟件人物分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。</p><p>  各執(zhí)

53、行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu)。相對(duì)來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。</p><p><b>  4.2軟件流程圖</b></p><p> ?。?)數(shù)碼顯示軟件流程圖</p><p><b>

54、;  (3)倒計(jì)時(shí)流程圖</b></p><p>  程序源代碼(見附錄A)</p><p><b>  系統(tǒng)調(diào)試及結(jié)果分析</b></p><p>  1) 先在Keil軟件里編譯通過程序源代碼,同時(shí)需要在Output選項(xiàng)卡里設(shè)置Creat HEX File和Debug 選項(xiàng)卡里設(shè)置采用Proteus VSM Simulator仿

55、真。</p><p>  2)編譯產(chǎn)生了HEX文件后,在ISIS 6 Professional軟件里為AT89C51添加HEX文件。</p><p>  3) 然后就可以Debug。調(diào)試效果圖如圖所示:</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 李建忠,《單片機(jī)原理及應(yīng)用[M]》,西

56、安電子科技大學(xué)出版社,2008.2. </p><p>  [2] 李廣弟,朱月秀,王秀山,《單片機(jī)基礎(chǔ)[M]》,北京:北京航空航天大學(xué)出版社,2001.7.</p><p>  [3] 趙曙光,郭萬有,楊頌華,《可編程邏輯器件原理開發(fā)與應(yīng)用[M]》,西安:西安電子科技大學(xué), 2000.</p><p>  [4] 陳小忠,黃寧,《單片機(jī)接口技術(shù)實(shí)用子程序[M]》,

57、北京:北京人民郵電出版社, 2005.</p><p>  [5] 賈立新,王涌,《電子系統(tǒng)設(shè)計(jì)與實(shí)踐[M]》,北京:清華大學(xué)出版社,2007.</p><p><b>  致 謝</b></p><p>  在課程設(shè)計(jì)的寫作過程中,我們的指導(dǎo)老師傾注了大量的心血,從選題到開題報(bào)告,從寫作提綱到一遍又一遍地指出報(bào)告中的具體問題,嚴(yán)格把關(guān),循循

58、善誘。老師多次詢問研究進(jìn)程,并為我們指點(diǎn)迷津,幫助我們開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人,對(duì)老師的感激之情是無法用言語表達(dá)的,在此我們表示衷心感謝。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),精神地感染和激勵(lì)著我們。此外,我們還要感謝在報(bào)告寫作中給予我們幫助的各位同學(xué)。由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方。如果沒有老師的督促知道以及周圍同學(xué)的幫

59、助,想要完成這個(gè)設(shè)計(jì)是難以想象的。正是由于你們的幫助和支持,我們才能克服一個(gè)個(gè)的困難和疑惑,直至報(bào)告的順利完成。</p><p>  在報(bào)告即將完成之際,我們的心情無法平靜,從開始進(jìn)去課題到報(bào)告的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!同事感謝IVT為我們提供了良好的課程設(shè)計(jì)環(huán)境。</p><p>  最后再一次感謝所有在課程設(shè)計(jì)中曾經(jīng)幫助過我的良

60、師益友和同學(xué),以及在設(shè)計(jì)中被我們應(yīng)用或參考的論著的作者。因我們水平有限,設(shè)計(jì)中可能有許多不當(dāng)之處,還望讀者批評(píng)指正,謝謝!</p><p><b>  附 錄</b></p><p>  附錄1:八路搶答器程序清單</p><p>  #include<reg51.h>//變量預(yù)處理定義模塊</p><p>

61、;  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  #define K1_1 1 ; //主持人按鍵開始</p><p>  #define K1_2 2</p><p>  #define K1_3 3</p><p

62、>  #define K1_4 4</p><p>  #define K2_1 5</p><p>  #define K2_2 6</p><p>  #define K2_3 7</p><p>  #define K2_4 8</p><p>  #define K3_1 9 //選手按鍵<

63、;/p><p>  #define K3_2 10 //主持人按鍵答對(duì)加分,按一下加一分</p><p>  #define K3_3 11 //答錯(cuò)減分 </p><p>  #define K3_4 12 </p><p>  #define K4_1 13</p><p>  #define K

64、4_2 14</p><p>  #define K4_3 15</p><p>  #define K4_4 16</p><p>  sbit P3_0=P3^0;</p><p>  sbit P3_1=P3^1;</p><p>  sbit m1=P3^2;</p><p>  sbi

65、t m2=P3^3;</p><p>  sbit P3_4=P3^4;</p><p>  sbit P3_5=P3^5;</p><p>  sbit P3_6=P3^6;</p><p>  sbit P3_7=P3^7;</p><p>  sbit beep=P2^7; //蜂鳴器</p>&

66、lt;p>  #define KEY_MASK 0xf0</p><p>  #define NO_KEY 0x00</p><p>  //緩沖區(qū)設(shè)置和函數(shù)說明模塊</p><p>  code unsigned char seg[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//0

67、-9</p><p>  0x88,0x83,0xa7,0xa1,0x86,0x8e}; // A~F 共陽極數(shù)碼管的字型碼</p><p>  code unsigned char seg1[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//0~9</p><p>  0x77,0x7c,0

68、x39,0x5e,0x79,0x71}; // A~F 共陰極數(shù)碼管的字型碼</p><p>  uchar fenshu,xuanshou,count,i;</p><p>  uint second,minute,hour;</p><p>  uchar tcount;</p><p>  uchar score1,score

69、2,score3,score4,score5,score6,score7,score8;//選手1~8的分?jǐn)?shù)</p><p>  uint t,m,n,a,a1,a2,a3,a4,a5,a6,a7,a8;</p><p>  unsigned char read_keybord(void);</p><p>  void display();</p>

70、<p>  void process(uchar key);</p><p>  void DelayMS(uint x) //X ms延時(shí)函數(shù)</p><p><b>  {</b></p><p><b>  uchar t;</b></p><p>  while(x--)&

71、lt;/p><p><b>  {</b></p><p>  for(t=120;t>0;t--);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay(uint x) /

72、/X ms延時(shí)函數(shù)</p><p><b>  {</b></p><p><b>  uchar t;</b></p><p>  while(x--)</p><p><b>  {</b></p><p>  for(t=120;t>0;t-

73、-);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Timer() //定時(shí)中斷初始化模塊</p><p><b>  {</b></p><p>  TMOD=0x01;</p&

74、gt;<p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  ET0=1;</b></p><p>  EA=1; </p><p><b>  tcount=0;</b></

75、p><p><b>  }</b></p><p>  void tim(void) interrupt 1 using 2//定時(shí)中斷服務(wù)模塊</p><p><b>  { </b></p><p>  TH0=(65536-50000)/256;</p><p>  T

76、L0=(65536-50000)%256;</p><p><b>  tcount++;</b></p><p>  if(tcount==20)</p><p><b>  { </b></p><p><b>  tcount=0;</b></p>&l

77、t;p><b>  second--;</b></p><p>  if(second==-1) {second=0; TR0=0;beep=0;}</p><p><b>  }</b></p><p><b>  }</b></p><p>  //4×4行

78、列矩陣按鍵掃描模塊</p><p>  unsigned char read_keybord()</p><p>  { static unsigned char key_state = 0;</p><p>  static unsigned char key_value, key_line;</p><p>  static unsi

79、gned char key_return = NO_KEY;</p><p>  unsigned char i,key_returnE = NO_KEY;</p><p>  switch(key_state)</p><p><b>  {</b></p><p><b>  case 0:</b&g

80、t;</p><p>  key_line = 0xFE; //0b11111110;</p><p>  for(i=1;i<=4;i++) //按鍵掃描</p><p><b>  {</b></p><p>  P1 = key_line; //輸出行線電平

81、</p><p>  P1 = key_line; //輸出兩次</p><p>  DelayMS(1);</p><p>  key_value = KEY_MASK & P1; //讀列電平</p><p>  if(key_value == KEY_MASK)</p><p><b>  

82、{ </b></p><p>  key_line <<= 1;//沒有按鍵,繼續(xù)掃描 </p><p>  display();</p><p>  key_line |= 0x01;</p><p>  DelayMS(2); </p><p><

83、;b>  }</b></p><p><b>  else</b></p><p>  { DelayMS(1);</p><p>  key_value = KEY_MASK & P1; //讀列電平</p><p>  if(key_value == KEY_MASK) </p

84、><p>  key_line<<= 1; //沒有按鍵,繼續(xù)掃描 </p><p>  key_line |= 0x01;</p><p><b>  break;}</b></p><p>  else key_state++; //有鍵按下,停止掃描</p><p>  bre

85、ak; //轉(zhuǎn)消抖確認(rèn)狀態(tài)</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>

86、;  { key_value=key_line & 0x0f | key_value ;</p><p>  switch(key_value) //確認(rèn)按鍵</p><p><b>  { </b></p><p>  case 0xEE: //0b1110 1110:</p><p>

87、;  key_return = K1_1; </p><p><b>  break;</b></p><p>  case 0xDE: //0b11011110:</p><p>  key_return = K1_2; </p><p><b>  b

88、reak;</b></p><p>  case 0xBE: //0b10111110:</p><p>  key_return = K1_3;</p><p>  break; </p><p>  case 0x7E: //0b 0111

89、1110 :</p><p>  key_return = K1_4;</p><p>  break; </p><p>  case 0xED: //0b 11101101 :</p><p>  key_return = K2_1;</p><p><b>  

90、break;</b></p><p>  case 0xDD: //0b1101 1101:</p><p>  key_return = K2_2;</p><p><b>  break;</b></p><p>  case 0xBD: //0b101

91、11101:</p><p>  key_return = K2_3;</p><p>  break; </p><p>  case 0x7D: //0b01111101:</p><p>  key_return = K2_4;</p><p>  break; </p

92、><p>  case 0xEB: //0b 11101011:</p><p>  key_return = K3_1;</p><p><b>  break;</b></p><p>  case 0XDB: //0b 11011011:</p><

93、;p>  key_return = K3_2;</p><p><b>  break;</b></p><p>  case 0xBB: //0b1011 1011:</p><p>  key_return = K3_3;</p><p>  break;

94、 </p><p>  case 0x7B: //0b01111011:</p><p>  key_return = K3_4;</p><p>  break; </p><p>  case 0xE7: //0b11100111:</p><p

95、>  key_return = K4_1;</p><p><b>  break;</b></p><p>  case 0xD7: //0b1101 0111:</p><p>  key_return = K4_2;</p><p><b>  break;</b&g

96、t;</p><p>  case 0xB7: //0b10110111:</p><p>  key_return = K4_3;</p><p><b>  break; </b></p><p>  case 0x77: //0b0111 0111:</

97、p><p>  key_return = K4_4;</p><p><b>  break; </b></p><p><b>  } </b></p><p>  key_state++; //轉(zhuǎn)入按鍵釋放狀態(tài) </p

98、><p><b>  }</b></p><p><b>  break;</b></p><p>  case 2: //等待按鍵釋放</p><p>  P1= 0XF0; //行線全部輸出低電平 </p><p><b>  P1= 0

99、xF0;</b></p><p>  P2=seg1[key_return-1]|0x80;</p><p>  if((KEY_MASK & P1) == KEY_MASK)</p><p>  { key_returnE=key_return;</p><p>  key_state = 0; //列線全部為高

100、電平,返回狀態(tài)0</p><p><b>  } </b></p><p><b>  break; </b></p><p><b>  }</b></p><p>  return(key_returnE);</p><p><b>  }

101、</b></p><p>  //動(dòng)態(tài)掃描顯示模塊</p><p>  void display()//顯示函數(shù)</p><p><b>  { </b></p><p>  P0=seg[(second%10)]; </p><p>  P3_7=0; </p

102、><p>  DelayMS(2);</p><p><b>  P3_7=1;</b></p><p>  DelayMS(1);</p><p>  P0=seg[(second/10)];</p><p>  P3_6=0; </p><p>  D

103、elayMS(2);</p><p><b>  P3_6=1;</b></p><p>  DelayMS(1); </p><p><b>  P0=0xBF; </b></p><p>  P3_5=0; </p><p>  DelayMS(2);

104、</p><p><b>  P3_5=1;</b></p><p>  DelayMS(1);</p><p>  P0=seg[0]; </p><p>  P3_4=0; </p><p>  DelayMS(2);</p><p><b

105、>  P3_4=1;</b></p><p>  DelayMS(1);</p><p>  P0=seg[(fenshu%10)];</p><p>  m2=0; </p><p>  DelayMS(2);</p><p><b>  m2=1;</b&

106、gt;</p><p>  DelayMS(1);</p><p><b>  P0=0xff;</b></p><p>  P0=seg[(fenshu/10)]; </p><p>  m1=0; </p><p>  DelayMS(2);</p><

107、p><b>  m1=1;</b></p><p>  DelayMS(1);</p><p><b>  P0=0xBF; </b></p><p>  P3_1=0; </p><p>  DelayMS(2);</p><p><b>

108、;  P3_1=1;</b></p><p>  DelayMS(1);</p><p>  /* P0=seg[(hour%10)]; </p><p>  DelayMS(2);</p><p><b>  P3_1=1; </b></p><p>  De

109、layMS(1);*/</p><p>  P0=seg[xuanshou]; </p><p><b>  P3_0=0;</b></p><p>  DelayMS(2);</p><p>  P3_0=1; </p><p>  DelayMS(1); </p><

110、;p><b>  }</b></p><p><b>  //任務(wù)處理模塊</b></p><p>  void process(uchar key)</p><p>  { if(key==1){ second=60;TR0=1;xuanshou=0; }</p><p>  else

111、if( key<10 && key>1) </p><p>  {if(xuanshou==0){xuanshou=key-1,TR0=0; }}</p><p><b>  else </b></p><p>  switch(key)</p><p><b>  {</b

112、></p><p>  case 10: if(fenshu<20)fenshu++;</p><p>  break; </p><p>  case 11: if(fenshu>0)fenshu--;</p><p>  break; //燈亮</p><p><

113、b>  }</b></p><p>  if(key==1) //主持人按下開始鍵</p><p><b>  {</b></p><p><b>  //dis();</b></p><p><b>  m=0;</b></p><p

114、><b>  n=0;</b></p><p>  if(second==10){beep=1;delay(500);beep=0;}</p><p>  if(second==0)</p><p><b>  {</b></p><p>  TR0=0;n=1;</p><

115、;p>  if(key==0)</p><p>  {beep=1;delay(500);beep=0;second=29;TR0=1;m=1;}</p><p><b>  }</b></p><p><b>  if(n==0)</b></p><p><b>  {</b

116、></p><p>  if(key==2) {t=1;}</p><p>  else if(key==3) {t=2;}</p><p>  else if(key==4) {t=3;}</p><p>  else if(key==5) {t=4;}</p><p>  else if(key==6) {t

117、=5;}</p><p>  else if(key==7) {t=6;}</p><p>  else if(key==8) {t=7;}</p><p>  else if(key==9) {t=8;}</p><p>  else if(key==10) {t=0;}</p><p>  else if(key

118、==11) {t=0;i=0;second=29;beep=1;delay(500);beep=0;TR0=1;}</p><p><b>  while(t)</b></p><p><b>  {</b></p><p>  if(m==0) //開關(guān),保證程序只執(zhí)行一次</p><p>&l

119、t;b>  {</b></p><p><b>  switch(t)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b></p>&l

120、t;p>  TR0=0;i=1;second=0;beep=1;delay(500);beep=0;</p><p>  a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;</p><p><b>  }</b></p><p><b>  case 2:</b>&l

121、t;/p><p><b>  {</b></p><p>  TR0=0;i=2;second=0;beep=1;delay(500);beep=0;</p><p>  a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;</p><p><b>  }</b

122、></p><p><b>  case 3:</b></p><p><b>  {</b></p><p>  TR0=0;i=3;second=0;beep=1;delay(500);beep=0;</p><p>  a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1

123、;a8=1;m=1;break;</p><p><b>  }</b></p><p><b>  case 4:</b></p><p><b>  {</b></p><p>  TR0=0;i=4;second=0;beep=1;delay(500);beep=0;&l

124、t;/p><p>  a4=0;a1=1;a2=1;a3=1;a5=1;a6=1;a7=1;a8=1;m=1;break;</p><p><b>  }</b></p><p><b>  case 5:</b></p><p><b>  {</b></p>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論