基于定時器計數(shù)器的單片機仿真和C語言開發(fā)_第1頁
基于定時器計數(shù)器的單片機仿真和C語言開發(fā)_第2頁
基于定時器計數(shù)器的單片機仿真和C語言開發(fā)_第3頁
基于定時器計數(shù)器的單片機仿真和C語言開發(fā)_第4頁
基于定時器計數(shù)器的單片機仿真和C語言開發(fā)_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要本次能力拓展的要求是要求實現(xiàn)利用定時器中斷方式或查詢定時器溢出標(biāo)志方式從P口輸出給定周期的方波。在此根底上,我決定進行一些拓展,使其能實現(xiàn)輸出方波的頻率和占空比可調(diào)。如果以調(diào)節(jié)變阻器的阻值來實現(xiàn)頻率的調(diào)節(jié)相對來說要麻煩些,所以我們決定用按鍵來調(diào)節(jié)頻率和占空比,而以鍵盤掃描來實現(xiàn)各鍵的不同功能。關(guān)鍵字:定時器;中斷;方波概述單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為〞。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速開展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣闊領(lǐng)域。單片機有兩種根本結(jié)構(gòu)形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。本課題討論的方波發(fā)生器的核心是目前應(yīng)用極為廣泛的51系列單片機。其內(nèi)部包括:一個8位的CPU;4KB程序存儲器ROM;128字節(jié)RAM數(shù)據(jù)存儲器;兩個16位定時/計數(shù)器;可尋址64KB外部數(shù)據(jù)存儲器和64KB外部存儲空間的控制電路;32條可編程的I/O線〔4個8位并行I/O端口〕;一個可編程全雙工串行口;具有兩個優(yōu)先級嵌套接口的5個中斷源;總體設(shè)計方案2.1方案介紹在電子技術(shù)領(lǐng)域中,實現(xiàn)方波發(fā)生器的方法有很多種,可以采用不同的原理及器件構(gòu)成不同的電路,但可以實現(xiàn)相同的功能。在此次課設(shè)中,微處理器模塊使用AT89C51。本設(shè)計中用到兩個定時器,定時器0和定時器1,其中定時器0工作在定時方式下,決定方波的頻率;定時器1同樣工作在定時方式下,用于設(shè)定占空比。鍵盤的操作是通過外中斷與單片機共同來控制的,鍵盤操作來完成按要求對頻率與占空比進行調(diào)節(jié)。P0.7為方波輸出口,它連接一個示波器即可觀察輸出的方波了。2.2方波發(fā)生器原理與功能方波發(fā)生器原理框圖如圖2.1所示:頻率與占空比調(diào)節(jié)頻率與占空比調(diào)節(jié)輸出方波輸出方波示波器AT89C51單片機鍵盤示波器AT89C51單片機鍵盤圖2.1方波發(fā)生器原理框圖由于系統(tǒng)的要求不高,比擬單一的,再加上我們是通過定時器來調(diào)節(jié)頻率的,而非電阻,因此實現(xiàn)起來就相對簡化了。僅用鍵盤、AT89C51及示波器便可完成設(shè)計,到達所要求實現(xiàn)的功能。方波發(fā)生器工作原理與功能:簡單的流程為:主程序掃描鍵盤,將設(shè)置信息輸入,處理后,輸出到示波器顯示。單片機的晶振為11.0592MHz,用到了兩個定時器,即定時器0與定時器1,分別進行頻率與占空比的定時,兩個定時器都是工作在方式1。根據(jù)計算定時器初值的公式:〔式2-1〕計算出定時器0與定時器1所要裝入的初值,然后將工作方式控制字寫入TMOD存放器,再將和存放器,最后啟動定時器,即將置位。如果工作于中斷方式,需置位EA〔中斷總開關(guān)〕及〔允許定時/計數(shù)器中斷〕,并編中斷效勞程序。此電路的鍵盤是由一個狀態(tài)鍵,四個功能鍵〔調(diào)節(jié)頻率與占空比的增減〕組成,其特殊之處在于利用外部中斷實現(xiàn)鍵盤掃描。狀態(tài)鍵有三種狀態(tài),當(dāng)其處于狀態(tài)0時,那么其它的鍵會處于無用狀態(tài);當(dāng)其處于狀態(tài)1時,可通過按四個調(diào)節(jié)鍵來調(diào)節(jié)頻率;當(dāng)處于狀態(tài)2時,按四個調(diào)節(jié)鍵中的前兩個便可對占空比進行調(diào)節(jié)了;當(dāng)處于狀態(tài)3時,又會回到狀態(tài)0,此時正常顯示方波。系統(tǒng)硬件設(shè)計3.1AT89C51簡介單片機是在一塊芯片中集成了CPU、RAM、ROM、定時/計數(shù)器和多功能I/O口等計算機所需要的根本部件的大規(guī)模集成電路,又稱MCU。其以體積小、功能全、性價比等諸多優(yōu)點而獨具特色,在工業(yè)控制、尖端武器、通信設(shè)備、家用電器等嵌入式應(yīng)用領(lǐng)域中獨占鰲頭。如果說C語言程序設(shè)計課程設(shè)計的根底課,那么單片機以其系統(tǒng)硬件構(gòu)架完整、價格低廉、學(xué)生能動手等特點,成為工科學(xué)生硬件設(shè)計根底課。其管腳圖如右圖所示。圖3.1AT89C51管腳圖3.2內(nèi)部振蕩電路圖3.2內(nèi)部振蕩電路8XX51單片機的時鐘信號通常分為內(nèi)部振蕩方式和外部振蕩方式。因為此次課設(shè)我們用到的是內(nèi)部振蕩方式,所以只對前者進行簡單介紹。如圖3.2所示,在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷振蕩器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶體后,就構(gòu)成了自激振蕩器,并產(chǎn)生振蕩時鐘脈沖。晶振通常選用6MHz、12MHz、24MHz。圖中C2和C3起穩(wěn)定振蕩頻率,快速起振的作用。電容值一般為5~30pF。3.3復(fù)位電路圖3.3復(fù)位電路復(fù)位操作完成單片機內(nèi)電路的初始化,使單片機從一確定的狀態(tài)開始運行。當(dāng)8XX51單片機的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時,單片機就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序,因此要求單片機復(fù)位后能脫離復(fù)位狀態(tài)。圖3.3所示的為上電且開關(guān)復(fù)位電路,上電后電容充電,使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇。3.4按鍵接口電路小鍵盤如圖3.4所示。它包括8個鍵,系統(tǒng)中用到的鍵只有5個,分別為S1鍵,S2鍵,S3鍵,S4鍵,S5鍵。其中S1鍵是狀態(tài)鍵,采用外部中斷控制,用它來確定其它幾個鍵的按鍵功能,具體作用在前述的系統(tǒng)功能中已做介紹了;另外4個鍵為功能鍵,是用來調(diào)節(jié)頻率與占空比的。小鍵盤中引出的6根線依次分別接單片機的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。其中P1.0~P1.3是為鍵盤列線,P1.4和P1.5是鍵盤行線。當(dāng)某個鍵按下時,由行掃描值和列回饋信號共同形成鍵編碼。圖3.4按鍵接口電路如上所介紹的,按鍵接口電路采用的是外部中斷控制,如圖3.5所示,P1.0~P.14為4輸入與門輸入端,輸出端接外部中斷0控制端,當(dāng)有某一鍵按下時,由于輸入端電平的變化會導(dǎo)致進入的電平也發(fā)生變化,由此將會產(chǎn)生外部0中斷,到達按鍵控制的作用。圖3.5按鍵控制外部中斷電路系統(tǒng)軟件設(shè)計方波發(fā)生器的軟件設(shè)計包括主程序、延時子程序、系統(tǒng)初始化程序、鍵盤掃描程序、定時器中斷子程序。其中主程序用來控制整個程序的執(zhí)行,它與各子程序緊密相聯(lián),共同實現(xiàn)方波發(fā)生器各種功能的執(zhí)行。4.1系統(tǒng)初始化程序在此程序中,給所有變量賦初值,有鍵盤掃描口、選擇串行口工作方式SCON、狀態(tài)標(biāo)志位flag、初始頻率與占空比及其定時、定時器0與定時器1的工作方式等。初始化時啟動了定時器0與定時器1。4.2定時器中斷子程序voidTimer0_PL()interrupt1 //頻率定時器0中斷{TR1=1; //啟動定時器1,占空比定時TL0=TIMER0_L;TH0=TIMER0_H;OutPut=1; //輸出高電平}voidTimer1_PL()interrupt3 //占空比定時器1中斷{TR1=0; //定時器1停止TL1=TIMER1_L;TH1=TIMER1_H;OutPut=0; //輸出低電平}定時器中斷子程序中有定時器0與定時器1中斷,頻率定時器0中斷流程圖與占空比定時器1流程圖分別如圖4.1和圖4.2所示。其過程為:〔1〕定時器0遇中斷執(zhí)行的操作有復(fù)位,啟動自身進行頻率定時,同時啟動定時器1,進行占空比定時,輸出高電平?!?〕定時器1遇中斷,停止自身的計時,輸出低電平。如此循環(huán)進行從而到達輸出方波的目的。定時器1中斷入口TR1=0定時器1中斷入口TR1=0重裝定時初值輸出低電平結(jié)束圖4.2占空比定時器0中斷流程定時器0中斷入口TR1=1重裝定時初值輸出高電平結(jié)束圖4.1頻率定時器0中斷流程4.3鍵盤掃描程序鍵盤掃描用外中斷0實現(xiàn),采用的是線反法,鍵盤掃描采用逐行掃描的方法。當(dāng)頻率可調(diào)時,占空比保持原狀不變,反之亦然,只能進行單一變量的調(diào)節(jié),狀態(tài)標(biāo)志flag的初始值為0?!?〕頻率調(diào)節(jié):i==0時,按鍵為狀態(tài)鍵,此時flag加1,即flag==1,此時進行頻率的調(diào)節(jié)??梢赃M行加1Hz、減1Hz、加100Hz、減100Hz操作,分別由S2鍵、S3鍵、S4鍵、S5鍵控制。如果按住某個鍵不放,便會執(zhí)行連續(xù)加值或減值操作。這里的頻率的最大值為15000Hz,當(dāng)頻率增至最大值時,還按增值鍵,此時頻率會自動跳到1Hz開始繼續(xù)增加。同理,頻率的最小值為1Hz,當(dāng)減頻率減至最小值時,再按減頻率鍵,那么頻率會跳到15000Hz。〔2〕占空比調(diào)節(jié):當(dāng)狀態(tài)值flag==2時,此時頻率保持不變,進行占空比調(diào)節(jié)。只可進行加1與減1操作,分別由S2鍵、S3鍵控制。要注意的是占空比的初值是50%,我們定義的ZKB為50〔百分比的分子局部,為一整數(shù)〕,故調(diào)節(jié)占空比時,ZKB會進行加1,減1操作。ZKB的最大值為99,當(dāng)增到最大值時,便會返回到值1,如此循環(huán)?!?〕為了減輕單片機的工作量,在軟件設(shè)計中采取了這樣的措施,在修改參數(shù)確定后才進行定時器初值TC0、TC1的計算。鍵盤中斷處理子程序流程圖與鍵處理流程圖分別如圖4.3、圖4.4所示:NYNYi==1ZKB++i==2ZKB--邊界處理Flag=2?NYi==0?Flag+=1鍵處理YYi==3PL+=100i==4PL-=100i==2PL--i==1PL++邊界處理NFlag=1?YNFlag=3?Flag=0,計算定時器0和1的初值鍵處理結(jié)束圖4.4鍵處理流程圖圖4.3鍵盤中斷處理子程序流程圖YNEA=0軟件延時消抖外部中斷0入口鍵盤掃描,得到鍵碼查表取鍵值i實時顯示鍵盤口初始化EA=1結(jié)束鍵處理是否為抖動軟件仿真5.1keil編譯器生成HEX文件由于這次能力拓展使用的C語言編程,所以不能用WAVE軟件進行仿真,于是我們選用keil編譯器進行仿真。主要介紹C程序生成hex文件的方法:雙擊翻開KeiluVision3,選擇project新建工程并保存,在出現(xiàn)的CPU對話框中選擇ATMEL中的AT89C51芯片。點擊確定生成工程,在file菜單中選擇新建,新建一個文件,在里面輸入自己寫的程序代碼,并保存。在左面的工程上右擊選擇addfilestogroup,將剛開的文件添加的工程,然后同樣右鍵target選擇optionsfortarget,翻開設(shè)置,在output選項中選擇createhexfil這一項。點擊編譯,以及它后面的生成選項,便可在工程目錄下生成hex文件。5.2proteus軟件仿真在生成*.HEX文件后,進入Protues軟件,此時軟件已自動翻開一新建工程。我們可直接在其中構(gòu)建電路圖,點擊板面左側(cè)按鍵P,在彈出的Pickdevices對話框中進行元器件的選擇,文件要求必須是HEX文件。然后可以點擊運行觀察現(xiàn)象,看與自己設(shè)置的符合否,如果不相符在查找錯誤進行修改,一般的錯誤都是程序中的,所以要認真的讀取程序的每一個局部。在元器件都找到后,我們可以先進行排版再按照電路圖連接,如連接好后如下列圖所示:圖5.1仿真電路圖在電路連接好后,雙擊AT89C51在彈出對話框中選擇單片機中要輸入的程序,見下列圖:圖5.2向AT89C51中參加程序當(dāng)完成以上步驟后,就可以點擊開始按鈕進行仿真了,原始方波輸出如圖5.3所示:圖5.3輸出原始波形圖當(dāng)仿真開始后,按一次S1,那么此時Flag狀態(tài)為1,可以進行平率的調(diào)整,頻率調(diào)整后波形輸出如下列圖所示:圖5.3頻率調(diào)整后的波形輸出再按S1將Flag狀態(tài)調(diào)整為狀態(tài)2,此時可以對波形的占空比進行調(diào)整,調(diào)整占空比后的波形如下列圖所示:圖5.5占空比調(diào)整后的輸出波形心得體會單片機設(shè)計是一門很實用,很難的設(shè)計。這個設(shè)計用到了單片機,電路等方面的知識,通過這次課程設(shè)計,使我對單片機及其附屬電路有了一定的了解,對課本上的知識有了近一步的掌握,也深刻明白了自己的缺乏。完本錢次課程設(shè)計的過程,是一個從無到有的過程,經(jīng)歷了興奮、自信、失落、發(fā)奮、所悟、完成幾個過程。剛做做課程設(shè)計時,仔細閱讀設(shè)計的題目和要求,以為沒什么困難的,所用的知識書上都有??墒钱?dāng)我動手開始做的時候,才發(fā)現(xiàn)其中的算法,設(shè)計是那么繁瑣。經(jīng)過一天的努力,毫無結(jié)果。失落的心情油然而生。于是,再到圖書館和網(wǎng)上查找資料,在經(jīng)過借鑒很多類似的資料,文獻后,總算是有點眉目了。埋頭苦干的過程是痛苦的,尤其是在思考算法和程序框架時,迷茫,煩躁,特別是當(dāng)苦思出來一個結(jié)果,又被自己推翻,心痛的無法言繪。在痛苦中掙扎,建立,推翻,參考別人的思路,建立,再次在推翻,在這不斷循環(huán)中,終于最后完善了程序。其中的煎熬是很痛苦的,深刻明白攻克自己“未知領(lǐng)域〞的困難。但當(dāng)課程設(shè)計完成時,那感覺是甜蜜的,沒有耕耘,哪來得收獲的喜悅,不懂付出怎么能知道回報的快樂,一分耕耘一分收獲,有付出才會有回報,就在這樣的痛與快樂的交換中,我學(xué)到了知識,學(xué)到了做人的道理。通過這短短一周的實踐,我感覺到自己從課本上學(xué)到的理論知識和實踐仍有很大的差距。最少很多元器件根本不知道有什么成效,在仿真儀器中是什么代碼。有的知識,自己感覺已經(jīng)掌握得差不多了,但是實際操作起來就有問題出現(xiàn)了。我遇到了不少問題,花費了很多的時間。這讓我重新反思我們的學(xué)習(xí),深刻領(lǐng)悟到我們這個專業(yè)動手,實踐的重要性。理論不經(jīng)過實踐考驗,是沒法實施的,就像我們編的程序,很多方面考慮的都不夠,幾乎沒有涉及到實際應(yīng)用時的防范方法措施。這次的課程設(shè)計,讓我學(xué)到了很多書本上學(xué)不到的東西,學(xué)到了實際應(yīng)用時,是取用本錢的最小化,做設(shè)計不僅要考慮大的方面,小的方面也必須做到完美。最大的收獲是C51語言的應(yīng)用有了深刻的了解。參考文獻[1]何立民.MCS51單片機應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2003.[2]徐君毅.單片微型機原理與應(yīng)用[M].上海:上??萍汲霭嫔?1995[3]公茂法.單片機人機接口實例集[M].北京:航空航天大學(xué)出版社,1998.[4]沈紅衛(wèi).基于單片機的智能系統(tǒng)設(shè)計與實現(xiàn)[M].北京:電子工業(yè)出版社,2005.[5]李廣弟,朱月秀等.單片機根底[M].北京:北京航空航天大學(xué)出版社,2003.附錄:源程序代碼#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineKEY_PORTP1 //P1口為鍵盤掃描口sbitOutPut=P0^7;//矩形波輸出口/*設(shè)全局變量*/floatfosc=11059200;//系統(tǒng)時鐘頻率floatlength=65536;//方式1計數(shù)長度ucharflag; //狀態(tài)鍵標(biāo)志ucharZKB; //占空比uintPL; //頻率ucharTIMER0_L,TIMER0_H,TIMER1_L,TIMER1_H;//定時器0和1的定時初值ucharcodetabl[12]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00};//LED共陰極代碼ucharcodetabl2[18]={0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88}; //鍵值表/*****************************************延時子程序*****************************************/voiddelay1ms(ucharn) //延時nms{ucharj;while(n--)for(j=0;j<122;j++){;}}/*****************************************系統(tǒng)初始化*****************************************/voidsystem_init(void){KEY_PORT=0x0f;SCON=0x00;flag=0;PL=1000;ZKB=50;TL0=0x66; //初始頻率1KHz定時1msTH0=0xfc;TL1=0x33; //初始占空比50定時0.5msTH1=0xfe;TMOD=0x11;//定時器1和定時器0工作在方式1,的定時模式IT0=0;//選擇INT0為低電平觸發(fā)方式EX0=1;//外部中斷0允許ET0=1;//定時器1和定時器0中斷允許ET1=1;EA=1;//系統(tǒng)中斷允許TR0=1;//定時器1和定時器0開始定時TR1=1;}/*****************************************發(fā)送數(shù)據(jù)*****************************************/voidsend(uchard){SBUF=d;while(!TI);TI=0;}/*****************************************顯示子程序*****************************************/voiddisplay(uintPL,ucharZKB){uchara,b,c,d,e,m,n;a=PL/10000; //別離頻率的各位數(shù)值b=PL/1000;b=b%10;c=PL/100;c=c%10;d=PL%100;d=d/10;e=PL%10;if(a==0) //頻率顯示的高位滅零{a=10;if(b==0){ b=10; if(c==0) { c=10; if(d==0) {d=10; if(e==0)e=10; } }}}m=ZKB/10; //別離占空比各位數(shù)值n=ZKB%10;if(m==0){m=10; //占空比顯示的高位滅零if(n==0)n=10;}send(tabl[a]);send(tabl[b]);send(tabl[c]);send(tabl[d]);send(tabl[e]);send(0x02); //頻率和占空比中間加一橫線“-〞以示區(qū)別send(tabl[m]);send(tabl[n]);delay1ms(200);delay1ms(200); //延時開鍵盤中斷,處理好〔防止又利用〕連擊問題}/*****************************************鍵盤掃描〔線反法〕*****************************************/voidKey_Scan()interrupt0//鍵盤掃描用外中斷0{ucharscancode,keycode,i;floatTC0,TC1;EX0=0;//關(guān)中斷delay1ms(5);scancode=0xef;//鍵盤掃描碼,采用逐行掃描的方法while(scancode!=0xff){KEY_PORT=scancode;//輸入掃描碼,掃描P1.4對應(yīng)的行keycode=KEY_PORT;//讀出數(shù)據(jù),看是否在此行上的某列鍵盤被按下if((keycode&0x0f)!=0x0f)break;//掃描到按下的鍵,那么退出scancode=(keycode<<1)|0x0f;//否那么,更新掃描碼繼續(xù)掃描}keycode=~keycode;for(i=0;i<8;i++) if(tabl2[i]==keycode)break;//取得鍵號 if(i==0)flag++; if(flag==1) //狀態(tài)1下對頻率進行調(diào)整 { if(i==1) //按鍵為1號,頻率加1 {PL++; if(PL>15000)PL=15; } if(i==2) //按鍵為2號,頻率減1 {PL--; if(PL<15)PL=15000; } if(i==3) //按鍵為3號,頻率加100 {PL+=100; if(PL>15000)PL=15; } if(i==4) //按鍵為4號,頻率減100 {PL=PL-100; if(PL<15)PL=15000; } } if(flag==2) //狀態(tài)2下對占空比進行調(diào)整 { if(i==1) //按鍵為1號,占空比加1 {ZKB++; if(ZKB>99)ZKB=1; } if(i==2) //按鍵為2號,占空比減1 {ZKB--; if(ZKB<1)ZKB=99; } }if(flag==3) //狀態(tài)返回,正常工作{flag=0; //清狀態(tài)標(biāo)志 TC0=(length-fosc/(12*PL)+0.5); //頻率定時初值 TC1=(length-(fosc*ZKB)/(12*100*PL)+0.5);//占空比定時初值 TIMER0_L=(uint)TC0/256;//計算定時器0和定時器1的初值 TIMER0_H=(uint)TC0%256; TIMER1_L=(uint)TC1/256; TIMER1_H=(uint)TC1%256; } display(PL,ZKB);KEY_PORT=0x0f; //給鍵盤掃描口賦初值,以便下次按鍵正確讀入EX0=1;//開中斷}/*****************************************定時器中斷子程序*****************************************/voidTimer0_PL()interrupt1 //頻率

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論