版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗名稱:中斷技術(shù)、基本時鐘和定時功能(實驗4、5)姓名_ 學(xué)號_實驗班號_ 21_機器號_1、 實驗?zāi)康? 了解中斷原理,包括對中斷源、中斷向量、中斷類型號、中斷程序以及中斷響應(yīng)過程的理解;2 掌握單片機c語言中斷程序設(shè)計方法;3 了解msp430g2553基本時鐘模塊的工作原理,掌握其控制方法;4 掌握利用時鐘信號和中斷技術(shù)實現(xiàn)定時功能的方法2、 實驗基本任務(wù)1 中斷響應(yīng)過程的理解 閱讀下面 c 語言中斷程序,說明程序 l4_int.c執(zhí)行的流程和實現(xiàn)功能。上機實踐,回答下面問題,掌握用 c 語言編寫中斷程序的方法。1) 從程序如何判斷用的是哪個中斷源?其中斷類型號是多少?將實驗板上某一按
2、鍵與該中斷源對應(yīng)的引腳相連,運行程序,操作按鍵,觀察現(xiàn)象。答:(注:源程序主函數(shù)中第7、8行有誤,應(yīng)為p1sel &= bit5; p1sel2 &= bit5; )1 p1.1為中斷源,中斷類型號為2;2 現(xiàn)象:led燈一直在閃爍,按下按鍵后閃爍暫停,蜂鳴器響三聲,然后led燈繼續(xù)閃爍;2) main 函數(shù)中無調(diào)用函數(shù) buzz 的語句, 函數(shù) buzz 如何能被執(zhí)行?何時會被執(zhí)行? 據(jù)此描述中斷響應(yīng)過程。答:1 當(dāng)按下按鍵時函數(shù)buzz被執(zhí)行; 2 中斷響應(yīng)的過程:p1.1處發(fā)出中斷請求判斷是否滿足響應(yīng)條件若滿足,則cpu在執(zhí)行完當(dāng)前指令后,硬件自動完成保護現(xiàn)場的操作從中斷向量表中取中斷向
3、量至pc轉(zhuǎn)去執(zhí)行中斷服務(wù)子程;3) 如果port_int 函數(shù)中不清分中斷標(biāo)志 p1ifg的后果是什么?答:中斷將一直重復(fù)進行下去; 4) 如果 l4_int.c中的 port1_vector 改為 port2_vector, 其他不變,程序執(zhí)行的后果是什么?為什么?(可在中斷處加一斷點,運行程序,看現(xiàn)象,分析原因)答:port1_vector改為port2_vector,其他不變,程序?qū)o法進入中斷。因為程序中的中斷屬于p1引腳的中斷,中斷向量與p2引腳的中斷向量不同,所進行的的改動則是把中斷程序?qū)懭氲搅藀2引腳的中斷向量對應(yīng)的地址中,而p1引腳的中斷向量對應(yīng)的地址上沒有程序,因此無法執(zhí)行
4、原先的中斷子程。 5) 如果中斷源采用的是p1.5, 按鍵用k7,請設(shè)計連線,修改程序完成以中斷方式響應(yīng)k7的操作。 答:1 只需將程序中對p1.1的操作改為對p1.5的操作即可,程序見附錄程序1;2 連線:將引腳與k6相連,其他連線不變;2.中斷程序編程練習(xí)在實驗板上用跳線將按鍵k5、k6分別與單片機的p1.4、p1.5相連,編程以中斷方式響應(yīng)按鍵k5和k6的請求:當(dāng)按一次k5鍵,實驗板上的蜂鳴器發(fā)出一聲警報聲;當(dāng)按下一次k6鍵,實驗板上的發(fā)光二極管l1閃3次。主循環(huán)中控制l7循環(huán)閃亮。思考:如果用長導(dǎo)線將按鍵 k5、k6 分別連接在 p2.2 和 p2.5 上,如何修改程序以實現(xiàn)任務(wù) 2
5、功能? 答:經(jīng)過分析,1 本程序需要有四個函數(shù),分別是延時函數(shù)、l1閃爍3次的函數(shù)、l7循環(huán)閃爍、以及蜂鳴器響一聲的函數(shù);2 其次p2端口為輸出端口,分別控制l1、l7和蜂鳴器,本程序中選用p2.1、p2.3、p2.4引腳;p1.4與p1.5作為中斷源;3 應(yīng)注意到本程序有兩個中斷源,須利用p1ifg判斷產(chǎn)生中斷的中斷源引腳。4 程序見附錄程序2。思考題:如果用長導(dǎo)線將按鍵 k5、k6 分別連接在 p2.2 和 p2.5 上,則應(yīng)設(shè)置p2.2、p2.5為中斷源,設(shè)置中斷向量時也應(yīng)注意將對p1端口的操作改為對p2端口操作。具體程序見附錄程序2之思考題。3. 數(shù)字示波器的使用 1)將信號源的波形在
6、示波器上顯示出來,掌握測量周期、頻率、峰峰值的方法; 2)用孔孔導(dǎo)線將實驗板的地信號與示波器的地信號相連,測量實驗板上的 vcc 電源信號是否正常。答:1)a. 信號源的峰峰值為3.20v;b. 周期為1.000ms;c. 頻率為1.000khz. 2)經(jīng)測量,vcc=3.64v,正常4. 測試上電復(fù)位系統(tǒng)的aclk、和smclk時鐘頻率 編程輸出單片機上電復(fù)位后的aclk、 和smclk時鐘, 用示波器測量其頻率, 并記錄下來。 思考:上電復(fù)位后,cpu工作的時鐘信號 mclk頻率值是多少? 答:經(jīng)分析1 本程序需要置引腳p1.0、p1.4分別輸出aclk、smclk;2 需要確認(rèn)外部晶振連
7、上;3 具體程序見附錄程序5測試程序。4 測得f(aclk)=32.79khz,f(smclk)=1.044mhz.思考題上電復(fù)位后,通過觀察寄存器,發(fā)現(xiàn)bcsctl2寄存器上selm位為00,sels位為則0,說明mclk與smclk均由dco振蕩器控制,所以mclk的頻率與smclk相同,也為1.044mhz。5. 掌握基本時鐘模塊的編程控制 參看附錄 a實驗板原理圖,用跳線將 jp8 中的插針信號接到晶振 32.768khz 側(cè),使晶振與單片機的 p2.6 和 p2.7 相連。編程控制基本時鐘模塊,設(shè)置 aclk 分別為下面時鐘頻率,并通過 p1.0 輸出 aclk,用示波器觀察: 1)
8、 aclk=4096hz; (時鐘源外部晶振,32768hz/8) 2) aclk=3khz;(時鐘源 vloclk, 12khz/4) 思考:可否編程在引腳 p2.0 上輸出 aclk? 為什么? 答:a. 1)中,應(yīng)使單片機接外部晶振,并使aclk的輸出為8分頻;具體程序見附錄程序5之1)b. 2)中,應(yīng)通過bcsctl3寄存器選擇時鐘源vloclk,并使其輸出為4分頻,具體程序見附錄程序5之2)思考題不能在引腳 p2.0 上輸出 aclk,因為,各引腳的特殊功能是由單片機結(jié)構(gòu)所決定的,p2.0引腳不具有輸出輔助時鐘的功能.6. dco出廠校驗值的頻率檢測 1)利用出廠校驗值,編程使 dc
9、o 分別為 1mhz、8mhz、12mhz、16mhz,通過 p1.4輸出,用示波器測量實際值。 答:經(jīng)分析知1 p1.4輸出的是smclk;2 1mhz、8mhz、12mhz、16mhz的情況類似,此處僅以1mhz為例,具體程序見附錄程序63 測得真實值分別為1.002mhz、7.752mhz、12.08mhz、15.94mhz。7. 利用輸出的時鐘信號做中斷源,實現(xiàn)定時功能 將任務(wù) 3 中p1.0 輸出的3khz aclk 時鐘信號,作為 p1.5 的中斷申請信號,用導(dǎo)線將p1.5 與 p1.0相連即可,在中斷子程中設(shè)置一個計數(shù)變量,計數(shù)中斷子程被執(zhí)行的次數(shù),中斷子程每被執(zhí)行 3000 次
10、表示一秒時間到。利用該定時功能,將 8 個發(fā)光二級管設(shè)計成一個秒表,顯示秒值,每秒改變一次 8 個發(fā)光二級管的顯示。答:根據(jù)分析可知a. 需要在實驗5之2)的基礎(chǔ)上進行編程;b. 須用跳線板將p2的引腳與led燈相連;c. 具體程序見附錄程序7思考:如果要每隔 10 秒蜂鳴器響一聲,如何在任務(wù) 5 的基礎(chǔ)上編程實現(xiàn)? 答:將p1.7與蜂鳴器相連,增加一個延時函數(shù)以及每10秒操作一次p1.7上電位;具體程序見附錄程序7之思考題 3、 實驗選做任務(wù)1.中斷響應(yīng)的理解6) (選做) 去掉 l4_int.c程序最后的那條無限循環(huán)語句, 看看有什么現(xiàn)象?可以去掉嗎? 答:1 現(xiàn)象:程序很快運行結(jié)束,無法
11、響應(yīng)中斷;2 不可去掉無限循環(huán)語句注意: 1) 查看 io430g2553.h 文件末尾處有關(guān)中斷向量偏址的符號定義。 2)為便于了解程序執(zhí)行流程,可在中斷子程入口處設(shè)置一斷點,然后連續(xù)運行程序(f5) ,觀察操作按鍵和不操作按鍵兩種情況下程序執(zhí)行的現(xiàn)象有何不同。 2. (選做) 采用事件標(biāo)志處理中斷 閱讀程序l4_inta.c和 l4_intb.c(見后頁) ,描述其實現(xiàn)功能。在實驗板上將p1.0與一個按鍵的控制端相連, p1.7與蜂鳴器的控制端相連。 比較l4_inta.c和l4_intb.c二者在編程實現(xiàn)上有何不同。注意各自中斷子程執(zhí)行時間的長短。 用l4_intb.c的方法,改寫任務(wù)2
12、的編程。答:不同之處: 1 采用事件標(biāo)志處理中斷時,按鍵之后機器做出的反應(yīng)相對較慢,這是因為它需要現(xiàn)在中斷子程中設(shè)置flag,再回到主程序根據(jù)flag做相應(yīng)改動,耗費時間較長。2 但是采用事件標(biāo)志中斷的一個好處就是,由于它在中斷子程中只是進行了一個標(biāo)記,你可以在標(biāo)記flag在主程序中發(fā)揮作用之前再次進行中斷,將flag改為其它值。它相當(dāng)于解決了一般中斷過程中“中斷執(zhí)行時,屏蔽其他中斷”的問題。任務(wù)2改寫后的程序程序33.(選做) 按鍵抖動處理 程序 l4_key.c 見后頁, 其功能是用中斷方式相應(yīng)與 p1.2 連接的按鍵,計數(shù)按鍵的次數(shù),并將所計的次數(shù)用 8 個發(fā)光二極管顯示出來。運行該程序
13、,并操作按鍵,觀察實際操作的次數(shù)與顯示值之間的關(guān)系。編程改進l4_key.c程序,用軟件方式去除按鍵抖動的影響。 答:根據(jù)分析,需要在響應(yīng)了第一次下降沿后,加入一定的延時,躲過其它電壓毛刺的產(chǎn)生時間。具體程序見附錄程序4通過實驗觀察可以發(fā)現(xiàn),改進之前,二進制顯示的數(shù)值明顯大于實際按鍵數(shù),而改進之后,兩者數(shù)值大致相等。4. dco出廠校驗值的頻率檢測 2) (選做)控制發(fā)光二級管通過延時閃亮,編程分別使主系統(tǒng)時鐘工作在 (1)mclk=復(fù)位頻率/8 約 100khz; (2)mclk=dco=16mhz; 兩種不同頻率下,觀察燈的亮滅速度有何不同,掌握主系統(tǒng)時鐘的變化對程序執(zhí)行速度的影響 答:根
14、據(jù)分析a. (1)須選擇8分頻;b. (1)須具備延時函數(shù)與led燈亮函數(shù);c. (2)須選擇dco時鐘源,并使用出廠校驗值16mhz;d. (2)須具備延時函數(shù)與led燈亮函數(shù);e. 具體程序見附錄選作4之1)和選作4之2)f. 實驗觀察到兩種不同頻率下,第一種情形下燈的亮滅速度非常慢,而第二種情形下燈的亮滅速度非常快,則說明:主系統(tǒng)時鐘頻率的加快會加速執(zhí)行速度。5. (選做)改用 4 個數(shù)碼管顯示秒值,重新完成必做任務(wù) 7答:本題需要用到數(shù)碼管的知識,需要標(biāo)志值,具體程序見附錄選作5程序四、小結(jié) 總的來說,我覺得這次的實驗內(nèi)容很多,但是收獲也是很大的;并且在這個過程中重溫了課本,加深了對課
15、本上抽象的內(nèi)容的理解,比如說實驗前對于時鐘,我的理解一直很模糊,似是而非,經(jīng)過實驗,發(fā)現(xiàn)其實它不過是三個寄存器,三個時鐘信號,四個時鐘源之間的問題,雖然過程比較繁瑣,脈絡(luò)卻是清晰的;而且關(guān)于中斷,我也有了進一步的理解,特別是最后幾個選作實驗和必做實驗是對這兩節(jié)知識的綜合應(yīng)用,難度有點大,但是寫出來之后還是很有成就感的?!靖戒洝恳?、基本任務(wù)程序1.必做第1題5)#include io430.h #include in430.h void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0xffff;j+); void blink( ) /led閃 p2out &
16、=bit3; delay(); p2out |= bit3; delay(); void buzz( ) /蜂鳴響 unsigned int i; for (i=0;i3;i+) p2out &=bit4; delay(); p2out|= bit4; delay(); ; void main ( void ) wdtctl = wdtpw + wdthold; /關(guān)閉看門狗 /設(shè)置引腳 p2.4、p2.3 輸出,p2.3 連接 led,p2.4 連接蜂鳴器 p2sel &=(bit3+bit4); p2sel2 &=(bit3+bit4); p2out|=(bit3+bit4); p2dir
17、|=(bit3+bit4); /設(shè)置端口 p1.5 允許中斷 p1sel &= bit5; p1sel2 &= bit5; p1out |=bit5; p1ren |=bit5; p1dir &=bit5; p1ies |= bit5; p1ifg &=bit5; p1ie |= bit5; _eint(); /總中斷允許 for (;) /主循環(huán) blink(); ; #pragma vector=port1_vector _interrupt void port_isr( ) buzz(); p1ifg &=bit5; 2.必做第2題#include io430.h #include in
18、430.h void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0xffff;j+); void l1blink( ) /l1閃3次 unsigned int i; for (i=0;i3;i+) p2out &=bit1; delay(); p2out|= bit1; delay(); ; void l7blink( ) /l7閃 p2out &=bit3; delay(); p2out |= bit3; delay(); void buzz( ) /蜂鳴響 p2out &=bit4; delay(); p2out|= bit4; delay(); v
19、oid main ( void ) wdtctl = wdtpw + wdthold; /關(guān)閉看門狗 /設(shè)置引腳 p2.1、p2.3 、p2.4輸出,p2.1、p2.3分別連接 l1和l7,p2.4 連接蜂鳴器 p2sel &=(bit1+bit3+bit4); p2sel2 &=(bit1+bit3+bit4); p2out|=(bit1+bit3+bit4); p2dir|=(bit1+bit3+bit4); /設(shè)置端口 p1.4、p1.5 允許中斷 p1sel &= (bit4+bit5); p1sel2 &= (bit4+bit5); p1out |=(bit4+bit5); p1re
20、n |=(bit4+bit5); p1dir &=(bit4+bit5); p1ies |= (bit4+bit5); p1ifg &=(bit4+bit5); p1ie |= (bit4+bit5); _eint(); /總中斷允許 for (;) /主循環(huán) l7blink(); ; #pragma vector=port1_vector _interrupt void port_isr( ) if (p1ifg&bit4)!=0) buzz(); p1ifg &=bit4; ;if (p1ifg&bit5)!=0)l1blink();p1ifg&=bit5; 2.思考題#include i
21、o430.h #include in430.h void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0xffff;j+); void l1blink( ) /l1閃3次 unsigned int i; for (i=0;i=3000) time+=1; i=0; p2out=time; /led燈顯示輸出秒表的值 #pragma vector=port1_vector _interrupt void port_isr() i+; p1ifg&=(bit5); /清中斷標(biāo)志2)必做7之思考題#include io430.h#include in430.hu
22、nsigned char time=0;unsigned int i=0;void delay();int main( void )/關(guān)閉看門狗 wdtctl = wdtpw + wdthold; /設(shè)置端口p1.0輸出3khzaclk時鐘信號 p1sel|=bit0; p1sel2&=bit0; p1dir|=bit0; bcsctl3&=lfxt1s0; bcsctl3|=lfxt1s1; bcsctl1&=diva0; bcsctl1|=diva1; /設(shè)置p2.0p2.7為輸出狀態(tài) p2sel&=0; p2sel2&=0; p2dir|=0xff; p2out|=0xff; /設(shè)置p1
23、.7為輸出狀態(tài) p1sel&=bit7; p1sel2&=bit7; p1out|=bit7; p1dir|=bit7;/設(shè)置端口p1.5允許中斷 p1sel&=bit5; p1sel2&=bit5; p1ren|=bit5; p1out&=bit5; p1dir&=bit5; p1ies&=bit5; p1ifg&=bit5; p1ie|=bit5; _eint(); while(1) if (i=3000) time+=1; if(time%10)=0) p1out&=bit7; delay(); p1out|=bit7; i=0; p2out=time; /led燈顯示輸出秒表的值 vo
24、id delay()/延時函數(shù) unsigned int j; for (j=0;j0xffff;j+); #pragma vector=port1_vector _interrupt void port_isr() i+; p1ifg&=(bit5); /清中斷標(biāo)志二、選做任務(wù)程序2.采用事件標(biāo)志處理中斷#include io430.h #include in430.h int flag=0;void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0xffff;j+); void l1blink( ) /l1閃3次 unsigned int i; for
25、(i=0;i3;i+) p2out &=bit1; delay(); p2out|= bit1; delay(); ; void l7blink( ) /l7閃 p2out &=bit3; delay(); p2out |= bit3; delay(); void buzz( ) /蜂鳴響 p2out &=bit4; delay(); p2out|= bit4; delay(); void main ( void ) wdtctl = wdtpw + wdthold; /關(guān)閉看門狗 /設(shè)置引腳 p2.1、p2.3 、p2.4輸出,p2.1、p2.3分別連接 l1和l7,p2.4 連接蜂鳴器 p
26、2sel &=(bit1+bit3+bit4); p2sel2 &=(bit1+bit3+bit4); p2out|=(bit1+bit3+bit4); p2dir|=(bit1+bit3+bit4); /設(shè)置端口 p1.4、p1.5 允許中斷 p1sel &= (bit4+bit5); p1sel2 &= (bit4+bit5); p1out |=(bit4+bit5); p1ren |=(bit4+bit5); p1dir &=(bit4+bit5); p1ies |= (bit4+bit5); p1ifg &=(bit4+bit5); p1ie |= (bit4+bit5); _eint
27、(); /總中斷允許 for (;) /主循環(huán) l7blink(); if (flag=1) buzz(); flag=0; if (flag=2) l1blink(); flag=0; ; #pragma vector=port1_vector _interrupt void port_isr( ) if (p1ifg&bit4)!=0) flag=1; p1ifg &=bit4; ;if (p1ifg&bit5)!=0)flag=2;p1ifg&=bit5; 3.(選做) 按鍵抖動處理 #include io430.h #include in430.h unsigned int numbe
28、r=0; /記錄響應(yīng)按鍵次數(shù) void delay( ) /延時函數(shù) unsigned int j; for (j=0; j0xffff; j+); int main( void ) wdtctl = wdtpw + wdthold; /關(guān)閉看門狗 _disable_interrupt(); /_dint(); 禁止總中斷 p2sel=0; /置 p2 為基本 i/o功能 p2sel2=0; / p2out=0xff; /置 p2 輸出的初值 p2dir=0xff; /置 p2 為輸出方向 p1sel &= bit2; p1sel2 &= bit2; p1out |=bit2; p1ren |
29、=bit2; p1dir &=bit2; p1ies |= bit2; p1ifg &=bit2; p1ie |= bit2; _enable_interrupt(); /_eint(); 總中斷運行 while(1) ; #pragma vector=port1_vector _interrupt void port_int(void) if( (p1ifg&bit2)!=0 ) delay(); /增加延時函數(shù),避開毛刺 if ( (p1ifg&bit2)!=0 ) number+; p2out=number; p1ifg &=bit2; 選做第4題之dco出廠校驗值的頻率檢測 1)mcl
30、k=復(fù)位頻率/8 約100khz;將p2.0與l1相連,程序如下:#include io430.hvoid led();void delay();int main( void ) /關(guān)閉看門狗 wdtctl = wdtpw + wdthold;/設(shè)置p2.0為輸出狀態(tài) p2sel&=bit0; p2sel2&=bit0; p2out|=bit0; p2dir|=bit0; /復(fù)位8分頻 bcsctl2|=(divm0+divm1); while(1) led(); void led() /led燈延時亮滅 p2out&=bit0; delay(); p2out|=bit0; delay();void delay() /延時函數(shù) unsigned int i; for (i=0;i0xffff;i+);2)mclk=dco=16mhz;#include
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高溫后灌漿套筒連接靜力與疲勞性能試驗研究
- 2025年安徽揚子職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 一年級數(shù)學(xué)計算題專項練習(xí)集錦
- 2025至2030年中國水景雕塑數(shù)據(jù)監(jiān)測研究報告
- 二年級數(shù)學(xué)計算題專項練習(xí)1000題匯編集錦
- 二年級數(shù)學(xué)(上)計算題專項練習(xí)匯編
- 辦公室客戶關(guān)系管理戰(zhàn)略規(guī)劃考核試卷
- 2025年度船舶電氣系統(tǒng)成套配電箱訂制合同4篇
- 二零二五年度汽車售后服務(wù)居間合作協(xié)議樣本4篇
- 2025-2030全球車規(guī)級實時時鐘芯片行業(yè)調(diào)研及趨勢分析報告
- 湖北省石首楚源“源網(wǎng)荷儲”一體化項目可研報告
- 醫(yī)療健康大數(shù)據(jù)平臺使用手冊
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細(xì)目表四級
- 撂荒地整改協(xié)議書范本
- 診所負(fù)責(zé)人免責(zé)合同范本
- 2024患者十大安全目標(biāo)
- 會陰切開傷口裂開的護理查房
- 實驗報告·測定雞蛋殼中碳酸鈣的質(zhì)量分?jǐn)?shù)
- 部編版小學(xué)語文五年級下冊集體備課教材分析主講
- 電氣設(shè)備建筑安裝施工圖集
- 《工程結(jié)構(gòu)抗震設(shè)計》課件 第10章-地下建筑抗震設(shè)計
評論
0/150
提交評論