簡易數(shù)字電壓表單片機(jī)課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)說明書</b></p><p>  簡易數(shù)字電壓表的設(shè)計(jì) </p><p>  院(系) </p><p>  專 業(yè) 機(jī)械電子工程 </p><p>  班 級 二班

2、 </p><p>  學(xué)生姓名 </p><p><b>  指導(dǎo)老師 </b></p><p>  2015 年 3月 13 日</p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p>  茲發(fā)給

3、機(jī)械電子工程(2) 班學(xué)生 課程設(shè)計(jì)任務(wù)書,內(nèi)容如下:</p><p>  設(shè)計(jì)題目: 簡易數(shù)字電壓表的設(shè)計(jì) </p><p>  應(yīng)完成的項(xiàng)目: </p><

4、;p> ?。?) 可測0~5V的8路電壓輸入值; </p><p> ?。?) 在LED數(shù)碼管上輪流顯示; </p><p> ?。?) 單路選擇顯示;

5、 </p><p> ?。?) 利用功能鍵可以實(shí)現(xiàn)滾動顯示,顯示啟動/停止等; </p><p>  參考資料以及說明: </p><p>  [1]劉瑞新.單片機(jī)原理及應(yīng)用教程[M]

6、.北京:機(jī)械工業(yè)出版社, 2003.7 </p><p>  [2]張俊,鐘知原,王日根.簡易數(shù)字電壓表的設(shè)計(jì)[J].科協(xié)論壇:下半月,2012(8)34-35 </p><p>  [3]趙靜,劉少聰,丁浩.王莉莎.基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì)[J].數(shù)

7、字技術(shù)與應(yīng)用,2011(6):121-125 </p><p>  [4]魏立峰.單片機(jī)原理及應(yīng)用技術(shù)[M].北京大學(xué)出版社,2005年 </p>

8、<p>  [5]譚浩強(qiáng).C語言程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,2005.12 </p><p>  [6]蔡美琴.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,2004.4 </p&g

9、t;<p>  本設(shè)計(jì)任務(wù)書于2015年 3月2日發(fā)出,應(yīng)于2015年3月13日前完成,然后進(jìn)行答辯。</p><p>  專業(yè)教研室、研究所負(fù)責(zé)人 審核 年 月 日</p><p>  指導(dǎo)教師 簽發(fā) 年 月 日</p><p><b>  課程設(shè)計(jì)評語

10、:</b></p><p><b>  課程設(shè)計(jì)總評成績:</b></p><p>  課程設(shè)計(jì)答辯負(fù)責(zé)人簽字:</p><p>  年 月 日</p><p><b>  摘要</b></p><p>  在電量的測量中,電壓、電流和頻率是最基本的三

11、個(gè)被測量,其中電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。</p><p>  數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,

12、由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強(qiáng)大的生命力。</p><p>  本實(shí)驗(yàn)設(shè)計(jì)主要講述了數(shù)字電壓表的設(shè)計(jì)過程,主要包括硬件設(shè)計(jì)和程序設(shè)計(jì),硬件主要包括以STC89C51單片機(jī)為主要控制電路、數(shù)據(jù)采樣電路、顯示電路等,是基于51單片機(jī)開發(fā)平臺實(shí)現(xiàn)的一種數(shù)字電壓表系統(tǒng)。該設(shè)計(jì)采用STC89C51單片機(jī)作為控制核心,驅(qū)動控制四塊數(shù)碼

13、管顯示被測電壓,以ADC0809為模數(shù)轉(zhuǎn)換數(shù)據(jù)采樣,實(shí)現(xiàn)被測電壓的數(shù)據(jù)采樣,使得該數(shù)字電壓表能夠測量0-5V之間的直流電壓值。</p><p>  關(guān)鍵詞:STC89C51、ADC0809、顯示電路、數(shù)據(jù)采樣</p><p><b>  目錄</b></p><p><b>  摘要0</b></p>&l

14、t;p>  第一章 設(shè)計(jì)總體方案1</p><p><b>  1.1設(shè)計(jì)任務(wù)1</b></p><p><b>  1.2設(shè)計(jì)要求1</b></p><p>  第二章 芯片功能簡介1</p><p>  2.1 STC89C51單片機(jī)簡介1</p><p>

15、;  2.1.1主要性能特點(diǎn)2</p><p>  2.1.2 管腳說明3</p><p>  2.2 ADC0809模數(shù)轉(zhuǎn)換簡介5</p><p>  2.2.1 主要性能特點(diǎn)5</p><p>  2.2.2內(nèi)部結(jié)構(gòu)6</p><p>  2.3 74HC164移位寄存器6</p><

16、;p>  2.4 74HC573鎖存器9</p><p>  2.5 LED顯示系統(tǒng)10</p><p>  2.5.1 LED顯示器的選擇10</p><p>  2.5.2 LED譯碼方式11</p><p>  第三章 設(shè)計(jì)方案11</p><p>  3.1硬件設(shè)計(jì)11</p>

17、<p>  3.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì)12</p><p>  3.1.2采樣電路的設(shè)計(jì)14</p><p>  3.1.3 鍵盤電路的設(shè)計(jì)15</p><p>  3.1.4 LED顯示電路的設(shè)計(jì)15</p><p>  3.1.5 整體電路的設(shè)計(jì)16</p><p>  3.2系統(tǒng)程序的設(shè)計(jì)

18、17</p><p>  第四章 電路板制作與仿真調(diào)試24</p><p>  4.1電路板的設(shè)計(jì)與制作24</p><p>  4.2偉福仿真器的仿真調(diào)試25</p><p><b>  第五章 總結(jié)26</b></p><p>  5.1課程設(shè)計(jì)總結(jié)26</p><

19、;p><b>  參考文獻(xiàn)27</b></p><p>  第一章 設(shè)計(jì)總體方案</p><p><b>  1.1設(shè)計(jì)任務(wù)</b></p><p>  利用單片機(jī)AT89C51與ADC0809設(shè)計(jì)制作一個(gè)數(shù)字電壓表,能夠測量直流電壓值。</p><p>  (1)可測0~5V的8路輸入電壓

20、值;</p><p>  (2)在LED數(shù)碼管上輪流顯示;</p><p><b>  (3)單路選擇顯示</b></p><p><b>  1.2設(shè)計(jì)要求</b></p><p><b>  A.系統(tǒng)硬件設(shè)計(jì)</b></p><p>  (1)單片機(jī)

21、采用MCS51系列</p><p>  (2) A/D轉(zhuǎn)換器0809</p><p>  (3)鍵盤為4×4行列式鍵盤,按鍵設(shè)有10個(gè)數(shù)字鍵0……9,和5個(gè)功能鍵依次是: 各通道輪流顯示鍵、單通道顯示鍵、向左滾動顯示鍵、顯示啟動/停止鍵、回車鍵。</p><p>  (4)有4位LED管,左邊1位用于指示顯示通道,右邊3位顯示電壓值。</p

22、><p><b>  B.系統(tǒng)軟件設(shè)計(jì)</b></p><p>  (1) 鍵盤管理程序(包括鍵掃描、鍵處理程序)。</p><p>  (2) LED動態(tài)顯示程序,包括:</p><p>  (3) 各通道輪流顯示,共顯示8個(gè)通道,每通道顯示1s;</p><p>  (4) 單通道顯示,僅顯示指定

23、通道電壓,并保持到其他功能鍵按下。</p><p>  第二章 芯片功能簡介</p><p>  2.1 STC89C51單片機(jī)簡介</p><p>  STC89C51單片機(jī)學(xué)習(xí)板是一款基于8位單片機(jī)處理芯片STC89C52RC的系統(tǒng)。其功能強(qiáng)大,可以實(shí)現(xiàn)單片機(jī)開發(fā)的多種要求,學(xué)習(xí)、開發(fā)者可以根據(jù)需要選配多種常用模塊,達(dá)到實(shí)驗(yàn)及教學(xué)的目的?! ?9C51單片機(jī)學(xué)習(xí)

24、板功能強(qiáng)大,具有報(bào)警,跑馬燈、串行通信(max232)、段碼液晶(msm0801LCD)和字符液晶顯示(LCD1602)、電機(jī)控制(L298)、A/D轉(zhuǎn)換(TLC2543)、D/A轉(zhuǎn)換(TLC5615)、溫度采集(DS18B20)、數(shù)字信號合成(AD9851)、實(shí)時(shí)時(shí)鐘電路(DS1302)、4—20mA輸出、PWM輸出(UC3842)、紅外檢測(KSM-603LM)控制等十七種功能,供學(xué)習(xí)者學(xué)習(xí)開發(fā)使用。如圖2-1所示外觀圖。</

25、p><p>  圖2-1 STC89C51芯片</p><p>  2.1.1主要性能特點(diǎn)</p><p>  1、4k Bytes Flash片內(nèi)程序存儲器; </p><p>  2、128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM); </p><p>  3、32個(gè)外部雙向輸入/輸出(I/O)口; </p>

26、;<p>  4、2個(gè)中斷優(yōu)先級、2層中斷嵌套中斷; </p><p><b>  5、6個(gè)中斷源; </b></p><p>  6、2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器; </p><p>  7、2個(gè)全雙工串行通信口; </p><p>  8、看門狗(WDT)電路; </p><p&g

27、t;  9、片內(nèi)振蕩器和時(shí)鐘電路; </p><p>  10、與MCS-51兼容; </p><p>  11、全靜態(tài)工作:0Hz-33MHz; </p><p>  12、三級程序存儲器保密鎖定; </p><p>  13、可編程串行通道; </p><p>  14、低功耗的閑置和掉電模式。</p>

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

29、1口是一個(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è)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且

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

31、I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能: </p><p>  P3.0 RXD(串行輸入口) </p><p>  P3.1 TXD(串行輸出口) </p><p>  P3.2 /INT0

32、(外部中斷0) </p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(T0定時(shí)器的外部計(jì)數(shù)輸入) </p><p>  P3.5 T1(T1定時(shí)器的外部計(jì)數(shù)輸入) </p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器的寫選通) </p><p>  P3.7 /RD(外部數(shù)據(jù)

33、存儲器的讀選通) </p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。 </p><p>  I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。89C51的P0、P1、P2、P3口作為輸入時(shí)都是準(zhǔn)雙向口。

34、除了P1口外P0、P2、P3口都還有其他的功能。 </p><p>  RST:復(fù)位輸入端,高電平有效。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 </p><p>  ALE/PROG:地址鎖存允許/編程脈沖信號端。當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信

35、號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 </p><p>  PSEN:外部程序存儲器的選通信號,低電平有效。在由外部程序存儲器取

36、指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。 </p><p>  EA/VPP:外部程序存儲器訪問允許。當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP

37、)。 </p><p>  XTAL1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器的輸入端。 </p><p>  XTAL2:片內(nèi)振蕩器反相放大器的輸出端。</p><p>  圖2-2 AT89C51芯片管腳</p><p>  2.2 ADC0809模數(shù)轉(zhuǎn)換簡介</p><p>  ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的

38、帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。ADC0809由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。產(chǎn)品外觀圖如圖2-3所示。</p><p>  圖2-3 ADC0809芯片</p><p&g

39、t;  2.2.1 主要性能特點(diǎn)</p><p>  (1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 </p><p>  (2)具有轉(zhuǎn)換起??刂贫恕?</p><p> ?。?)轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640kHz時(shí)),130μs(時(shí)鐘為500kHz時(shí))  </p><p> ?。?)單個(gè)+5V電源供電 </p>

40、<p> ?。?)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 </p><p> ?。?)工作溫度范圍為-40~+85攝氏度 </p><p> ?。?)低功耗,約15mW。 </p><p><b>  2.2.2內(nèi)部結(jié)構(gòu)</b></p><p>  ADC0809內(nèi)部邏輯電路如下:</p>

41、;<p>  圖2-4 ADC0809內(nèi)部圖</p><p>  ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時(shí)電路組成。</p><p>  2.3 74HC164移位寄存器</p><p><b>  2.3.1

42、概述</b></p><p>  74HC164、74HCT164 是高速硅門 CMOS 器件,與低功耗肖特基型 TTL (LSTTL) 器件的引腳兼容。74HC164、74HCT164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個(gè)輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一起,或者把不用的輸入端

43、接高電平,一定不要懸空。</p><p>  時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個(gè)數(shù)據(jù)輸入端(DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長度。</p><p>  主復(fù)位 (MR) 輸入端上的一個(gè)低電平將使其它所有輸入端都無效,同時(shí)非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。</p><p><b&

44、gt;  2.3.2 特性</b></p><p><b>  門控串行數(shù)據(jù)輸入 </b></p><p><b>  異步中央復(fù)位 </b></p><p>  符合 JEDEC 標(biāo)準(zhǔn) no. 7A </p><p>  靜電放電 (ESD) 保護(hù): ·HBM

45、EIA/JESD22-A114-B 超過 2000 V ·MM EIA/JESD22-A115-A 超過 200 V 。 </p><p><b>  多種封裝形式 </b></p><p>  額定從 -40 °C 至 +85 °C 和 -40 °C 至 +125 °C 。</p><

46、p><b>  2.3.3 功能圖</b></p><p>  圖2-5. 邏輯符號</p><p>  圖2-6 74HC164管腳分布圖</p><p>  74HC164典型工作時(shí)序圖:</p><p>  圖2-7 74HC164工作時(shí)序圖</p><p>  2.4 74HC573

47、鎖存器</p><p>  在數(shù)碼管顯示方面,要維持一個(gè)數(shù)據(jù)的顯示,往往要持續(xù)的快速的刷新。尤其是在四段八位數(shù)碼管等這些要選通的顯示設(shè)備上。在人類能夠接受的刷新頻率之內(nèi),大概每三十毫秒就要刷新一次。這就大大占用了處理器的處理時(shí)間,消耗了處理器的處理能力,還浪費(fèi)了處理器的功耗。</p><p>  鎖存器的使用可以大大的緩解處理器在這方面的壓力。當(dāng)處理器把數(shù)據(jù)傳輸?shù)芥i存器并將其鎖存后,鎖存器

48、的輸出引腳便會一直保持?jǐn)?shù)據(jù)狀態(tài)直到下一次鎖存新的數(shù)據(jù)為止。這樣在數(shù)碼管的顯示內(nèi)容不變之前,處理器的處理時(shí)間和IO引腳便可以釋放??梢钥闯觯幚砥魈幚淼臅r(shí)間僅限于顯示內(nèi)容發(fā)生變化的時(shí)候,這在整個(gè)顯示時(shí)間上只是非常少的一個(gè)部分。而處理器在處理完后可以有更多的時(shí)間來執(zhí)行其他的任務(wù)。這就是鎖存器在LED和數(shù)碼管顯示方面的作用:節(jié)省了寶貴的MCU時(shí)間。</p><p>  鎖存器作用:鎖存器(Latch)是一種對脈沖電平敏

49、感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,就是把信號暫存以維持某種電平狀態(tài)。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設(shè)的不同步問題,再其次是解決驅(qū)動的問題,最后是解決一個(gè) I/O 口既能輸出也能輸入的問題。</p><p>  鎖存器就是把當(dāng)前的狀態(tài)鎖存起來,使CPU送出的數(shù)據(jù)在接口電路的輸出端保持一段時(shí)間鎖存后狀態(tài)不再發(fā)生變化,直到解除鎖定。還有些芯片具有鎖存器,比如芯片

50、74LS244就具有鎖存的功能,它可以通過把一個(gè)引腳置高后,輸出就會保持現(xiàn)有的狀態(tài),直到把該引腳清0后才能繼續(xù)變化。</p><p>  圖2-8 74HC573鎖存器管腳圖</p><p>  LE為鎖存控制端;OE為使能端。</p><p>  2.5 LED顯示系統(tǒng)</p><p>  2.5.1 LED顯示器的選擇</p>

51、;<p>  在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中第一位為通道顯示,第二位為顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位,分別為十分位和百分位。</p><p>  4-LED顯示器引腳如圖2-9所示,是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點(diǎn)引出端,4位

52、一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個(gè)單獨(dú)的LED組成,每個(gè)LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。</p><p>  圖2-9 4位LED外觀及引腳圖</p><p>  圖2-10 A5416AH四位共陰數(shù)碼管引腳詳圖</p><p>  對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必

53、須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個(gè)I/O接口控制)顯示。</p><p>  2.5.2 LED譯碼方式</p><p>  譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式,對于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。</p><p>  硬件譯碼是指利用專門的硬件電路來實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。</p>

54、<p>  軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序[3]。</p><p>  本設(shè)計(jì)系統(tǒng)中為了簡化硬件線路設(shè)計(jì),LED譯碼采用軟件編程來實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極LED,其對應(yīng)的字符和字段碼如下表2-1所示。</p><p>  表2-1 共陰極字段碼表</p><p><b>  第三

55、章 設(shè)計(jì)方案</b></p><p><b>  3.1硬件設(shè)計(jì)</b></p><p>  圖3-1為硬件的總體框圖,可分為四個(gè)模塊。模數(shù)轉(zhuǎn)換使用ADC0809芯片,它將輸入的模擬電壓量轉(zhuǎn)換為一個(gè)8位的二進(jìn)制數(shù)字,然后進(jìn)入到單片機(jī)STC80C51控制單元,經(jīng)過驅(qū)動處理模塊用數(shù)碼管顯示出直流電壓值。另外注意ADC0809芯片輸入電壓不可大于5V。</

56、p><p>  3.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p><b>  1.時(shí)鐘電路的設(shè)計(jì)</b></p><p>  MCS-51單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。</p><p>  本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式

57、,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡,只需要一個(gè)晶振和 2個(gè)電容即可,如圖3-2所示。</p><p>  圖3-2 時(shí)鐘電路的設(shè)計(jì)</p><p><b>  2.復(fù)位電路的設(shè)計(jì)</b></p><p>  單片機(jī)在啟動運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。MCS-51單片機(jī)有一

58、個(gè)復(fù)位引腳RST,采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn)2個(gè)機(jī)器周期以上的高電平即可確保時(shí)器件復(fù)位。復(fù)位電路如圖3-3所示。</p><p>  圖3-3 復(fù)位電路的設(shè)計(jì)</p><p>  3.單片機(jī)電源電路設(shè)計(jì)</p><p>  只要能夠提供穩(wěn)定的+5V電壓的各種電源都可以,但一般都用三端穩(wěn)壓器7805。</p><p>

59、  接法如圖,7805的“1”有7V以上就行。C1可選1000~2200微法的電解電容,C3可選10~100微法的電解電容,C2、C4可選0.01~0.1微法的無極電容。如圖3-4所示。當(dāng)然,電源這塊不是我們本次實(shí)驗(yàn)的設(shè)計(jì)重點(diǎn),這里大概提一下。</p><p><b>  圖3-4電源電路</b></p><p>  3.1.2采樣電路的設(shè)計(jì)</p>&

60、lt;p>  這里使用的是ADC0809的模數(shù)轉(zhuǎn)換芯片,可根據(jù)其工作機(jī)理來設(shè)計(jì)電路圖:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號可用作中斷申請。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)

61、換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。 </p><p>  轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。采樣電路如圖3-5所示。</p><p><b>  圖3-5 采樣電路</b></p><p>  3.1.3 鍵盤電路的設(shè)計(jì)</p&g

62、t;<p>  當(dāng)按鍵數(shù)量較多時(shí),為節(jié)省I/O口線和減少引線,常將其按矩陣方式連接。每條行線與列線的交叉處通過一個(gè)按鍵來接通,則只需要N條行線和M條列線,即可組成N*M個(gè)按鍵的鍵盤。比如,有16個(gè)按鍵的鍵盤,可將其按4*4的方式連接,即4根行線和4根列線,每根行線和列線交叉點(diǎn)處即為一個(gè)鍵位,其連接形式如圖3-6所示。</p><p>  圖3-6 鍵盤電路的設(shè)計(jì)</p><p&g

63、t;  3.1.4 LED顯示電路的設(shè)計(jì)</p><p>  單片機(jī)的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作[7]。如果驅(qū)動電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動電路長期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動電路設(shè)計(jì)是一個(gè)非常重要的問題。</p><p>  為了簡化數(shù)字式直流電壓表

64、的電路設(shè)計(jì),在LED驅(qū)動電路的設(shè)計(jì)上,可以利用單片機(jī)P0口上外接的上拉電阻來實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖3-7所示。</p><p>  圖3-7 LED顯示電路的設(shè)計(jì)</p><p>  3.1.5 整體電路的設(shè)計(jì)</p><p&

65、gt;  最終結(jié)合整體硬件布局以及適合布線規(guī)劃的設(shè)計(jì)。最終整體電路的設(shè)計(jì)如圖3-8所示。</p><p>  圖3-8 整體電路的設(shè)計(jì)</p><p>  3.2系統(tǒng)程序的設(shè)計(jì)</p><p>  系統(tǒng)程序的設(shè)計(jì)是對照已經(jīng)設(shè)計(jì)好的硬件電路進(jìn)行編寫的程序,其每個(gè)函數(shù)模塊及其硬件原理都可以在上一節(jié)中進(jìn)行對應(yīng)。</p><p><b> 

66、 系統(tǒng)程序設(shè)計(jì)代碼:</b></p><p>  //-------------------------頭文件與宏定義-------------------------------</p><p>  #include<reg52.h> //頭文件</p><p>  #include <intrins.h>

67、; //使用其中的移位函數(shù)_crol_與_cror_</p><p>  #define uchar unsigned char //簡寫定義,方面后面書寫</p><p>  #define uint unsigned int</p><p>  #define ADD P3</p><p>  uchar code

68、LED_Data1[]=</p><p>  {0xfc,0xc0,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//共陰數(shù)碼管表0~9</p><p>  uchar code LED_Data2[]=</p><p>  {0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xb7,0xe1,0xff,0xf7};/

69、/共陰數(shù)碼管表0.~9.</p><p>  sbit HC164_DATA=P1^1; //定義HC164數(shù)據(jù)位</p><p>  sbit HC164_CLK=P1^0; //定義HC164時(shí)鐘位</p><p>  sbit a0=ACC^0;</p><p>  sbit channel=P1^2; //定義數(shù)碼管通道<

70、;/p><p>  sbit wei1=P1^3; //定義各個(gè)數(shù)碼管的位選</p><p>  sbit wei2=P1^4;</p><p>  sbit wei3=P1^5;</p><p>  sbit ST=P1^6; //定義A/D轉(zhuǎn)換啟動信號輸入端</p><p>  sbit O

71、E=P1^7; //定義輸出允許控制端</p><p>  sbit ADD_A=P3^5; //定義A/D轉(zhuǎn)換三個(gè)地址位</p><p>  sbit ADD_B=P3^6;</p><p>  sbit ADD_C=P3^7;</p><p>  uchar num,getdata,temp1,temp2,tem

72、p3,temp4;</p><p>  uchar a=0,b=0,c=0,t=0,k=0,sig_flag=0,on_off=0,CHAN=0,chan_temp=0;nTIME=0,sig_mul=0,k1=0;</p><p>  //-------------------------原函數(shù)聲明---------------------------------</p>

73、<p>  void init();</p><p>  void AD_convert(uchar j);</p><p>  void HC164_Display(uchar data_buf);</p><p>  void LED_scan(uchar l,uchar m,uchar n,uchar w);</p><p>

74、  void mul_display();</p><p>  void left_display();</p><p>  uchar keyscan();</p><p>  uchar key_driver();</p><p>  void delay_ms(uint);</p><p>  //-------

75、---------------------主函數(shù)----------------------------------</p><p>  void main() </p><p><b>  {</b></p><p>  init(); //通電即初始化</p><p><b>  while

76、(1)</b></p><p><b>  {</b></p><p>  switch (key_driver())</p><p><b>  {</b></p><p>  case 0:if(sig_flag==1)k=0;k1=0;break;</p>&l

77、t;p>  case 1:if(sig_flag==1){k=0x20;k1=1;}break;</p><p>  case 2:if(sig_flag==1){k=0x40;k1=2;}break;</p><p>  case 3:if(sig_flag==1){k=0x60;k1=3;}break;</p><p>  case 4:if(sig_fl

78、ag==1){k=0x80;k1=4;}break;</p><p>  case 5:if(sig_flag==1){k=0xa0;k1=5;}break;</p><p>  case 6:if(sig_flag==1){k=0xc0;k1=6;}break; </p><p>  case 7:if(sig_flag==1){k=0xe0;k1=7;}bre

79、ak;</p><p><b>  case 8:;</b></p><p>  case 9:;break;</p><p>  case 10:if(on_off==1){sig_mul=2;TR0=1;}sig_flag=0;break; //多通道顯示 </p>&

80、lt;p>  case 11:sig_flag=1;TR0=0;break; //單通道顯示</p><p>  case 12:if(on_off==1)left_display();break; //向左滾動顯示</p><p>  case 1

81、3:on_off++; //啟動與關(guān)閉顯示</p><p>  if(on_off==1){channel=0;wei1=0;wei2=0;wei3=0;TR0=1;};</p><p>  if(on_off==2){channel=1;wei1=1;wei2=1;wei3=1;on_off=0;}</p><p><b>  break;<

82、;/b></p><p>  case 14:break;</p><p><b>  case 15:</b></p><p>  if(sig_flag==1){sig_mul=1;}break;//enter</p><p>  default: //默認(rèn)為多通道,但關(guān)閉顯示<

83、/p><p>  if(on_off==1){</p><p>  if(sig_mul==1){AD_convert(k);LED_scan(k1,a,b,c);}</p><p>  else mul_display();</p><p><b>  }</b></p><p><b>

84、  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //------------------------初始化函數(shù)-------------------

85、----------------</p><p>  void init() //初始化定時(shí)器以及數(shù)碼管位選</p><p><b>  {</b></p><p>  channel=1;wei1=1;wei2=1;wei3=1;</p><p><b>  P2=0XF0;<

86、;/b></p><p>  TMOD=0X01; //T0為模式1</p><p>  TH0=(65536-50000)/256;//0.05s</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p&g

87、t;<b>  ET0=1;</b></p><p><b>  on_off=1;</b></p><p><b>  }</b></p><p>  //------------------------ADC0809轉(zhuǎn)換----------------------------------</

88、p><p>  void AD_convert(uchar j) //將模擬量轉(zhuǎn)化為數(shù)字量</p><p><b>  {</b></p><p>  P0=0xff; //讀取前先寫1</p><p><b>  P3=j;</b></p><p>

89、;<b>  ST=0;</b></p><p><b>  ST=1;</b></p><p><b>  ST=0;</b></p><p>  delay_ms(5); //延時(shí)以便芯片轉(zhuǎn)化完畢</p><p><b>  OE=1;<

90、/b></p><p>  delay_ms(1);</p><p>  temp4=P0; //根據(jù)電路圖,將獲取數(shù)據(jù)順序57684321調(diào)整為12345678,使其為真實(shí)值</p><p>  temp1=(_crol_(temp4,3)&0x80)|(temp4&0x6f)|(_cror_(temp4,3)&

91、;0x10);</p><p>  temp4=(_crol_(temp1,7)&0x80)|(_crol_(temp1,5)&0x40)|(_crol_(temp1,3)&0x20)|(_crol_(temp1,1)&0x10);</p><p>  temp3=(_cror_(temp1,7)&0x01)|(_cror_(temp1,5)&

92、;0x02)|(_cror_(temp1,3)&0x04)|(_cror_(temp1,1)&0x08);</p><p>  getdata=temp3|temp4;</p><p>  delay_ms(10);</p><p>  getdata=getdata*2 ; //標(biāo)度變換(用范圍0~500來表示5V)</p>

93、<p>  a=getdata/100; //個(gè)位數(shù)值獲取</p><p>  b=(getdata-a*100)/10; //十分位數(shù)值獲取</p><p>  c=getdata-a*100-b*10; //百分位數(shù)值獲取</p><p><b>  OE=0;</b></p><p&

94、gt;  return a,b,c ;</p><p><b>  }</b></p><p>  //----------------------HC164串入并出函數(shù)------------------------------</p><p>  void HC164_Display(uchar data_buf)</p>&

95、lt;p><b>  {</b></p><p><b>  uchar i;</b></p><p>  ACC=data_buf;</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p&g

96、t;  HC164_CLK=0; //上升沿出發(fā)移位</p><p>  HC164_DATA=a0; //將ACC^0賦值給數(shù)據(jù)位</p><p>  HC164_CLK=1;</p><p>  ACC=ACC>>1; //對ACC進(jìn)行移位</p><p><b>

97、  }</b></p><p><b>  }</b></p><p>  //---------------------數(shù)碼管動態(tài)掃描函數(shù)------------------------------</p><p>  void LED_scan(uchar l,uchar m,uchar n,uchar w)</p>

98、<p><b>  {</b></p><p>  channel=0;wei1=1;wei2=1;wei3=1;HC164_Display(LED_Data1[l]);delay_ms(10);HC164_Display(0x0);channel=1;delay_ms(1); //channel通道開 </p><p>  wei1=0;chann

99、el=1;wei2=1;wei3=1;HC164_Display(LED_Data2[m]);delay_ms(10);HC164_Display(0x0);wei1=1;delay_ms(1); //wei1通道開</p><p>  wei2=0;channel=1;wei1=1;wei3=1;HC164_Display(LED_Data1[n]);delay_ms(10);HC164_Display

100、(0x0);wei2=1;delay_ms(1); //wei2通道開</p><p>  wei3=0;channel=1;wei1=1;wei2=1;HC164_Display(LED_Data1[w]);delay_ms(10);HC164_Display(0x0);wei3=1;delay_ms(1); //wei3通道開</p><p><b>  }&

101、lt;/b></p><p>  //-------------------------8個(gè)通道輪流顯示-----------------------------</p><p>  void mul_display()</p><p><b>  {</b></p><p>  AD_convert(CHAN);

102、</p><p>  delay_ms(8);</p><p>  LED_scan(chan_temp,a,b,c);</p><p><b>  }</b></p><p>  //--------------------------延時(shí)子程序---------------------------------<

103、/p><p>  void delay_ms(uint i) </p><p><b>  { </b></p><p>  uchar x,j; </p><p>  for(j=0;j<i;j++) </p><p>  for(x=0;x<=50;x++); </p>

104、;<p><b>  }</b></p><p>  //--------------------------鍵盤掃描程序-------------------------------</p><p>  uchar keyscan()</p><p><b>  {</b></p><p

105、>  uchar sccode; //定義鍵盤行列變量</p><p>  uchar recode;</p><p><b>  P2=0xf0;</b></p><p>  if((P2&0xf0)!=0xf0) //檢測是否有鍵被按下</p><p>&

106、lt;b>  {</b></p><p>  delay_ms(8); //延時(shí)消抖動</p><p>  if((P2&0xf0)!=0xf0)</p><p><b>  {</b></p><p>  sccode=0xfe;</p><p&

107、gt;  while((sccode&0x10)!=0)</p><p><b>  {</b></p><p>  P2=sccode;</p><p>  if((P2&0xf0)!=0xf0)</p><p><b>  {</b></p><p> 

108、 recode=(P2&0xf0)|0x0f;</p><p>  while((P2&0xf0)!=0xf0);</p><p>  return(~recode+~sccode);</p><p><b>  }</b></p><p><b>  else</b></p&

109、gt;<p><b>  {</b></p><p>  sccode=(sccode<<1)|0x01;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&l

110、t;/p><p>  while((P2&0xf0)!=0xf0);</p><p><b>  }</b></p><p>  return(0);</p><p><b>  }</b></p><p>  //--------------------按鍵編碼對應(yīng)表

111、-----------------------------------</p><p>  uchar key_driver()</p><p><b>  {</b></p><p>  uchar temp=0,num=100;</p><p>  temp=keyscan();</p><p&g

112、t;  switch (temp)</p><p><b>  {</b></p><p>  case 0x11:num=1;break;</p><p>  case 0x12:num=2;break;</p><p>  case 0x14:num=3;break;</p><p>  ca

113、se 0x18:num=10;break;</p><p>  case 0x21:num=4;break;</p><p>  case 0x22:num=5;break;</p><p>  case 0x24:num=6;break;</p><p>  case 0x28:num=11;break;</p><p&

114、gt;  case 0x41:num=7;break;</p><p>  case 0x42:num=8;break;</p><p>  case 0x44:num=9;break;</p><p>  case 0x48:num=12;break;</p><p>  case 0x81:num=13;break;</p>

115、<p>  case 0x82:num=0;break;</p><p>  case 0x84:num=14;break;</p><p>  case 0x88:num=15;break;</p><p>  default :break;</p><p><b>  }</b></p>&

116、lt;p>  return num;</p><p><b>  }</b></p><p>  //--------------------------定時(shí)器定時(shí)---------------------------------</p><p>  void timer0(void) interrupt 1</p><

117、;p><b>  {</b></p><p>  TH0=(65536-49995)/256; //裝定時(shí)初值</p><p>  TL0=(65536-49995)%256;</p><p><b>  nTIME++;</b></p><p>  if(nTIME==20)<

118、;/p><p><b>  {</b></p><p><b>  nTIME=0;</b></p><p>  chan_temp++;</p><p>  CHAN=chan_temp<<5;</p><p>  if(chan_temp==8)chan_temp

119、=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  第四章 電路板制作與仿真調(diào)試</p><p>  4.1電路板的設(shè)計(jì)與制作</p><p> ?。?)打?。焊鶕?jù)調(diào)整好的PCB圖,進(jìn)行設(shè)置,并打印出來,PCB打印圖如圖

120、4-1所示。</p><p> ?。?)曝光:撕開感光板上的白色不透明保護(hù)膜,感光板銅皮面被綠色的化學(xué)物質(zhì)——感光膜所覆蓋 ,將打印的原理圖一面與感光膜貼合,放入曝光機(jī)中,注意紙?jiān)谙聦?,先進(jìn)行抽真空,然后設(shè)置參數(shù)為下曝光,曝光時(shí)間為300秒,啟動曝光。</p><p> ?。?)顯像:將曝光好的板子放入顯像劑中,邊抖動邊觀察板子,一旦板上出現(xiàn)清晰的圖案就應(yīng)立即將板子拿出,避免顯影過度,然后

121、放入清水中沖洗干凈。檢查磨面線路是否有短路或開路的地方,短路的地方用小刀刮掉,斷路的地方用油性筆修補(bǔ).</p><p>  (4)腐蝕:將板子放入腐蝕液中浸泡直至該腐蝕掉的銅消除干凈。注意不要過度腐蝕。</p><p> ?。?)打孔與焊接:根據(jù)所需孔的大小選擇尺寸合適的鉆頭打孔,利用電烙鐵、焊錫和松香將元器件焊接在電路板上。</p><p> ?。?)檢查電路:對

122、整個(gè)電路板進(jìn)行全面的測試,如果有問題結(jié)合原理圖對電路進(jìn)行更換元件,重新焊接等調(diào)整,測試通過后整個(gè)電路板就算順利完成了。</p><p>  圖4-1 PCB打印圖</p><p>  4.2偉福仿真器的仿真調(diào)試</p><p>  硬件仿真,就是仿真器接電腦,仿真器再通過仿真頭接目標(biāo)板,然后程序就能在線仿真。這里使用的是偉福仿真器V8/T,當(dāng)仿真器連接好了以后,打開

123、51開發(fā)軟件平臺KEIL(version2),通過在KEIL中修改你的程序中不滿意的部分,仿真器會在軟件平臺KEIL的控制下時(shí)時(shí)聯(lián)動。然后通過單步運(yùn)行程序或者讓程序運(yùn)行到指定的程序行停止,等等調(diào)試方法調(diào)試你的程序,直到你滿意為止,全部過程硬件都會和程序同步運(yùn)行,所見即所得??梢詷O大地提高效率,不用再反復(fù)的用編程器向51芯片中燒錄程序。仿真器就是通過仿真頭用軟件來代替了在目標(biāo)板上的51芯片,關(guān)鍵是不用反復(fù)的燒寫,不滿意隨時(shí)可以改,可以單步

溫馨提示

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

最新文檔

評論

0/150

提交評論