基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告_第1頁(yè)
基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告_第2頁(yè)
基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告_第3頁(yè)
基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告_第4頁(yè)
基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)微機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與應(yīng)用課程設(shè)計(jì)題目:基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)學(xué)院:信息與電氣工程學(xué)院專(zhuān)業(yè)年級(jí):電氣工程2012級(jí)1班學(xué)號(hào):*學(xué)生姓名:*指導(dǎo)教師:*設(shè)計(jì)時(shí)間:2014年11月15日2014年12月20日35 / 35文檔可自由編輯打印課程設(shè)計(jì)內(nèi)容:1、完成就基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)的軟硬件設(shè)計(jì)和調(diào)試。2、完成課程設(shè)計(jì)報(bào)告的撰寫(xiě)。3、課程設(shè)計(jì)說(shuō)明書(shū)要求:摘要、設(shè)計(jì)要求、系統(tǒng)結(jié)構(gòu)、原理設(shè)計(jì)、各個(gè)模塊的設(shè)計(jì)與實(shí)現(xiàn)、軟件設(shè)計(jì)、調(diào)試過(guò)程、收獲、體會(huì)及總結(jié)、參考文獻(xiàn)、電路圖和源程序。說(shuō)明書(shū)使用A4打印紙計(jì)算機(jī)打印或手寫(xiě),用Protel等繪圖軟件繪制電子線路圖紙基本功能實(shí)現(xiàn):1、設(shè)計(jì)多功能秒

2、表,以百分之一秒的單位計(jì)時(shí),并在數(shù)碼管上顯示計(jì)時(shí)時(shí)間;2、設(shè)置【開(kāi)始鍵】【停止鍵】【存儲(chǔ)鍵】【回放鍵】,上電后數(shù)碼管顯示P,以示準(zhǔn)備計(jì)時(shí),按開(kāi)始鍵啟動(dòng)計(jì)時(shí);3、按存儲(chǔ)鍵存儲(chǔ)按鍵時(shí)刻的時(shí)間,允許一次啟動(dòng)最多按20次存儲(chǔ)鍵;4、按停止鍵結(jié)束計(jì)時(shí),顯示最終的計(jì)時(shí)時(shí)間;5、按回放鍵每按一次依次顯示存儲(chǔ)序號(hào)和存儲(chǔ)時(shí)間,最后一個(gè)存儲(chǔ)時(shí)間回放結(jié)束后,再顯示最終的計(jì)時(shí)時(shí)間,如此循環(huán)顯示;擴(kuò)展功能與創(chuàng)新 1、設(shè)置【倒計(jì)時(shí)鍵】,按下倒計(jì)時(shí)鍵,能夠利用矩陣鍵盤(pán)手動(dòng)設(shè)置初值,然后啟動(dòng)倒計(jì)時(shí),直到計(jì)時(shí)為零,蜂鳴器發(fā)聲,數(shù)碼管閃爍;指導(dǎo)教師簽名: 年 月 日系主任簽名: 年 月 日基于MCS51單片機(jī)的多功能秒表設(shè)計(jì)摘要

3、本設(shè)計(jì)是設(shè)計(jì)一個(gè)單片機(jī)控制的多功能秒表系統(tǒng)。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)著傳統(tǒng)控制檢測(cè)日新月異的更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面的知識(shí)是不夠的,還要根據(jù)具體的硬件結(jié)構(gòu),以及針對(duì)具體的應(yīng)用對(duì)象的軟件結(jié)合,加以完善。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。本設(shè)計(jì)的多功能秒表系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及矩陣按鍵來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)數(shù),并且結(jié)合相應(yīng)的顯示驅(qū)動(dòng)程序,

4、使數(shù)碼管能夠正確地顯示時(shí)間、存儲(chǔ)時(shí)間、暫停和倒計(jì)時(shí)。我設(shè)計(jì)的秒表可以同時(shí)記錄二十個(gè)相對(duì)獨(dú)立的時(shí)間,通過(guò)回放鍵來(lái)查看這二十個(gè)不同的計(jì)時(shí)值,另外還能夠設(shè)置初值進(jìn)行倒計(jì)時(shí),具有秒表該有的絕大部分功能,可謂功能強(qiáng)大。其中軟件系統(tǒng)采用c51語(yǔ)言編寫(xiě)程序,包括顯示程序,存儲(chǔ)程序,回放程序,定時(shí)器中斷,延時(shí)程序,按鍵消抖程序等,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單且易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。 關(guān)鍵字:?jiǎn)纹瑱C(jī);多功能秒表;PROTEUS目 錄1.緒論 1.1設(shè)計(jì)目的 1.2 設(shè)計(jì)要求 1.3 設(shè)計(jì)意義2.系統(tǒng)方案比較及硬件設(shè)計(jì) 2.1系統(tǒng)總體方案 2.2硬件設(shè)計(jì) 2.2.1 8

5、9C51單片機(jī) 2.2.2晶體振蕩電路 2.2.3復(fù)位電路2.2.4電源電路 2.2.5矩陣按鍵電路 2.2.6顯示與蜂鳴器電路2.2.7硬件電路圖3.軟件設(shè)計(jì) 3.1設(shè)計(jì)特點(diǎn) 3.2設(shè)計(jì)思路及程序流程圖3.2.1系統(tǒng)主程序3.2.2其他子程序定時(shí)器初始化程序4.系統(tǒng)調(diào)試4.1硬件調(diào)試4.2軟件調(diào)試5.課程設(shè)計(jì)體會(huì)參考文獻(xiàn)附錄附件1:元器件清單附件2:完整程序清單附件3:電路原理圖附件4:PCB板電路附件5:操作說(shuō)明書(shū)1.緒論1.1設(shè)計(jì)目的 設(shè)計(jì)一個(gè)單片機(jī)控制的多功能秒表系統(tǒng)。利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及矩陣按鍵來(lái)設(shè)計(jì)秒表。將軟、硬件有機(jī)地結(jié)合起來(lái)

6、,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)具有開(kāi)始/暫停,存儲(chǔ)記錄,回放計(jì)時(shí),清零,設(shè)置初值倒計(jì)時(shí)等功能。1.2設(shè)計(jì)要求(1)設(shè)計(jì)多功能秒表,以百分之一秒的單位計(jì)時(shí),并在數(shù)碼管上顯示計(jì)時(shí)時(shí)間;(2)上電后數(shù)碼管顯示P,以示準(zhǔn)備計(jì)時(shí),按開(kāi)始鍵啟動(dòng)計(jì)時(shí);(3)key1:?jiǎn)?dòng)和停止。停止時(shí)按鍵啟動(dòng)計(jì)時(shí),啟動(dòng)時(shí)按鍵停止計(jì)時(shí)。再按,則在原計(jì)時(shí)值基礎(chǔ)上繼續(xù)計(jì)時(shí);(4)key2:存儲(chǔ)和回放。當(dāng)啟動(dòng)時(shí),按鍵為存儲(chǔ);當(dāng)停止時(shí),按鍵為回放,且能將存儲(chǔ)值循環(huán)回放;按回放鍵每按一次依次顯示存儲(chǔ)序號(hào)和存儲(chǔ)時(shí)間,最后一個(gè)存儲(chǔ)時(shí)間回放結(jié)束后,再顯示最終的計(jì)時(shí)時(shí)間,如此循環(huán)顯示;(5)key3:清零。清除存儲(chǔ)值和計(jì)時(shí)值,回到初始狀態(tài)

7、,顯示P;(6)key4:倒計(jì)時(shí)鍵。能夠利用矩陣鍵盤(pán)手動(dòng)設(shè)置初值,然后啟動(dòng)倒計(jì)時(shí),直到計(jì)時(shí)為零,蜂鳴器發(fā)聲,數(shù)碼管閃爍,最后顯示00:00:00。1.3設(shè)計(jì)意義(1)通過(guò)本次課程設(shè)計(jì)可以使我們進(jìn)一步熟悉和掌握單片機(jī)內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本步驟和方法。(2)通過(guò)利用AT89C51單片機(jī),理解單片機(jī)在自動(dòng)化儀表中的作用以及掌握單片機(jī)的編程方法。(3)通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)際應(yīng)用輸入及顯示模擬系統(tǒng),掌握單片機(jī)仿真軟件PROTEUS的使用方法。 (4)該實(shí)驗(yàn)通過(guò)單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)原理,設(shè)計(jì)簡(jiǎn)單的計(jì)時(shí)器系統(tǒng),擁有正確的計(jì)時(shí)、暫停、清零、倒計(jì)時(shí)功能,并能同時(shí)記錄多個(gè)相對(duì)

8、獨(dú)立的時(shí)間利用回放按鈕查看多個(gè)不同的計(jì)時(shí)值,該種秒表在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。2系統(tǒng)方案比較及硬件設(shè)計(jì)2.1系統(tǒng)總體方案方案一:采用數(shù)字邏輯芯片本系統(tǒng)有功能設(shè)置、數(shù)據(jù)裝入、定時(shí)、顯示、控制多個(gè)功能模塊。各個(gè)狀態(tài)保持或轉(zhuǎn)移的條件依賴(lài)于鍵盤(pán)控制信號(hào)。由于鍵盤(pán)控制信號(hào)繁多,系統(tǒng)的邏輯狀態(tài)以及相互轉(zhuǎn)移更是復(fù)雜,用純粹的數(shù)字電路或小規(guī)模的可編程邏輯電路實(shí)現(xiàn)該系統(tǒng)有一定的困難,需要用中大規(guī)模的可編程邏輯電路。這樣,系統(tǒng)的成本就會(huì)急劇上升(相對(duì)于方案二)。因此,本設(shè)計(jì)并未采用這種方案。方案二:采用MCU 內(nèi)部定時(shí)器AT89C51內(nèi)部含有2個(gè)定時(shí)器,可以利用一個(gè)定時(shí)器計(jì)時(shí)與一個(gè)定時(shí)器倒計(jì)時(shí)

9、。再結(jié)合矩陣鍵盤(pán)控制,方便采集信號(hào),而且結(jié)合編程,易于實(shí)現(xiàn)。  由于方案二具有較好的靈活性、較少的電路器件和較高的性?xún)r(jià)比,而且通過(guò)精確的軟件補(bǔ)償使精度完全可以滿(mǎn)足控制需要,所以我們選擇該方案完成設(shè)計(jì)。本系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合硬件電路如電源電路,晶振電路,復(fù)位電路,顯示電路,以及一些矩陣按鍵電路等來(lái)設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)地結(jié)合起來(lái)。其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,包括顯示,計(jì)數(shù),中斷,延時(shí),按鍵消抖程序等,并在編程軟件中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單且易于觀察,在仿真中就可以觀察到實(shí)

10、際的工作狀態(tài)。系統(tǒng)電路原理框圖如圖1所示。 外圍電路單片機(jī)顯示電路電源電路路鍵盤(pán)電路圖1 系統(tǒng)電路原理框圖2.2硬件設(shè)計(jì)2.2.1 89C51單片機(jī)MCS-51系列單片機(jī)是8位單片機(jī)產(chǎn)品,89C51是其中的典型代表,基本模塊包括以下幾個(gè)部分:(1)CPU:89C51的CPU是8位的,另外89C51內(nèi)部有1個(gè)位處理器(2)R0M:4KB的片內(nèi)程序存儲(chǔ)器,存放開(kāi)發(fā)調(diào)試完成的應(yīng)用程序(3)RAM:256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器,容量小,但作用大(4)I/O口:P0-P3,共4個(gè)口32條雙向且可位尋址的I/O口線(5)中斷系統(tǒng):共5個(gè)中斷源,3個(gè)內(nèi)部中斷,2個(gè)外部中斷(6)定時(shí)器/計(jì)數(shù)器:2個(gè)16位的可編程

11、定時(shí)器/計(jì)數(shù)器(7)通用串行口:全雙工通用異步接收器/發(fā)送器(8)振蕩器:89C51的外接晶振與內(nèi)部時(shí)鐘振蕩器為CPU提供時(shí)鐘信號(hào)(9)總線控制:89C51對(duì)外提供若干控制總線,便于系統(tǒng)擴(kuò)展 89C51的引腳圖如下:圖2 89C51單片機(jī)引腳圖 圖3 晶體振蕩電路圖4 復(fù)位電路2.2.2晶體振蕩電路(如圖3所示)89C51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。引線 XTAL1和XTAL2分別為反向放大器的輸入和輸出,兩端跨接石英晶體及兩個(gè)電容就可構(gòu)成穩(wěn)定的自激振蕩器。這里,我們選用51單片機(jī)12MHZ的內(nèi)部振蕩方式,電容器C1,C2起穩(wěn)定振蕩頻率,并對(duì)振蕩頻率有微調(diào)作用,C1和C2可

12、在20-100PF之間取值,這里取33PF。2.2.3 復(fù)位電路(如圖4所示)采用上電加按鍵復(fù)位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電加按鍵復(fù)位的操作。2.2.4電源電路 用于這里直接利用普中科技開(kāi)發(fā)板進(jìn)行硬件設(shè)計(jì),而且電源在這里也不是我們應(yīng)該重點(diǎn)考慮的部分,因此我們可以選擇用蓄電池供電,或者采用USB線接+5V電源進(jìn)行供電。在這里我選擇后者,方便易用。2.2.5矩陣按鍵電路(如圖5所示) 在矩陣按鍵電路中,我們可以在I/O口上直接接按鍵,或者通過(guò)I/O口設(shè)計(jì)一個(gè)鍵盤(pán),然后通過(guò)鍵盤(pán)掃描程序判斷是否

13、有鍵按下等。鍵盤(pán)掃描電路節(jié)省I/O口,但編程有些復(fù)雜,將矩陣鍵盤(pán)按圖中所示與89C51的P1口相連。在這里,我采用行掃描法編程讀取鍵值,然后執(zhí)行相應(yīng)的操作,我們將按鍵S0S9用于倒計(jì)時(shí)時(shí)候?qū)γ氡碣x初值,按下則輸入相應(yīng)的鍵值,按鍵S10和是S11暫時(shí)留著備用,按鍵S12用于計(jì)時(shí)啟動(dòng)和停止,S13用于計(jì)時(shí)值存儲(chǔ)和回放,S14用于秒表清零(相當(dāng)于單片機(jī)手動(dòng)復(fù)位),S15用于選擇倒計(jì)時(shí)功能和啟動(dòng)倒計(jì)時(shí)。也就是說(shuō),S12S15四個(gè)按鍵都具有雙重功能,但不會(huì)沖突,因?yàn)橛星疤釛l件,例如,S12啟動(dòng)和停止鍵,停止時(shí)按鍵啟動(dòng)計(jì)時(shí),啟動(dòng)時(shí)按鍵停止計(jì)時(shí)。再按,則在原計(jì)時(shí)值基礎(chǔ)上繼續(xù)計(jì)時(shí);S12存儲(chǔ)和回放鍵。當(dāng)啟動(dòng)時(shí)

14、,按鍵為存儲(chǔ);當(dāng)停止時(shí),按鍵為回放。這樣可以減少所使用的按鍵,而且操作方便,但是這對(duì)程序的編寫(xiě)要求就相應(yīng)的提高了。對(duì)于按鍵的設(shè)計(jì),采用了軟件延時(shí)消抖的程序,使系統(tǒng)的性能得到進(jìn)一步的提升。當(dāng)按鍵被按下時(shí),相應(yīng)的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。 圖5 矩陣按鍵電路2.2.6顯示與蜂鳴器電路(如圖6所示)方案一: 使用數(shù)碼管顯示  該方案控制最簡(jiǎn)單,根據(jù)設(shè)計(jì)要求顯示格式XXXXXXXX??梢詼?zhǔn)確的顯示計(jì)時(shí)時(shí)間,又由于數(shù)碼管簡(jiǎn)單便宜且滿(mǎn)足設(shè)計(jì)要求,而且成本較低,所以選著數(shù)碼管顯示比較合理。  

15、方案二: 使用LCD12864液晶顯示  點(diǎn)陣液晶可以顯示多種字符及圖形,擁有友好的人機(jī)界面及強(qiáng)大的顯示功能。特別適用于智能控制的可編程人性化顯示。但是比較復(fù)雜。使用不方便。增加了難度。比較方案一和二, 我這里選擇采用的是數(shù)碼管顯示電路。用八個(gè)共陰極LED數(shù)碼管顯示,LED數(shù)碼管內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。在用數(shù)碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡(jiǎn)單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省單片機(jī)的I/O口。在設(shè)計(jì)中,我們采用LED動(dòng)態(tài)顯示,用P0口驅(qū)動(dòng)顯示。由于P0口的輸

16、出級(jí)是開(kāi)漏電路,用它驅(qū)動(dòng)時(shí)需要外接上拉電阻才能輸出高電平。秒表為計(jì)時(shí)和倒計(jì)時(shí)的時(shí)候,顯示格式為XX-XX-XX,前兩位為分鐘,中間兩位為秒,后面兩位為10ms,加上中間兩根橫線剛好能在八段數(shù)碼管中顯示;當(dāng)為回放顯示存儲(chǔ)數(shù)據(jù)時(shí),由于需要顯示至多二十組數(shù)據(jù),因此需要兩位數(shù)碼管顯示存儲(chǔ)次數(shù),如果還按照剛才的顯示方式則數(shù)碼管不夠用。因此為了方便觀察,我采用的顯示格式為XX.XX.XX.XX,前面兩位為存儲(chǔ)次數(shù),中間每?jī)晌挥?個(gè)小圓點(diǎn)發(fā)光二極管顯示,便于區(qū)分。由于采用動(dòng)態(tài)顯示,我選用74LS138譯碼器作為共陰數(shù)碼管的位選譯碼輸入。 圖6 數(shù)碼管顯示電路74LS138為3 線8 線譯碼器,共有 54/7

17、4S138和 54/74LS138兩種線路結(jié)構(gòu)型式,其工作原理如下:當(dāng)一個(gè)選通端(S1)為高電平,另兩個(gè)選通端(S2)和S3)為低電平時(shí),可將地址端(A2、A1、A0)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。因此,只要將AT89C51的P2.4,P2.3,P2.2口與74LS138的A2、A1、A0口相連,即可以進(jìn)行位選控制。其管腳圖如圖7,真值表如圖8所示。  圖7 74LS138管腳圖 圖8 3線-8線譯碼器74LS138的功能表蜂鳴器電路(如圖9) 倒計(jì)時(shí)結(jié)束后,蜂鳴器發(fā)聲,片刻后停止,利用AT89C51的P2.5口控制蜂鳴器發(fā)聲。圖9 蜂鳴器電路2.2.7硬件電路圖(如圖

18、10所示)圖10 硬件電路圖3.軟件設(shè)計(jì)3.1設(shè)計(jì)特點(diǎn)在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡(jiǎn)單的、功能單一的程序模塊,有利于程序的設(shè)計(jì)和調(diào)試,優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。應(yīng)用系統(tǒng)的程序由包含多個(gè)模塊的主程序和各種子程序組成。各程序模塊都要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,如:計(jì)數(shù)、延時(shí)、和顯示等,在具體需要時(shí)調(diào)用相應(yīng)的模塊即可。功能描述:用八位LED數(shù)碼管顯示時(shí)間。十個(gè)初值輸入鍵,一個(gè)"開(kāi)始/暫停"鍵, 一個(gè)“記錄/回放”鍵,一個(gè)"復(fù)位"鍵,一個(gè)“倒

19、計(jì)時(shí)”鍵,可同時(shí)記錄20個(gè)相對(duì)獨(dú)立的時(shí)間,查看20個(gè)不同的計(jì)時(shí)值。這14個(gè)按鍵分別控制秒表的五個(gè)功能。3.2設(shè)計(jì)思路及程序流程圖3.2.1系統(tǒng)主程序 設(shè)計(jì)思路:在主程序中進(jìn)行定時(shí)器初始化,鍵掃描程序,顯示程序,根據(jù)掃描到的鍵值進(jìn)入相應(yīng)的功能模塊,執(zhí)行相應(yīng)的功能。具體鍵值及對(duì)應(yīng)功能如下表:按鍵名(S0S15)鍵值(KeyValue)對(duì)應(yīng)子程序?qū)崿F(xiàn)功能S0S909倒計(jì)時(shí),設(shè)初值S10S11S1212啟動(dòng)和停止S1313存儲(chǔ)/回放子程序存儲(chǔ)和回放計(jì)時(shí)S1414清零(復(fù)位)清零秒表S1515倒計(jì)時(shí)子程序倒計(jì)時(shí)功能注:1、 表格中空白處為未使用; 2、 S12鍵,啟動(dòng)和停止。停止時(shí)按鍵啟動(dòng)計(jì)時(shí),啟動(dòng)時(shí)按

20、鍵停止計(jì)時(shí)。再按,則在原計(jì)時(shí)值基礎(chǔ)上繼續(xù)計(jì)時(shí);3 、S13鍵 存儲(chǔ)和回放。當(dāng)啟動(dòng)時(shí),按鍵為存儲(chǔ);當(dāng)停止時(shí),按鍵為回放。 4、設(shè)置F0 開(kāi)始標(biāo)志位;F1 停止標(biāo)志位;F2 倒計(jì)時(shí)標(biāo)志位;主程序流程圖如圖11所示:圖11 流程圖源程序如下:void main() Timer0Configuration(); /定時(shí)器初始化 DisplayData0=0X73; /上電后顯示P while(1) KeyDown(); /鍵掃描 if(KeyValue=12)&&(F0=0) /開(kāi)始 F0=1;TR0=1;KeyValue=0; if(KeyValue=12)&&(F0

21、=1)/ 停止 TR0=0;F1=1;F0=0;KeyValue=0; if(KeyValue=13)&&(F0=1) /存儲(chǔ) KeyValue=0;cuncu();if(KeyValue=13)&&(F0=0) /回放 KeyValue=0; TR0=0;huifang(); if(KeyValue=14)KeyValue=0;F0=0;F2=0;TR0=0;TR1=0;DisplayData0=0X73;/清除存儲(chǔ)值和計(jì)時(shí)值,回到初始狀態(tài),顯示P ms_10=0,sec=0,min=0,t1=0,t11=0,KeyValue=0;for(k=0;k<6

22、0;k+)aak=0;for(k=1;k<8;k+) DisplayDatak=0x00; if(KeyValue=15)&&(F0=0)&&(F2=0)daojis(); /倒計(jì)時(shí) DigDisplay();3.2.2其他子程序定時(shí)器初始化程序(1)定時(shí)器初始化中斷服務(wù)程序 運(yùn)用兩個(gè)計(jì)數(shù)定時(shí)器,均工作在方式一,通過(guò)TR0/TR1控制計(jì)時(shí)器工作。計(jì)算初值:由于晶振頻率為12MHz,需要定時(shí)10ms T=112×12=1s Tc=65536-100001=55536D=D8F0H所以初值TH0=D8H,TL0=F0H;TH1=D8H,TL1=F0H

23、。源程序如下:void Timer0Configuration() /初始化TMOD=0X11;/選擇為定時(shí)器模式,均工作為方式1,僅用TR0,TR1打開(kāi)啟動(dòng)。 TH0=0X0D8;/給定時(shí)器0賦初值,定時(shí)100msTL0=0X0F0;TH1=0X0D8;/給定時(shí)器1賦初值,定時(shí)100msTL1=0X0F0;ET0=1;/打開(kāi)定時(shí)器0中斷允許ET1=1;/打開(kāi)定時(shí)器1中斷允許EA=1;/打開(kāi)總中斷中斷服務(wù)程序見(jiàn)附錄三(2)鍵掃描子程序矩陣鍵盤(pán)掃描原理方法一:逐行掃描:我可以通過(guò)高四位輪流輸出低電平來(lái)對(duì)矩陣鍵盤(pán)進(jìn)行逐行掃描,當(dāng)?shù)退奈唤邮盏降臄?shù)據(jù)不全為1的時(shí)候,說(shuō)明有按鍵按下,然后通過(guò)接收到的數(shù)據(jù)

24、是哪一位為0來(lái)判斷是哪一個(gè)按鍵被按下。方法二:行列掃描:我可以通過(guò)高四位全部輸出低電平,低四位輸出高電平。當(dāng)接收到的數(shù)據(jù),低四位不全為高電平時(shí),說(shuō)明有按鍵按下,然后通過(guò)接收的數(shù)據(jù)值,判斷是哪一列有按鍵按下,然后再反過(guò)來(lái),高四位輸出高電平,低四位輸出低電平,然后根據(jù)接收到的高四位的值判斷是那一行有按鍵按下,這樣就能夠確定是哪一個(gè)按鍵按下了。這里采用方法二,源程序如下:void KeyDown(void) /鍵掃描子程序unsigned int a;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)Delay10ms(1);if(GPIO_KEY!=0x0f)/測(cè)試列GPIO_KEY

25、=0X0F;switch(GPIO_KEY)case(0X07):KeyValue=0;break;case(0X0b):KeyValue=1;break;case(0X0d): KeyValue=2;break;case(0X0e):KeyValue=3;break;/測(cè)試行GPIO_KEY=0XF0;switch(GPIO_KEY)case(0X70):KeyValue=KeyValue;break;case(0Xb0):KeyValue=KeyValue+4;break;case(0Xd0): KeyValue=KeyValue+8;break;case(0Xe0):KeyValue=K

26、eyValue+12;break;while(a<50)&&(GPIO_KEY!=0xf0) /檢測(cè)按鍵松手檢測(cè)Delay10ms(1);a+;a=0;(3)顯示子程序這里采用動(dòng)態(tài)顯示,方便調(diào)用,源程序如下:void DigDisplay(void)/顯示子程序unsigned char i;unsigned int j;for(i=0;i<8;i+)switch(i) /位選,選擇點(diǎn)亮的數(shù)碼管,case(0):LSA=0;LSB=0;LSC=0; break;/顯示第0位case(1):LSA=1;LSB=0;LSC=0; break;/顯示第1位case(2):

27、LSA=0;LSB=1;LSC=0; break;/顯示第2位case(3):LSA=1;LSB=1;LSC=0; break;/顯示第3位case(4):LSA=0;LSB=0;LSC=1; break;/顯示第4位case(5):LSA=1;LSB=0;LSC=1; break;/顯示第5位case(6):LSA=0;LSB=1;LSC=1; break;/顯示第6位case(7):LSA=1;LSB=1;LSC=1; break;/顯示第7位GPIO_DIG=DisplayDatai;/發(fā)送段碼j=50; /掃描間隔時(shí)間設(shè)定while(j-);GPIO_DIG=0x00;/消隱(4)存儲(chǔ)

28、子程序當(dāng)存儲(chǔ)/回放鍵按下,即keyvalue=13,且定時(shí)器0為啟動(dòng)狀態(tài)時(shí),對(duì)當(dāng)前時(shí)間進(jìn)行存儲(chǔ),設(shè)置t1為計(jì)時(shí)次數(shù)。源程序如下:void cuncu()/存儲(chǔ)程序t1+; /t1為計(jì)時(shí)次數(shù) a=3*(t1-1);/ 修改1 :原來(lái)存儲(chǔ)指針計(jì)算錯(cuò)誤,添加 a=3*(t1-1)指針計(jì)算if(t1<=20) aaa=min;delay(20); a+;aaa=sec; delay(20); a+;aaa=ms_10;delay(20); t11=t1;(5)回放子程序當(dāng)存儲(chǔ)/回放鍵按下,即keyvalue=13,且定時(shí)器0為關(guān)閉狀態(tài)時(shí),對(duì)當(dāng)前存儲(chǔ)時(shí)間進(jìn)行回放,從最后一次會(huì)放至第一次,然后再循環(huán)

29、回放,源程序如下:void huifang()/回放子程序 if(t1=0)t1=t11; if(t1>0)b=3*(t1-1); DisplayData7=zxmat1/10;/數(shù)碼管7、6顯示次數(shù) DisplayData6=zxmat1%10+128; DisplayData5=zxmaaab/10; DisplayData4=zxmaaab%10+128; /數(shù)碼管5、4顯示分鐘 b+; DisplayData3=zxmaaab/10; /數(shù)碼管3、2顯示秒 DisplayData2=zxmaaab%10+128; b+; DisplayData1=zxmaaab/10; /數(shù)碼管

30、1、0顯示10ms DisplayData0=zxmaaab%10; t1-; DigDisplay(); (6) 倒計(jì)時(shí)子程序 倒計(jì)時(shí)程序是軟件設(shè)計(jì)的一大難點(diǎn),也是我新拓展的功能,首先要解決如何用按鍵賦倒計(jì)時(shí)初值的問(wèn)題,其次再實(shí)現(xiàn)倒計(jì)時(shí)也比計(jì)時(shí)麻煩一些。我編寫(xiě)的程序相對(duì)比較繁瑣,也許有待進(jìn)一步精簡(jiǎn)完善。設(shè)置xian()子程序方便調(diào)用,源程序如下:void daojis() ms_10=0,sec=0,min=0,m1=0,m0=0,s1=0,s0=0; while(1) KeyDown(); if(KeyValue<6)m1=KeyValue;KeyValue=11; /第一次按鍵為秒

31、的低位 while(1)KeyDown(); if(KeyValue<10)m0=KeyValue;KeyValue=11; while(1)KeyDown(); if(KeyValue<6)s1=KeyValue;KeyValue=11; while(1)KeyDown(); if(KeyValue<10)s0=KeyValue; while(1) KeyDown();xian();if(KeyValue=15)ms_10=1;F2=1;TR1=1;KeyValue=0;if(F2=1)break;/ms_10=1; if(F2=1)break; xian(); xian(

32、); if(F2=1)break; xian(); xian(); if(F2=1)break; xian(); xian(); if(F2=1)break; xian(); void xian() min=m1*10+m0;sec=s1*10+s0;DisplayData7=zxmamin/10%10;/分DisplayData6=zxmamin%10;/分DisplayData5=0x40; DisplayData4=zxmasec/10%10; /秒 DisplayData3=zxmasec%10; /秒DisplayData2=0x40;DisplayData1=zxmams_10/1

33、0%10; /0.01秒DisplayData0=zxmams_10%10; /0.01秒DigDisplay(); (7)其他還有一些比較簡(jiǎn)單的程序,如延時(shí)子程序,蜂鳴器發(fā)聲子程序等,詳見(jiàn)附錄三。 4.系統(tǒng)調(diào)試4.1硬件調(diào)試通電調(diào)試,檢查開(kāi)發(fā)板是否正常,矩陣鍵盤(pán)按鍵,各個(gè)數(shù)碼管是否正常工作。4.2軟件調(diào)試 軟件調(diào)試其實(shí)是穿插在軟件設(shè)計(jì)的整個(gè)過(guò)程當(dāng)中的,也是課程設(shè)計(jì)中最難同時(shí)也最重要的一步。由于是第一次做課程設(shè)計(jì),當(dāng)然軟件調(diào)試中遇到了各種各樣的問(wèn)題:(1) 編寫(xiě)好程序后,發(fā)現(xiàn)定時(shí)器不工作,然后查找原因,發(fā)現(xiàn)是定時(shí)器初始化有問(wèn)題,因?yàn)橐婚_(kāi)始我是分別對(duì)兩個(gè)定時(shí)器初始化,這樣在對(duì)第二個(gè)定時(shí)器初始化時(shí)

34、就影響到了定時(shí)器1。(2) 對(duì)存儲(chǔ)的時(shí)間進(jìn)行回放時(shí),發(fā)現(xiàn)回放顯示的時(shí)間與預(yù)期的不一致,與同學(xué)討論之后沒(méi)能解決,最后聯(lián)系老師問(wèn)題才得以解決,原來(lái)是存儲(chǔ)程序中存儲(chǔ)指針計(jì)算錯(cuò)誤,即修改1 :原來(lái)存儲(chǔ)指針計(jì)算錯(cuò)誤,添加 a=3*(t1-1)指針計(jì)算。(3) 秒表倒計(jì)時(shí)程序編寫(xiě)經(jīng)過(guò)多次調(diào)試才得以成功,還有矩陣按鍵輸入初值時(shí),剛開(kāi)始沒(méi)有考慮對(duì)鍵值進(jìn)行約束和清零,消除對(duì)后面讀取鍵值的影響。(4) 用proteus仿真得到的部分回放結(jié)果如圖12所示:當(dāng)前回放至第八次計(jì)時(shí),時(shí)間為1:02:21。圖12再按一次回放鍵結(jié)果如圖13所示:顯示第七次計(jì)時(shí),時(shí)間為1:01:01 圖13 再按一次回放鍵結(jié)果如圖14所示:顯

35、示第六次計(jì)時(shí),時(shí)間為00:44:47圖145.課程設(shè)計(jì)體會(huì)通過(guò)本次課程設(shè)計(jì),我深刻地認(rèn)識(shí)到自己有很多不足之處,比如在自主學(xué)習(xí)能力方面的不足,實(shí)際動(dòng)手操作能力的不足等。 這次的微機(jī)原理課程設(shè)計(jì)是理論與實(shí)踐相結(jié)合的范例。該設(shè)計(jì)從頭到尾都要自己參與進(jìn)來(lái),熟悉了整個(gè)設(shè)計(jì)流程才能更快地設(shè)計(jì)出方案并完成設(shè)計(jì),但是本次課程設(shè)計(jì)我還是也投入了大量的時(shí)間。微機(jī)原理課程早已結(jié)束,相關(guān)的知識(shí)有些已經(jīng)很模糊,導(dǎo)致我在設(shè)計(jì)硬件電路中遇到了不少麻煩。首先由于是第一次接觸課程設(shè)計(jì),很多地方都不知從何入手。但是通過(guò)分析秒表的多種功能,我試著把每個(gè)部分模塊化,把任務(wù)分解化,如晶體振蕩電路,復(fù)位電路,按鍵電路,顯示電路。完成設(shè)計(jì)

36、后需要運(yùn)用PROTEUS軟件進(jìn)行設(shè)計(jì)仿真,由于這是第一次接觸這個(gè)軟件,還不知怎樣運(yùn)用它,查閱該軟件的相關(guān)資料及看過(guò)網(wǎng)上的視頻后便開(kāi)始著手畫(huà)圖,接觸后覺(jué)得還是挺簡(jiǎn)單的。從搜索資料到硬件、軟件的調(diào)試,每一步、每一個(gè)細(xì)節(jié)都經(jīng)過(guò)自己的思考,經(jīng)過(guò)各方案的比較選擇、硬件、軟件的設(shè)計(jì)和調(diào)試,最終完成了多功能秒表。在做的過(guò)程中不但加深了我們對(duì)單片機(jī)理論知識(shí)的認(rèn)識(shí)和理解還認(rèn)識(shí)到了這門(mén)學(xué)科在應(yīng)用方面的廣闊前景。實(shí)踐是最有高度也是最能體現(xiàn)整體水平的整個(gè)設(shè)計(jì)過(guò)程中,設(shè)計(jì)出了很多不一樣的硬件電路圖,寫(xiě)過(guò)了很多不一樣的程序,正如設(shè)計(jì)中如何能使硬件電路圖簡(jiǎn)單明了,程序簡(jiǎn)單而準(zhǔn)確,如何能準(zhǔn)確的運(yùn)行,都是通過(guò)與同學(xué)老師的交流,

37、慢慢摸索出來(lái)的。以上的不斷探索,讓我進(jìn)一步熟悉和掌握單片機(jī)內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本步驟和方法。通過(guò)利用AT89C51單片機(jī),理解單片機(jī)在自動(dòng)化儀表中的作用以及掌握單片機(jī)的編程方法。通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)際應(yīng)用輸入及顯示模擬系統(tǒng),掌握單片機(jī)仿真軟件PROTEUS的使用方法。 此次設(shè)計(jì)不足之處:(1)此次設(shè)計(jì)由于主要集中在秒表功能的拓展,對(duì)秒表供電這一部分沒(méi)有過(guò)多的討論,還有待補(bǔ)充;(2)我所能想到的秒表應(yīng)該實(shí)現(xiàn)的功能已基本實(shí)現(xiàn),其他功能還可以拓展。(3)該秒表在啟動(dòng)倒計(jì)時(shí)后,無(wú)法立即清零,只有在輸入初值,啟動(dòng)倒計(jì)時(shí)后才可以對(duì)其清零,當(dāng)然,這不影響秒表的使用。此次設(shè)計(jì)的這種具

38、有存儲(chǔ)記錄,手動(dòng)設(shè)置初值倒計(jì)時(shí)功能的秒表在現(xiàn)實(shí)生活中應(yīng)用廣泛,如體育項(xiàng)目,因此本次課程設(shè)計(jì)具有現(xiàn)實(shí)意義,我很開(kāi)心能將知識(shí)運(yùn)用到實(shí)踐中并在自主學(xué)習(xí)中收獲到那么多。最后,我要感謝宗偉林老師給與我的支持與幫助,里面幾個(gè)問(wèn)題都是請(qǐng)教老師才得以解決,而且老師給我提供了一些建議,讓我在自己的設(shè)計(jì)上加以改進(jìn),例如將啟動(dòng)停止鍵,存儲(chǔ)回放鍵合二為一,這些改進(jìn)讓多功能秒表更加實(shí)用完美。參考文獻(xiàn):1 胡漢才.單片機(jī)原理及接口技術(shù).北京:清華大學(xué)出版社,2010.2 鄧世建.微機(jī)原理與應(yīng)用. 徐州:中國(guó)礦業(yè)大學(xué)出版社,2012.3 付慧生.微機(jī)原理及運(yùn)用課程實(shí)驗(yàn)指導(dǎo)書(shū).徐州:中國(guó)礦業(yè)大學(xué)出版社,2006.4 袁小平.

39、電子技術(shù)綜合設(shè)計(jì)教程.北京:機(jī)械工業(yè)出版社,2008.附錄附件1:元器件清單器件數(shù)量(個(gè))規(guī)格備注電阻3100*2、1k8pin排阻110k四位共陰極數(shù)碼管1STC89C51單片機(jī)1晶振CRYSTAL112MHz用于精確定時(shí)電解電容115uf瓷片電容233pfC1 、C2單片機(jī)底座1DIP40按鍵(SW-PB)17輕觸開(kāi)關(guān)PCB電路板1大于10cm*10cm萬(wàn)能板74LS138譯碼器1蜂鳴器15vNPN三極管12N2222附件2:完整程序清單 #include <reg51.h> #define uint unsigned int#define uchar unsigned cha

40、r#define GPIO_KEY P1#define GPIO_DIG P0sbit LSA=P22;/定義位選sbit LSB=P23;sbit LSC=P24;sbit Beep = P15 ;uchar code zxma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /字形碼 uchar DisplayData8=0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00; uchar aa60=0,0; /存放計(jì)時(shí) uchar a=0,b=0,t=0,t1=0,t11=0,ms_10=0,sec=

41、0,min=0, m1=0,m0=0,s1=0,s0=0,KeyValue=0, /m1,m0,s1,s0 F1=0,F2=0,k; /t1為存儲(chǔ)次數(shù);F0 開(kāi)始標(biāo)志位;F1 停止標(biāo)志位;F2 倒計(jì)時(shí)標(biāo)志位; void cuncu();/存儲(chǔ)子程序 void huifang();/回放子程序 void daojis();/倒計(jì)時(shí)子程序 void xian(); /顯示 void delay(uchar i) /短延時(shí) while(i-); void Timer0Configuration()TMOD=0X11;/選擇為定時(shí)器模式,均工作為方式1,僅用TR0,TR1打開(kāi)啟動(dòng)。 TH0=0X0D8

42、;/給定時(shí)器0賦初值,定時(shí)100msTL0=0X0F0;TH1=0X0D8;/給定時(shí)器1賦初值,定時(shí)100msTL1=0X0F0;ET0=1;/打開(kāi)定時(shí)器0中斷允許ET1=1;/打開(kāi)定時(shí)器1中斷允許EA=1;/打開(kāi)總中斷void Delay10ms(unsigned int c) /延時(shí)子程序,誤差 0us unsigned char a,b; for(;c>0;c-) for(b=38;b>0;b-) for(a=130;a>0;a-); void KeyDown(void) /鍵掃描子程序unsigned int a;GPIO_KEY=0x0f;if(GPIO_KEY!=

43、0x0f)Delay10ms(1);if(GPIO_KEY!=0x0f)/測(cè)試列GPIO_KEY=0X0F;switch(GPIO_KEY)case(0X07):KeyValue=0;break;case(0X0b):KeyValue=1;break;case(0X0d): KeyValue=2;break;case(0X0e):KeyValue=3;break;/測(cè)試行GPIO_KEY=0XF0;switch(GPIO_KEY)case(0X70):KeyValue=KeyValue;break;case(0Xb0):KeyValue=KeyValue+4;break;case(0Xd0):

44、 KeyValue=KeyValue+8;break;case(0Xe0):KeyValue=KeyValue+12;break;while(a<50)&&(GPIO_KEY!=0xf0) /檢測(cè)按鍵松手檢測(cè)Delay10ms(1);a+;a=0;void DigDisplay(void)/顯示子程序unsigned char i;unsigned int j;for(i=0;i<8;i+)switch(i) /位選,選擇點(diǎn)亮的數(shù)碼管,case(0):LSA=0;LSB=0;LSC=0; break;/顯示第0位case(1):LSA=1;LSB=0;LSC=0;

45、break;/顯示第1位case(2):LSA=0;LSB=1;LSC=0; break;/顯示第2位case(3):LSA=1;LSB=1;LSC=0; break;/顯示第3位case(4):LSA=0;LSB=0;LSC=1; break;/顯示第4位case(5):LSA=1;LSB=0;LSC=1; break;/顯示第5位case(6):LSA=0;LSB=1;LSC=1; break;/顯示第6位case(7):LSA=1;LSB=1;LSC=1; break;/顯示第7位GPIO_DIG=DisplayDatai;/發(fā)送段碼j=50; /掃描間隔時(shí)間設(shè)定while(j-);GP

46、IO_DIG=0x00;/消隱void bee() /蜂鳴器 uchar w=10;while(w-)Beep= 1;Delay10ms(w);Beep= 0;Delay10ms(w);DigDisplay(); void main() Timer0Configuration(); /定時(shí)器初始化 DisplayData0=0X73; /上電后顯示P while(1) KeyDown(); /鍵掃描 if(KeyValue=12)&&(F0=0) /開(kāi)始 F0=1;TR0=1;KeyValue=0; if(KeyValue=12)&&(F0=1)/ 停止 TR0

47、=0;F1=1;F0=0;KeyValue=0; if(KeyValue=13)&&(F0=1) /存儲(chǔ) KeyValue=0;cuncu();if(KeyValue=13)&&(F0=0) /回放 KeyValue=0; TR0=0;huifang(); if(KeyValue=14)KeyValue=0;F0=0;F2=0;TR0=0;TR1=0;DisplayData0=0X73;/清除存儲(chǔ)值和計(jì)時(shí)值,回到初始狀態(tài),顯示PP ms_10=0,sec=0,min=0,t1=0,t11=0,KeyValue=0;for(k=0;k<60;k+)aak=0;for(k=1;k<8;k+) DisplayDatak=0x00; if(KeyValue=15)&&(F0=0)&&(F2=0)daojis(); /倒計(jì)時(shí) DigDisplay(); void Timer0() interrupt 1 /定時(shí)器0中斷服務(wù)程序,加計(jì)時(shí) /TR0=0; TH0=0X0D8;/給定時(shí)器0重裝初值,定時(shí)10msTL0=0X0F0; ms_10+; if(ms_10>99) ms_10=0;sec+; if(sec>59) sec=0; min+; if

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論