單片機的課程設(shè)計(綜合應(yīng)用實例)課件_第1頁
單片機的課程設(shè)計(綜合應(yīng)用實例)課件_第2頁
單片機的課程設(shè)計(綜合應(yīng)用實例)課件_第3頁
單片機的課程設(shè)計(綜合應(yīng)用實例)課件_第4頁
單片機的課程設(shè)計(綜合應(yīng)用實例)課件_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第13章 單片機的課程設(shè)計(綜合應(yīng)用實例) 13.1 紅外接收器件TL1838 近年來隨著計算機在社會各領(lǐng)域的滲透,單片機的應(yīng)用正在不斷地走向深入,同時也帶動傳統(tǒng)的控制、檢測等工作日益更新。傳統(tǒng)的遙控器大多采用無線電遙控技術(shù),隨著科技的進步,紅外線遙控技術(shù)的進一步成熟,紅外遙控也逐步成為了一種被廣泛應(yīng)故不同房間的家用電器可使用通用的遙控器而不會產(chǎn)生相互干擾;電用的通信和遙控手段。為了方便實用,傳統(tǒng)的家庭電器逐漸采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等有害環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。紅外遙控的特點是不影響周邊環(huán)境、不干擾其它電器設(shè)備。由于其無法穿

2、透墻壁,路調(diào)試簡單,只要按給定電路連接無誤,一般不需任何調(diào)試即可投入工作;編解碼容易,可進行多路遙控。紅外遙控雖然被廣泛應(yīng)用,但各產(chǎn)商的遙控器不能相互兼容。當今市場上的紅外線遙控裝置一般采用專用的遙控編碼及解碼集成電路,但編程靈活性較低,且產(chǎn)品多相互綁定,不能復(fù)用,故應(yīng)用范圍有限。而本文采用單片機進行遙控系統(tǒng)的應(yīng)用設(shè)計,遙控裝置將同時具有編程靈活、控制范圍廣、體積小、功耗低、功能強、成本低、可靠性高等特點,因此采用單片機的紅外遙控技術(shù)具有廣闊的發(fā)展前景。13.1.1 概述 1. 基于單片機的紅外遙控系統(tǒng)概述 當今社會科學(xué)技術(shù)的發(fā)展與日俱增,人們生活水平也是日益提高,為了減少人們的工作量,所以對

3、各種家用電器、電子器件的非人工控制的要求越來越高,針對這種情況,設(shè)計出一種集成度比較高的控制體系是必然的?,F(xiàn)代科技的飛速發(fā)展在許多危險、不可近場合也對遠程控制提出了越來越高的要求。單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機的集成度很高,它體積小、功耗低、控制功能強、擴展靈活、微型化、使用方便等突出特點,尤其耗

4、電少,又可使供電電源體積小、質(zhì)量輕。所以特別適用于“電腦型產(chǎn)品”,它的應(yīng)用已深入到工業(yè)、農(nóng)業(yè)、國防、科研、教育以及日常生活用品(家電、玩具)等各種領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。單片機特別適合把它做到產(chǎn)品的內(nèi)部,取代部分老式機械、電子零件或元器件??墒巩a(chǎn)品縮小體積,增強功能,實現(xiàn)不同程度的智能化。 紅外線是一種光線,具有普通光的性質(zhì),可以以光速直線傳播,強度可調(diào),可以通過光學(xué)透鏡聚焦,可以被不透明物體遮擋等等。特別制造的半導(dǎo)體發(fā)光二極管,可以發(fā)出特定波長(通常是近紅外)的紅外線,通過控制二極管的電流可以很方便的改變紅外線的強度,以達到調(diào)制的目的,因此,在現(xiàn)代電子工程應(yīng)用中,紅外線常

5、常被用做近距離視線范圍內(nèi)的通訊載波。使用紅外線做信號載波的優(yōu)點很多:成本低、傳播范圍和方向可以控制、不產(chǎn)生電磁輻射干擾,也不受干擾等等。因此被廣泛地應(yīng)用在各種技術(shù)領(lǐng)域中。由于紅外線為不可見光,因此對環(huán)境影響很小,再由紅外光波長遠小于無線電波的波長,所以紅外線遙控不會影響其他家用電器,也不會影響臨近的無線電設(shè)備。最典型的應(yīng)用就是家電遙控器。紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對象的能力,所以,在設(shè)計家用電器的紅外線遙控器時,不必要像無線電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否則,就會隔墻控制或干擾鄰居的家用電器)。同類產(chǎn)品的紅外線遙控器,也可以有相同的遙控

6、頻率或編碼,而不會出現(xiàn)遙控信號“串門”的情況。這對于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方面。本設(shè)計主要研究并設(shè)計一個基于單片機的紅外發(fā)射及接收系統(tǒng),實現(xiàn)對溫度控制的隔離控制??刂葡到y(tǒng)主要是由 MCS-51 系列單片機、集成紅外發(fā)射遙控器、紅外接收電路、LCD 顯示電路,溫度控制電路等部分組成,發(fā)射遙控信號經(jīng)紅外接收處理傳送給單片機,單片機根據(jù)不同的信息碼控制溫度報警,并完成相應(yīng)的狀態(tài)指示(如圖13-1)。按鍵編碼和調(diào)制紅外發(fā)射紅外接收解碼并響應(yīng)紅外遙控器紅外接收圖13-1 紅外線遙控系統(tǒng)框圖 2. 本設(shè)計方案思路 本設(shè)計主控芯片采用目前比較通用的MCS-51系列單片機。此類單

7、片機的運算能力強,軟件編程靈活,自由度大,市場上比較多見,價格便宜且技術(shù)比較成熟容易實現(xiàn)。紅外傳輸利用載波對信號進行調(diào)制從而減少信號傳輸過程中的光波干擾,提高數(shù)據(jù)傳輸效率。由遙控器將鍵盤信息及系統(tǒng)識別碼等數(shù)據(jù)調(diào)制在紅外載波上經(jīng)紅外發(fā)射頭發(fā)射出去。接收方由紅外一體化接收頭實現(xiàn)對接收信號的放大解調(diào)并還原為數(shù)據(jù)流,經(jīng)由單片機解碼后對相關(guān)IO口進行操作。 3. 研發(fā)方向和技術(shù)關(guān)鍵 1) 合理設(shè)計硬件電路,使各模塊功能協(xié)調(diào); 2) 紅外接收信號的脈沖波形; 3) 紅外接收信號的編解碼; 4) 單片機對IO口的操作; 4. 主要技術(shù)指標 1) 遙控最遠距離8到10m 2) 工作頻率為 38KHz,即紅外發(fā)

8、射和接收的載頻為 38KHz; 4) 接收端可顯示受控狀態(tài)以及輸入控制數(shù)據(jù)。圖13-2 系統(tǒng)總體結(jié)構(gòu)框圖1. 紅外遙控發(fā)射部分 紅外遙控發(fā)射部分為常見的普通遙控器。 2. 紅外遙控接收部分紅外遙控接收電路框圖見圖13-3。紅外接收端普遍采用價格便宜,性能可靠的一體化紅外接收頭(VS1838B , 它接收紅外信號頻率為38KHz ,周期約26s)。它能同時對信號進行放大、檢波、整形,得到TTL 電平的編碼信號。紅外接收頭收到信號后單片機立即產(chǎn)生中斷,開始接收紅外信號。接收到的信號經(jīng)單片機解碼得到用戶遙控信息并轉(zhuǎn)至IO口執(zhí)行,同時單片機還完成對處于工作狀態(tài)的設(shè)備進行計數(shù)并顯示。2) 二進制信號的解

9、調(diào)二進制信號的解調(diào)由一體化紅外接收頭VS1838B來完成,它把接收到的紅外信號(圖13-4 中波形D)經(jīng)內(nèi)部處理并解調(diào)復(fù)原,在輸出腳輸出圖13-4中波形E,VS1838B 的解調(diào)可理解為:在輸入有脈沖串時,輸出端輸出低電平,否則輸出高電平??芍苯优c單片機串行輸入口及外中斷相聯(lián),以實現(xiàn)隨時接收遙控信號并產(chǎn)生中斷,然后由單片機對編碼還原。 3) 二進制信號的解碼 二進制信號的解碼由接收單片機來完成,它把紅外接收頭送來的二進制編碼波形通過解碼,還原出發(fā)送端發(fā)送的數(shù)據(jù)。如圖13-4,把波形解碼還原成原始二進制數(shù)據(jù)信息101。圖13-4 紅外接收頭接收及輸出波形13.1.3 硬件設(shè)計 1. 主控芯片AT

10、89C51 AT89C51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程。 2. 紅外發(fā)射紅外發(fā)送器大多是使用Ga、As等材料制成的紅外發(fā)射二極管,其能夠通過的LED電流越大,發(fā)射角度越小,產(chǎn)生的發(fā)射強度就越大;發(fā)射強度越大,紅外傳輸距離就越遠,傳輸距離正比于發(fā)射強度的平方根。 通常,紅外遙控器將遙控信號(二進制脈沖碼)調(diào)制在40KHz(周期為26.3ms)的載波上,

11、經(jīng)緩沖放大后送至紅外發(fā)光二極管,產(chǎn)生紅外信號發(fā)射出去。在紅外數(shù)據(jù)發(fā)射過程中,由于發(fā)送信號時的最大平均電流需幾十mA(對應(yīng)mW級發(fā)射功率),所以需要三極管放大后去驅(qū)動紅外光發(fā)射二極管(又稱電光二極管)。單片機通過軟件編程將調(diào)制好的脈沖信號從P3口第6腳(P3.5)將數(shù)據(jù)輸出 1) 紅外信號接收電路VS1838B是用于紅外遙控接收的小型一體化接收頭,它的主要功能包括放大,選頻,解調(diào)幾大部分,要求輸入信號需是已經(jīng)被調(diào)制的信號。經(jīng)過它的接收放大和解調(diào)會在輸出端直接輸出原始信號的反相信號。其不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積和普通的塑封三極管大小一樣,從

12、而使電路達到最簡化!靈敏度和抗干擾性都非常好。它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸,中心頻率38.0kHz。接收器對外只有3個引腳,如圖13-5所示,從左至右依次為OUT、GND、VCC。紅外接收頭電路圖如圖13-6所示,OUT腳(1號腳)與單片機IO口直接相連。圖13-5 VS1838B引腳紅外接收頭內(nèi)部放大器的增益很大,很容易引起干擾,依次在接收頭的供電腳上必須加上濾波電容。故紅外接收部分電路如圖13-6所示。圖13-6 紅外接收頭電路 13.1.4 制作過程仿真調(diào)試電路如圖13-7所示。圖13-7 紅外仿真調(diào)試電路圖實物制作樣品如圖13-8所示。 圖13-8 實物制作樣品圖 實物演示效

13、果圖如圖13-9所示。 圖13-9 實物演示效果圖溫度控制規(guī)則:當前實際溫度大于設(shè)定最高溫度,LED燈發(fā)出警告。當前實際溫度小于設(shè)定最少溫度,LED燈發(fā)出警告。由于目前的遙控裝置大多對某一設(shè)備進行單獨控制,而在本設(shè)計中的紅外遙控電路設(shè)計了多個控制按鍵,可以對不同的設(shè)備,也可以對同一設(shè)備的多個功能進行控制。系統(tǒng)可通過設(shè)定發(fā)射及接收程序中的識別碼及識別反碼達到不同遙控器間相互區(qū)分,對識別碼、識別反碼、控制碼和控制碼反碼的判定一方面消除了非遙控信號的紅外干擾,另一方面降低了誤操作發(fā)生的幾率。經(jīng)過測試,設(shè)計結(jié)果完全達到課題任務(wù)要求。 但是本電路也有不完善的地方, 由于時間、水平和經(jīng)驗有限,在信號解碼、

14、抗干擾及功耗控制等方面仍有不足之處,有改進的余地。例如設(shè)計中可通過增加紅外線發(fā)射功率進而增加遙控距離,改進信號編碼方式以提高數(shù)據(jù)的傳輸速度,使用小型單片機以降低功耗等。另外在系統(tǒng)的調(diào)試方面,由于時間和設(shè)備的原因,只進行了短距離的調(diào)試,更多參數(shù)有待進一步的調(diào)試。在設(shè)計過程中,通過大量的查閱資料,認真研究教材,對單片機有了更為深刻的理解,在編寫軟件時,須仔細的分析硬件電路及所要達到的功能,然后設(shè)計程序流程,編寫代碼。整個過程培養(yǎng)了我的耐性和刻苦鉆研的精神。這次設(shè)計對于我們組來說,既是一次機遇,又是一次挑戰(zhàn)。通過這次的設(shè)計,我學(xué)到了很多東西。通過自己的實踐,增強了動手能力,掌握了系統(tǒng)的分析解決問題的

15、方法。通過實際工程設(shè)計也使我了解到書本知識和實際應(yīng)用的差別。在實際應(yīng)用中遇到很多的問題,這都需要我對問題進行具體的分析,并一步一步地去解決它。13.1.5 源程序代碼#include#include#include 18b20.h#define uchar unsigned char#define uint unsigned int uchar m,k1,k2; uchar c,c1,c2,c3,t1,t2,t3,b;uint temp; uint temp_h=350,temp_l=250;void delay(uchar x); /x*0.14MSvoid display(uchar *t

16、ab1,uchar *tab2);void IR_IN();/* */*寫指令數(shù)據(jù)到LCD */*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */* */*/void lcd_wcmd(uchar cmd) LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; P0 = cmd; LCD_EN = 1; delay(50); LCD_EN = 0; delay(50); /*/* */*寫顯示數(shù)據(jù)到LCD */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */* */*/void lcd_wdat(uchar dat) LCD_RS = 1; LCD_RW

17、= 0; LCD_EN = 0; P0 = dat; LCD_EN = 1; delay(50); LCD_EN = 0; delay(50);/*/void display(uchar *tab1,uchar *tab2) lcd_wcmd(0 x80); /設(shè)置顯示位置為第一行的第1個字符 m = 0; while(tab1m != 0) /顯示字符 lcd_wdat(tab1m); m+; lcd_wcmd(0 x90); /設(shè)置顯示位置為第二行第1個字符 m = 0; while(tab2m != 0) lcd_wdat(tab2m); /顯示字符 m+; /*延時函數(shù)*/void d

18、elay(unsigned char x) /x*0.14MS uchar i; while(x-) for (i = 0; i=temp_h|temp=temp_l)led=0;else led=1;/else if(temp=tem_tl)/ 默認45度,繼電器動作,等到溫度降到35,繼電器恢復(fù) / led=1;/*紅外數(shù)據(jù)接收和處理*/void IR_IN() interrupt 0 using 0 unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN=1) EX0 =1; return; /確認IR信號出現(xiàn) while (!IRIN)

19、/等IR變?yōu)楦唠娖?,跳過9ms的前導(dǎo)低電平 信號。 delay(1);for (j=0;j4;j+) /收集四組數(shù)據(jù) for (k=0;k=30) EX0=1; return; /0.14ms計數(shù)過長自動離開。 /高電平計數(shù)完畢 IRCOMj=IRCOMj 1; /數(shù)據(jù)最高位補“0” if (N=8) IRCOMj = IRCOMj | 0 x80; /數(shù)據(jù)最高位補“1” N=0; /end for k /end for j if (IRCOM2!=IRCOM3) EX0=1; return; IRCOM5=IRCOM2 & 0 x0F; /取鍵碼的低四位 IRCOM6=IRCOM2 4; /

20、右移4次,高四位變?yōu)榈退奈?if(IRCOM59) IRCOM5=IRCOM5+0 x37; else IRCOM5=IRCOM5+0 x30; if(IRCOM69) IRCOM6=IRCOM6+0 x37; else IRCOM6=IRCOM6+0 x30;/* (顯示編碼之后,測試譯碼,將編碼轉(zhuǎn)變成功能鍵) */ if(IRCOM5=C & IRCOM6=0) /遙控器中的0按鍵的編碼是0 x0C,當接收的編碼是0 x0c時顯示1 c=1;b+;if(b=4)b=0; if(IRCOM6=5 & IRCOM5=E) c=3;b+;if(b=4)b=0; if(IRCOM6=0 & IRC

21、OM5=8) c=4;b+;if(b=4)b=0; if(IRCOM6=1 & IRCOM5=C) c=5;b+;if(b=4)b=0; if(IRCOM6=5 & IRCOM5=A) c=6;b+;if(b=4)b=0; if(IRCOM6=4 & IRCOM5=2) c=7;b+;if(b=4)b=0; if(IRCOM6=5 & IRCOM5=2) c=8;b+;if(b=4)b=0; if(IRCOM6=4 & IRCOM5=A) c=9;b+;if(b=4)b=0; if(IRCOM6=1 & IRCOM5=6) c=0;b+;if(b=4)b=0; / if(IRCOM6=0 &

22、IRCOM5=7) k1+;k2=0; if(IRCOM6=1 & IRCOM5=5) k2+;k1=0; if(IRCOM6=0 & IRCOM5=9) k2=0;k1=0; /* 測試譯碼end */ cdis210=IRCOM5; cdis29=IRCOM6; if(k10 & k2=0) if(b=1)t1=c;cdis229=c+0 x30; if(b=2)t2=c;cdis2210=c+0 x30; if(b=3)t3=c;cdis2212=c+0 x30;temp_h=t3+t2*10+t1*100;b=0; if(k20 & k1=0) if(b=1)t1=c;cdis329=

23、c+0 x30; if(b=2)t2=c;cdis3210=c+0 x30; if(b=3)t3=c;cdis3212=c+0 x30;temp_l=t3+t2*10+t1*100;b=0; EX0 = 1; /*/main() IRIN=1; /I/O口初始化 lcd_init(); /初始化LCD IE = 0 x81; /允許總中斷中斷,使能 INT0 外部中斷TCON = 0 x01; /觸發(fā)方式為脈沖負邊沿觸發(fā) while(1) /if(k10)b=0;lcd_wcmd(0 x01); /清除LCD的顯示內(nèi)容 cdis220=temp_h/100+0 x30; /顯示十位cdis22

24、1=temp_h/10%10+0 x30; /顯示個位cdis223=temp_h%10+0 x30; /顯示0.1cdis229=-;cdis2210=-;cdis2212=-; while(1) display(cdis21,cdis22);if(k1=0)break;warr(); if(k20)b=0;lcd_wcmd(0 x01); /清除LCD的顯示內(nèi)容cdis320=temp_l/100+0 x30; /顯示十位cdis321=temp_l/10%10+0 x30; /顯示個位cdis323=temp_l%10+0 x30; /顯示0.1cdis329=-;cdis3210=-;

25、cdis3212=-; while(1) display(cdis31,cdis32);if(k2=0)break;warr(); if(k2=0 & k1=0)lcd_wcmd(0 x01); /清除LCD的顯示內(nèi)容while(1)temp=ReadTemperature(); /讀溫度cdis19=temp%1000/100+0 x30; /顯示十位cdis110=temp%100/10+0 x30; /顯示個位cdis112=temp%10+0 x30; /顯示0.1display(cdis1,cdis2);if(k2!=0 | k1!=0)break;warr(); /end main

26、#include 18b20.h#define uchar unsigned char #define uint unsigned intsbit DATA = P14; /DS18B20接入口/*延時子函數(shù)*/void Ddelay(uint num)while(num-) ;/*/*DS18b20設(shè)置*/Init_DS18B20() /傳感器初始化 uchar x=0; DATA = 1; /DQ復(fù)位 Ddelay(10); /稍做延時 DATA = 0; /單片機將DQ拉低 Ddelay(80); /精確延時 大于 480us /450 DATA = 1; /拉高總線 Ddelay(20

27、); x=DATA; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 Ddelay(30);/讀一個字節(jié)ReadOneChar()uchar i=0;uchar dat = 0;for (i=8;i0;i-) DATA = 0; / 給脈沖信號 dat=1; DATA = 1; / 給脈沖信號 if(DATA) dat|=0 x80; Ddelay(8); return(dat);/寫一個字節(jié)WriteOneChar(unsigned char dat) uchar i=0; for (i=8; i0; i-) DATA = 0; DATA = dat&0 x01; Ddelay(1

28、0); DATA = 1; dat=1; Ddelay(8);/讀取溫度int ReadTemperature()uchar a=0;uchar b=0;int t=0;float tt=0;Init_DS18B20();WriteOneChar(0 xCC); / 跳過讀序號列號的操作WriteOneChar(0 x44); / 啟動溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0 xCC); /跳過讀序號列號的操作WriteOneChar(0 xBE); /讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度a=ReadOneChar();/低位b=ReadOneChar(

29、);/高位t=b;t=8;t=t|a;t=t*0.625; return(t);/*/13.2 超聲波測距 隨著我國經(jīng)濟與社會的發(fā)展,交通安全日益成為人們不能忽視的問題。由于人口的大幅增長,機動車輛的大量增加,使得路況越來越復(fù)雜,車輛和行人所面臨的危機也越來越大。根據(jù)中國汽車協(xié)會發(fā)布的數(shù)據(jù),隨著中國經(jīng)濟的高速發(fā)展和居民生活水平的不斷提高,居民擁有汽車的數(shù)量已經(jīng)有爆炸性上漲的趨勢。隨著汽車保有量的迅速增加以及城市市區(qū)的密集化, 目前公路上、停車場上的汽車越來越多, 交通也越來越擁擠,使得出現(xiàn)越來越多的交通事故,嚴重威脅著人民群眾的生命和財產(chǎn)安全。 由于道路空間的有限性,駕車穿行、拐彎、倒車等總次

30、數(shù)不斷增長,但是汽車駕駛員視野又是非常有限,故而碰撞和拖掛的事故時有發(fā)生,夜間因為視野的原因,使得撞車事故更為頻發(fā)。因此汽車迫切的需要一種能夠?qū)崟r測距,并且能夠給駕駛員提供警示的器件,汽車防撞報警器的研究有著很重要的現(xiàn)實意義和應(yīng)用價值。如何利用現(xiàn)代高科技,開發(fā)出一種可用于汽車上的防撞報警器,具有很重要的現(xiàn)實意義。這種報警系統(tǒng)應(yīng)該能夠?qū)崟r的測量車輛之間的距離,并且將所測得的數(shù)據(jù)顯示在表盤上,以便于駕駛員根據(jù)路況進行判斷。而且一旦車輛之間的距離超過了警戒距離,報警器應(yīng)該立即采取警示措施,即采取蜂鳴器響,LED燈亮的形式對駕駛員發(fā)送警告敦促駕駛員立即采取應(yīng)變措施,能夠有效的解除駕駛員停車和起動車輛時

31、前后左右探視所引起的困擾,并幫助駕駛員克服視野不足以及操縱困難的矛盾,大大的提高了行車出行安全性。該系統(tǒng)的硬件部分主要有單片機模塊,超聲波測距模塊,1602顯示模塊和報警模塊。軟件部分利用C語言編程,嚴格定義了單片機和各部分電路的接口。并且將軟件分成幾個模塊編寫,極大的降低了難度和減少了時間。主要有超聲波發(fā)射程序,距離計算程序,1602顯示程序等,通過主程序來分別調(diào)用以完成測距和報警的目標。通過對報警系統(tǒng)的研究設(shè)計,進一步熟悉單片機系統(tǒng)的原理和應(yīng)用,對C語言程序開發(fā)流程有更透徹的理解,并且在將程序與報警器硬件結(jié)合起來的過程中,強化了動手能力,強化了理論結(jié)合實際的能力,培養(yǎng)了獨立思考和獨立解決問

32、題的能力。13.2.1 系統(tǒng)設(shè)計與分析 1. 超聲波的測距原理 超聲波是人耳聽不到的一種聲波,是一種頻率高于20KHz的聲波。通常頻率高于20KHz的超聲波不僅波長短、方向性好、能夠成射線定向傳播、縱向分辨率比較高、對色彩和光照度不敏感、對外界光線和電磁場不敏感,碰到界面就會有顯著反射,而且能在有灰塵、煙霧、有毒等各種環(huán)境中穩(wěn)定工作。它方向性好,穿透能力強,易于獲得較集中的聲能在水中傳播距離遠,可用于測距,測速,清洗,焊接,碎石、殺菌消毒等。在醫(yī)學(xué)、軍事、工業(yè)、農(nóng)業(yè)上有很多的應(yīng)用。 因此在本設(shè)計中采用超聲波發(fā)射器來實現(xiàn)測距的功能,經(jīng)綜合比較,基于超聲波的汽車防撞報警系統(tǒng)的設(shè)計中,采用的是超聲波

33、頻率為40KHz的超聲波傳感器。 2. 超聲波發(fā)射器及其原理 超聲波發(fā)射器一般可以分為兩大類:一 類是用電氣方式產(chǎn)生超聲波,一類是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。超聲波傳感器是利用超聲波的特性研制出的傳感器,它必須能夠發(fā)射超聲波和接收超聲波。具備這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲波換能器,或者超聲探頭。超聲波傳感器主要制造材料有壓電晶體及鎳鐵鋁合金兩類。這這類傳感器適用于測距、遙控、防盜等用途。超聲波應(yīng)用有三種基本類型,透射型-用于遙控器,防盜

34、報警器、自動門、接近開關(guān)等;分離式反射型-用于測距、液位或料位;反射型-用于材料探傷、測厚等。這里主要應(yīng)用了超聲波的測距功能,通過超聲波來計算障礙物與小車之間的距離。 目前較為常用的是壓電式超聲波發(fā)生器。 壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如下圖13-10所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其產(chǎn)生的頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波 時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。超聲波實物正面圖以及

35、發(fā)射器原理圖如圖13-10所示。圖13-10 超聲波實物正面圖以及發(fā)射器原理圖3. 聲波測距算法設(shè)計 聲波測距算法原理如圖13-11所示。圖13-11 聲波測距算法原理 通過超聲波發(fā)射裝置發(fā)出超聲波,根據(jù)接收器接到超聲波時的時間差就可以知道距離了。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。(超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2)在實際使用中,超聲波的聲速會受到溫度的影響,因此常常需要使用溫度補償模塊,通過

36、溫度傳感器測得外界的溫度,再根據(jù)溫度求得對應(yīng)的聲速值。在實際的運算中,要采用溫度補償后的溫度值。 但是,在對測量精度要求不高的情況下,溫度補償模塊可以忽略,聲速確定后,只要測得超聲波往返的時間,可以根據(jù)公式計算出距離,這就是超聲波測距的原理。超聲波測距原理圖如圖13-12所示。 圖13-12 超聲波測距原理圖4. 模塊設(shè)計與原理系統(tǒng)設(shè)計原理框圖如圖13-13所示。圖13-13 系統(tǒng)設(shè)計原理框圖 全部模塊都由STC89C52單片機控制整合,單片機在此處相當于一個微型計算機的功能,通過輸入和輸出的端口與傳感器和顯示器等外部端口交換信息,從而控制內(nèi)部的操作能夠按照流程實現(xiàn)功能。 在C語言軟件設(shè)計上,

37、首先啟動超聲波發(fā)生模塊,定義超聲波發(fā)生接口為TX,然后驅(qū)動器推動探頭產(chǎn)生超聲波。發(fā)射的超聲波在空氣中傳播,當遇到障礙物的時候發(fā)生反射回來,被超聲波的接受探頭所感知,在C語言設(shè)計程序中用RX表示超聲波接收端。當接受到超聲波反射信號時候,RX=1,此時定時器中斷,根據(jù)時間計算公式求出時間,再根據(jù)距離計算模塊算出距離大小。當障礙物的距離沒有超出測量范圍時,所測數(shù)據(jù)可以通過經(jīng)C語言顯示程序控制顯示在LCD屏幕上,并通過判定程序程序(用if、else來實現(xiàn))決定是否LED亮,蜂鳴器響,從而成功的實現(xiàn)防撞報警的功能。由系統(tǒng)軟件控制把距離數(shù)據(jù)送到顯示器進行顯示。測試系統(tǒng)功能流程如下三個步驟:1) 當距離在一

38、個可測距離4cm到50cm時,LCD1602顯示距離,顯示橙色燈。如圖13-14所示。圖13-14 可測距離4cm到50cm 2)我們模擬若距離小于預(yù)先設(shè)置的4cm時,進行聲光報警。如圖13-15所示。 圖13-15 距離小于預(yù)先設(shè)置的4cm 3)當距離大于50cm時,LCD顯示Satay,并且閃綠燈。如圖13-16所示。 圖13-16 距離大于50cm5. 超聲波發(fā)射部分的設(shè)計 本系統(tǒng)主要由單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分組成。采用STC89C52來實現(xiàn)對CX20106A紅外接收芯片的控制,單片機通過P2.3.引腳經(jīng)反相器來控制超聲波的發(fā)送。 測距系統(tǒng)中的超聲波

39、傳感器采用的是陶瓷傳感器,它的工作電壓是40kHz的脈沖信號。超聲波發(fā)射器包括超聲波反射電路與超聲波發(fā)射控制電路兩個部分,超聲波探頭的型號為CSB40T。超聲波接收端口設(shè)置為P2.4,當接收到超聲波返回信號時,RX置1從而中斷計數(shù)器。 通過輸出引腳輸入到驅(qū)動器,經(jīng)過驅(qū)動器驅(qū)動探頭后可以產(chǎn)生超聲波,這種方法方便快捷能夠極大的節(jié)省時間。輸出端采用兩個反向器并聯(lián),用以提高驅(qū)動能力。上拉電阻 R10、R20一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩的時間。 6. 超聲波接收電路的設(shè)計 超聲波接收器的設(shè)計,大致分為三個部分,分別是超聲波接

40、受探頭、信號放大電路和波形變換電路三個部分,按照測距的原理,單片機需要的只是第一個回波的時刻,接收電路的設(shè)計可以采用通用電路才實現(xiàn)。因為超聲波模塊電路設(shè)計的成熟,超聲波的接收電路可以采用現(xiàn)成的電路模塊來節(jié)約時間和提高效率。目前較為通用的是采用CX20106A的集成電路,集成電路可以有效的節(jié)省空間,并且實踐證明這種集成電路是目前較為成熟和可靠地設(shè)計。13.2.2 系統(tǒng)硬件的設(shè)計 系統(tǒng)的硬件部分的設(shè)計主要包括單片機系統(tǒng),以及1602液晶顯示器分和超聲波接收器、超聲波發(fā)射器三個部分組成。單片機采用STC89C52系列。采用12MHZ高精度的晶振,從而獲得精確的時鐘頻率,有效的減少測量誤差。C語言程序

41、控制啟動模塊,產(chǎn)生超聲波,由P2.3端口輸出,超聲波接收電路的輸入返回信號對外中斷進行控制。P2.4端口用來接收超聲波,P0端口用來向LCM傳輸數(shù)據(jù),可以用C語言定義為 LCD_Data,P3.0和P1口分別連接蜂鳴器和LCD報警電路。顯示電路采用較為簡便的1602液晶顯示器,1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個字符。1062的RS、RW、E口分別與單片機的P2.5、P2.6、P2.7連接。系統(tǒng)電路圖如圖13-17所示。圖13-17 系統(tǒng)電路圖1. 單片機選擇與說明 單片機種類很多,本系統(tǒng)采用的是STC89C52單片,及其相同系列的芯片皆可。根據(jù)本系統(tǒng)需要實現(xiàn)的功能,按

42、照節(jié)約成本和節(jié)約開發(fā)時間的原則,選擇功耗低、性能高的STC89C52單片機。 2. 各模塊電路的設(shè)計 該系統(tǒng)的硬件部分由STC89C52單片機主控,包含USB電源模塊,復(fù)位電路模塊,LCD顯示電路模塊,聲光報警模塊。單片機采用STC89C52或其兼容系列,采用12MHz高精度的晶振,以獲得較穩(wěn)定的時鐘頻率,減小測量誤差。單片機使用P2.3端口輸出超聲波,使用P2.4接收超聲波,系統(tǒng)由USB提供全部電源,再由晶振發(fā)出信號整個系統(tǒng)開始工作,此時單片機由程序控制對超聲波發(fā)射器發(fā)出信號,然后由超聲波接收器接收到的信號傳入單片機進行處理。USB電源供電電路如圖13-18所示。圖13-18 USB電源供電

43、電路此電源模塊為整個系統(tǒng)提供一個比較穩(wěn)定的供電來源,是系統(tǒng)能夠順利的運行實現(xiàn)其功能,此USB提供的是510%的直流電源。圖13-19 蜂鳴器報警電路蜂鳴器報警電路圖如圖13-19所示。 LCD顯示電路圖如圖13-20所示。 圖13-20 LCD顯示電路 圖13-20采用的是1602LCD顯示器,此顯示模塊比LED顯示模塊更加豐富,顯示內(nèi)容更加完善,使顯示的數(shù)據(jù)讓人一目了然,增加倒車防撞系統(tǒng)的直觀的數(shù)據(jù)顯示效果。所謂1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個字符。 超聲波測距報警器仿真電路圖如圖13-21所示。圖13-21 超聲波測距報警器仿真電路 本章介紹了STC89C52單

44、片機系列的引腳和其對應(yīng)的功能,并且給出了單片機的接口和各部分的電路連接情況。在C語言程序中,可以通過#define來定義單片機與各個模塊的接口。超聲波測距模塊選擇了超聲波傳感器作為測距的工具,并且給出了各部分的電路連接圖,使得每部分的結(jié)構(gòu)與功能一目了然。從而奠定了倒車防撞系統(tǒng)的硬件基礎(chǔ),下一章將詳細的介紹單片機的C語言源程序設(shè)計。13.2.3 系統(tǒng)軟件部分的設(shè)計 1. 軟件部分設(shè)計分析 在汽車倒車防撞系統(tǒng)的設(shè)計中,我采用了C語言來進行編程。首先利用C語言的宏定義#define語句來定義各個管腳的連接,將每個管腳表示成為便于理解的字符,在程序中可以直接對字符進行賦值,以實現(xiàn)對單片機輸出端口的控制

45、。 根據(jù)各個部分功能的不同,可以將整個過程劃分為若干個模塊。每個模塊都是實現(xiàn)一定功能并且相互獨立的程序段,這種方法叫做模塊程序設(shè)計法,利用模塊的辦法設(shè)計倒車報警系統(tǒng),能夠簡化開發(fā)流程,并且使邏輯過程更加一目了然。對于特定的模塊,可以直接將已經(jīng)發(fā)展的很完善的模塊程序加以使用,不用再對于各個部分重新設(shè)計。例如對超聲波發(fā)射啟動模塊的設(shè)計,對LCM讀寫數(shù)據(jù)和指令控制的模塊設(shè)計等等。 超聲波測距報警器的C語言程序主要有以下幾個部分(模塊)組成,第一個部分是主程序部分,即是通過C語言的主函數(shù)來實現(xiàn),主程序部分統(tǒng)領(lǐng)各個部分的分工與合作,調(diào)用各個模塊以實現(xiàn)測距和報警的功能;第二個部分是超聲波發(fā)生程序,第三個部

46、分是超聲波接收程序,第四個部分是距離計算子程序。 2. 主程序設(shè)計 圖13-22 主程序 設(shè)計流程圖 主程序的實現(xiàn)步驟如下: 1) 主程序首先對系統(tǒng)環(huán)境進行初始化,設(shè)置定時器T0的工作模式, 2) 調(diào)用超聲波發(fā)送子程序發(fā)出超聲波脈沖,同時計數(shù)器開始計時。 3) 當接受到返回超聲波信號時,將計數(shù)器T0中斷,讀取計數(shù)時間。 4) 根據(jù)讀取時間和Count計算距離子程序來計算障礙物距離并顯示。 5) 根據(jù)障礙物距離判斷是否報警,利用if、else語句實現(xiàn)。主程序清單如下:/*/void main(void) speak=0; P1=0 xff; Delay400Ms(); /啟動等待,等LCD進入工

47、作狀態(tài) LCDInit(); /LCD初始化 Delay400Ms(); DisplayListChar(0, 0, uctech);/顯示第0行 DisplayListChar(0, 1, net); /顯示第1行 ReadDataLCD(); /測試用句無意義 Delay400Ms(); DisplayListChar(0, 1, Cls); while(1) key1(); key2(); key3(); xianshi(); 3. 超聲波發(fā)射子程序 P1.3與超聲波的發(fā)射端連接,通過單片機產(chǎn)生脈沖信號經(jīng)過發(fā)射端驅(qū)動電路,使超聲波探頭產(chǎn)生超聲波。在C語言中可以將超聲波發(fā)射定義為Start

48、Module的函數(shù),設(shè)定TX=1,即將1值賦給TX端口時,模塊啟動一次,隨后利用延時函數(shù)nop構(gòu)成完整的啟動模塊子程序。超聲波發(fā)射程序程序清單如下:/*/void StartModule() /啟動模塊 TX=1; /啟動一次模塊大約10us的方波 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop

49、_(); _nop_(); TX=0; 4. 超聲波接收子程序P1.4端口與超聲波接收端相連,用#define定義為RX,在軟件程序的設(shè)計中,需要利用P1.4作為接收端來控制定時器的開啟與關(guān)斷,從而能夠得出超聲波在空氣中傳播的時間。對于定時器的開啟與關(guān)斷,可以通過while語句來實現(xiàn),通過while語句能夠很好的將RX的狀態(tài)與定時器的狀態(tài)聯(lián)系起來,用while語句表示,當RX的值為0時,TR0=1,即是開啟計時器計數(shù)。當超聲波返回被接收模塊所接收的時候,TR1=0,此時計數(shù)器關(guān)斷,則可以根據(jù)計數(shù)器的時間差來求得超聲波在空氣中傳播的時間。超聲波接收端RX用來啟動和關(guān)斷定時器,部分程序如下: wh

50、ile(!RX); /當RX為零時等待 TR0=1; /開啟計數(shù) while(RX);/當RX為1計數(shù)并等待 TR0=0;/關(guān)閉計數(shù) Conut();/計算 delayms(20);/80MS 5. 距離計算子程序 啟動發(fā)射電路的時候同時啟動單片機內(nèi)部定時器T0,利用定時器的計數(shù)功能記錄超聲波的發(fā)射時間和反射波的接收時間。當收到超聲波反射時,利用while語句中斷計時器計數(shù),時間根據(jù)T0計時器的高位TH0和低位TL0的讀數(shù)來計算,time=TH0*256+TL0;求出時間之后,再根據(jù)時間計算障礙物的距離,S=(time*1.7)/100; 因為分母是100,所以求出來的結(jié)果單位是厘米。/*/v

51、oid Conut(void)/計算距離 time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.72)/100; 6. 報警判斷子程序若距離在一個可測距離4cm到50cm時,LCD1602顯示距離,顯示橙色燈。若距離小于預(yù)先設(shè)置的4cm時,LCD顯示Danger,進行聲光報警。當距離大于50cm時,LCD顯示Satety,并且閃綠燈。 部分源程序如下: if(SLarge) /超出測量范圍顯示Satety flag=0; speak=1; P1=0 xf3; delayms(10); speak=0; P1=0 xff; DisplayOneChar(10, 1,

52、 S); DisplayOneChar(11, 1,a); DisplayOneChar(12, 1, t); DisplayOneChar(13, 1, e); DisplayOneChar(14, 1, t); DisplayOneChar(15, 1, y); if(S=Small&S=Large)/檢測距離 speak=0; P1=0 x3f; disbuff0=(long)S%1000/100; disbuff1=(long)S%1000%100/10; disbuff2=(long)S%1000%100%10; disbuff3= (long)(S-(long)S)*10)%10;

53、 DisplayOneChar(9, 1, ASCIIdisbuff0); DisplayOneChar(10, 1, ASCIIdisbuff1); DisplayOneChar(11, 1,ASCIIdisbuff2 ); DisplayOneChar(12, 1,ASCII10 ); DisplayOneChar(13, 1,ASCIIdisbuff3 ); DisplayOneChar(14, 1, ASCII13); DisplayOneChar(15, 1, ASCII12); 7. LCM的部分程序 在汽車防撞報警器的設(shè)計中,采用P0端口與LCD數(shù)據(jù)輸入相連,并且并聯(lián)一個排阻,以

54、提高電路的安全性和可靠性。在軟件設(shè)計中,首先利用#define宏定義將P0端口定義為 LCM_Data,即使LCD模塊數(shù)據(jù)輸入端口的意思。然后再通過賦值給 LCM_Data以達到對P0端口的控制。在P2端口的電路連接中,P2.5連接LCD的信號控制線RS,P2.6連接信號的控制線RW,P2.7與信號控制線E口相連。在軟件設(shè)計中,首先利用#define語句定義好接口,將P2.5定義為RS,P2.6定義為RW,將P2.7定義為E,便于直接在C程序中直接操作RS/RW/E接口,以分別實現(xiàn)對LCD信號控制線的控制。要實現(xiàn)讀/寫數(shù)據(jù),讀/寫指令,可以根據(jù)對RS/RW/E的賦值來實現(xiàn)對LCD寄存器的選擇。

55、例如寫數(shù)據(jù)的子函數(shù)程序如下:/寫數(shù)據(jù)void WriteDataLCD(unsigned char WDLCD) ReadStatusLCD(); /檢測忙 LCD_Data = WDLCD; LCD_RS = 1; LCD_RW = 0; LCD_E = 0; /若晶振速度太高可以在這后加小的延時 LCD_E = 0; /延時 Delay5Ms(); /不加延時通不過PROTEUS仿真 LCD_E = 1; 8. 實物的測試 經(jīng)過Keil軟件對程序進行編譯和連接之后,生成拓展名為.HEX的文件,將STC89C52單片機插入編程器插座內(nèi),通過編程器將程序燒寫到單片機內(nèi)。然后接通USB電源,打開

56、開關(guān)按鈕,LCD屏幕上顯示的是我和合作人的名字簡寫,下面一行顯示的是“Supersonic”。 在進行測試的過程中,當障礙物接近4厘米以內(nèi)的時候,系統(tǒng)的蜂鳴器開始響,LED燈也同時亮。說明能夠正常運行和實現(xiàn)功能,在一定程度上起到了防撞報警的作用。反復(fù)進行測試實驗,發(fā)現(xiàn)了該報警器仍然存在一些問題,所測距離并不十分精確。分析其原因應(yīng)該是:第一,該報警器沒有溫度補償模塊,直接采用常溫下的聲速作為運算數(shù)據(jù),忽略了溫度對超聲波傳播速度的影響。第二,該報警器的超聲波測距模塊只有一個超聲波發(fā)射探頭,超聲波的反射很容易受到物體的形狀和位置的干擾。第三,單片機的傳輸過程和計算過程也會占用一定的時間,并且產(chǎn)生一定

57、的誤差,導(dǎo)致接收時間不夠精準,運算結(jié)果也不夠精確。測量實際效果圖如圖13-23所示。 圖13-23 測量實際效果圖13.2.4 制作總結(jié) 我剛選這個課程設(shè)計的時候,心里對超聲波測距充滿著好奇,之前也看 過有其他人做過這些模塊,但我自己并沒有真正地去做過成品,帶著好奇的心里我選擇了超聲波測距儀這個課程設(shè)計,也開始了我的兩周的課程設(shè)計生活。 剛開始的時候我想了許多的方案,也查找了許多資料。進過一系列的談?wù)摵屠蠋煹闹笇?dǎo)下,最終確立了方案。方案出來我,我就著手準備元件的選擇和購買,超聲波模塊是一個很重要的元件,我查詢了許多型號,發(fā)現(xiàn)HC-SR04這個型號的模塊相對其他的有一定的優(yōu)勢,結(jié)合以前我自己做過

58、的模塊我就首先做了一些仿真,并且最終把實物做了出來,實現(xiàn)了初步的功能,但并不完善。 在調(diào)試過程中,我發(fā)現(xiàn)顯示有一定的誤差,分析可能是精度取值不夠精確,經(jīng)過一系列的分析后,我設(shè)定了一個取精度程序,是算法更加完善。 13.2.5 元件表13.2.6 C語言源程序#include #include #includesbit LCD_RS=P25; /RS寄存器選擇;高電平選數(shù)據(jù);低電平選指令;sbit LCD_RW=P26; /讀寫信號線;高電平讀操作;低電平寫操作;sbit LCD_E=P27; /E使能端sbit RX=P24;sbit TX=P23;sbit speak=P30;sbit KE

59、Y1=P20;sbit KEY2=P21;sbit quding=P22;#define LCD_Data P0 /液晶數(shù)據(jù)D7-D0#define Busy 0 x80 /用于檢測LCD狀態(tài)字中的Busy標識 unsigned int time=0,c=0,n;float Small=4.0,Large=50.0;/設(shè)定最小距離和最大距離double S=0;bit flag =0;unsigned long disbuff4;void WriteDataLCD(unsigned char WDLCD);/寫數(shù)據(jù)void WriteCommandLCD(unsigned char WCLCD

60、,BuysC);/寫指令unsigned char ReadDataLCD(void);/讀數(shù)據(jù)unsigned char ReadStatusLCD(void);/讀狀態(tài)void LCDInit(void);/LCD初始化void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);/顯示一個字符void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);/顯示一串字符void Conut(void);

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論