




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、智能儀表設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì) 課題名稱 電子導(dǎo)盲杖 學(xué)生學(xué)號(hào) 學(xué)生姓名 所在班級(jí) 指導(dǎo)教師 二一二年九月目 錄1.功能要求及性能指標(biāo)1.1 課程設(shè)計(jì)的目的和設(shè)計(jì)任務(wù)(1)1.2 課程設(shè)計(jì)的要求和技術(shù)指標(biāo)(1)2.方案設(shè)計(jì)2.1 硬件方案(2) 2.1.1 測(cè)距模塊方案選擇(2) 2.1.2 語(yǔ)音模塊方案選擇 (3) 2.1.3 顯示模塊方案選擇 (4) 2.1.4 震動(dòng)模塊方案選擇(4)2.2 軟件方案 (4)3.硬件設(shè)計(jì) 3.1 STC89C52單片機(jī)介紹 (6) 3.1.1 引腳分布及定義(6) 3.1.2 定時(shí)器 (8) 3.2 HC-SR04超聲波模塊介紹 (8) 3.2.1 模塊實(shí)物圖及
2、說(shuō)明 (9) 3.2.2 測(cè)距電路設(shè)計(jì) (9) 3.2.3 測(cè)距程序設(shè)計(jì) (11)3.3 ISD1420語(yǔ)音芯片介紹 (12) 3.3.1 芯片引腳圖及功能說(shuō)明 (12) 3.3.2 語(yǔ)音錄放電路的設(shè)計(jì) (13) 3.3.3 語(yǔ)音程序設(shè)計(jì) (14) 3.4 震動(dòng)模塊及LED燈的控制 (15) 3.5 總原理圖 (16) 3.6 儀器儀表清單 (18)4.軟件設(shè)計(jì) 4.1 程序程序設(shè)計(jì) (18) 4.2 程序調(diào)試結(jié)果 (22)5.設(shè)計(jì)小結(jié) (23)參考文獻(xiàn)附錄一:課程設(shè)計(jì)任務(wù)書附錄二:軟件程序清單1. 功能要求及性能指標(biāo)1.1 課程設(shè)計(jì)的目的和設(shè)計(jì)任務(wù)世界上視覺(jué)障礙者數(shù)量眾多,他們只能用百分之六
3、十的感覺(jué)來(lái)獲取信息。盲人在獨(dú)自行走時(shí)主要依靠導(dǎo)盲裝置,最簡(jiǎn)單常用的導(dǎo)盲裝置是普通的拐杖,用它在地面上敲擊,可幫助盲人發(fā)現(xiàn)0.5米以內(nèi)的障礙物。它的主要缺點(diǎn)是不能發(fā)現(xiàn)較遠(yuǎn)一點(diǎn)的障礙物以及懸空的障礙物。隨著社會(huì)的發(fā)展,傳統(tǒng)的導(dǎo)盲杖已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足盲人的需要了。超聲波導(dǎo)盲杖是為視覺(jué)障礙者提供環(huán)境導(dǎo)引的輔助工具,它通過(guò)超聲波傳感器對(duì)周圍環(huán)境進(jìn)行探測(cè),將探測(cè)的信息反饋給視覺(jué)障礙者,幫助他們彌補(bǔ)視覺(jué)信息的缺失。1.2課程設(shè)計(jì)的要求和技術(shù)指標(biāo)設(shè)計(jì)要求:本作品由超聲波測(cè)距功能、前方障礙物語(yǔ)音警示功能、震動(dòng)警示功能、夜間警示路人功能。在盲人走路時(shí),如果前方1米處有障礙物,則盲杖自動(dòng)語(yǔ)音提示“前方一米處有障礙物,
4、請(qǐng)注意!”,如果前方1米處沒(méi)有障礙物,無(wú)提示音;如果前方2米處有障礙物,則盲杖自動(dòng)語(yǔ)音提示“前方二米處有障礙物,請(qǐng)注意!”,如果前方2米處沒(méi)有障礙物,無(wú)提示音;如果前方3米處有障礙物,則盲杖自動(dòng)語(yǔ)音提示“前方三米處有障礙物,請(qǐng)注意!”,如果前方3米處沒(méi)有障礙物,無(wú)提示音。手柄震動(dòng)警示功能,可以讓盲人在嘈雜的環(huán)境中通過(guò)手柄的震動(dòng)接收到前方障礙物信號(hào),彌補(bǔ)了語(yǔ)音提示在嘈雜環(huán)境中的弊端。夜間警示路人功能,在夜間遇到4米以內(nèi)障礙物時(shí),盲杖上的指示燈亮,可以警示前方路人注意盲人的位置,注意避讓盲人。盲杖具有使用方便,功耗低,實(shí)用性,是盲人出行外出的好助手。技術(shù)指標(biāo):超聲波測(cè)距模塊:可提供2cm-400c
5、m的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)3mm。ISD1420語(yǔ)音芯片:具有20秒高保真語(yǔ)音錄放功能,通過(guò)具有專利技術(shù)的模擬處理存儲(chǔ)方式,使錄放音質(zhì)極佳,沒(méi)有常見(jiàn)的的背景噪音,且電路斷電后語(yǔ)音內(nèi)容仍不丟失。2.方案設(shè)計(jì)2.1 硬件設(shè)計(jì)方案 電子導(dǎo)盲杖的總體框圖如下圖(圖1)所示,它由超聲波模塊、單片機(jī)、語(yǔ)音模塊、震動(dòng)模塊、警示模塊、校準(zhǔn)模塊 組成。STC89C52單片機(jī)HCSR04 超聲波模塊ISD1420語(yǔ)音模塊震動(dòng)模塊警示模塊校準(zhǔn)模塊圖1 硬件原理框圖2.1.1 測(cè)距模塊方案選擇 方案一:紅外測(cè)距利用紅外線測(cè)距,測(cè)距里程可達(dá)1-5公里。利用紅外線傳播時(shí)的不擴(kuò)散原理:因?yàn)榧t外線在穿越其他物質(zhì)時(shí)
6、折射率很小,所以長(zhǎng)距離測(cè)距會(huì)考慮紅外線,而紅外線的傳播是需要時(shí)間的,當(dāng)紅外線從測(cè)距儀發(fā)出,碰到反射物被反射回來(lái)被測(cè)距儀接受,在根據(jù)從發(fā)射到接受的時(shí)間及紅外線的傳播速度就可算出距離。 方案二: 激光測(cè)距 利用激光對(duì)目標(biāo)的距離進(jìn)行準(zhǔn)確測(cè)量,測(cè)程可達(dá)40公里。激光測(cè)距在工作時(shí)向目標(biāo)射出一束很細(xì)的激光,由光電元件接收目標(biāo)反射的激光束,計(jì)時(shí)器測(cè)定激光束從發(fā)射到接收的時(shí)間,計(jì)算出從觀測(cè)者到目標(biāo)的距離。 方案三: 超聲波測(cè)距 超聲波測(cè)距是根據(jù)超聲波遇到障礙物反射回來(lái)的特性進(jìn)行測(cè)量的,測(cè)控距離為2cm到4m。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物會(huì)立即返回來(lái)
7、,超聲波接收器收到反射波就立即中斷停止計(jì)時(shí)。通過(guò)不斷檢測(cè)產(chǎn)生波發(fā)射后遇到障礙物所發(fā)射的回波,從而測(cè)出發(fā)射超聲波和接收超聲波的時(shí)間差,然后根據(jù)超聲波的速度算出距障礙物的距離。 選擇方案三原因: 方案一的紅外線測(cè)距,在距離較短的情況下,從發(fā)射到接收的時(shí)間過(guò)短,用單片機(jī)很難計(jì)算出,因此紅外測(cè)距適合較長(zhǎng)距離的測(cè)量。方案二的激光測(cè)距,雖然測(cè)量精度較高,但是價(jià)格昂貴。因此,在精度要求不是很高的情況下,選擇價(jià)格便宜,適合短距離測(cè)量的超聲波測(cè)距模塊更為合適。 2.1.2 語(yǔ)音模塊選擇 方案一: ZLG1730語(yǔ)音芯片 ZLG1730語(yǔ)音芯片,內(nèi)部采用多層次存儲(chǔ)技術(shù),在單個(gè)芯片上提供了自然的,高質(zhì)量的錄放決方案
8、。輸入語(yǔ)音信號(hào)直接存儲(chǔ)在環(huán)形Flash存儲(chǔ)器中,且能重現(xiàn)自然的音質(zhì)。芯片帶有兩種操作模式:獨(dú)立按鍵模式,微控制器(SPI)模式。在獨(dú)立按鍵模式下,無(wú)需知道消息存儲(chǔ)在存儲(chǔ)器里的準(zhǔn)確位置就可以對(duì)消息進(jìn)行錄制、播放、擦除和快進(jìn)操作。在SPI模式下可以通過(guò)4條串行接線口來(lái)實(shí)現(xiàn)分段錄制和播放等操作,但需要另外購(gòu)買編程器。 方案二: ISD1820 語(yǔ)音芯片 ISD1820語(yǔ)音芯片是單片8-20秒的單段語(yǔ)音錄放電路,基本結(jié)構(gòu)與ISD1420完全相同,采用CMOS技術(shù),內(nèi)含振蕩器,話筒前置放大,自動(dòng)增益控制,防混淆濾波器,揚(yáng)聲器驅(qū)動(dòng)及FLASH陣列。放音模式有三種可選擇,其音質(zhì)比通常的話筒放大器要好很多,而
9、且不會(huì)出現(xiàn)喇叭過(guò)載的情況。整個(gè)電路耗電極低,幾乎為0。錄入的時(shí)間越短音質(zhì)越好,錄入的時(shí)間越長(zhǎng),音質(zhì)越差。 方案三: ISD1420 語(yǔ)音芯片 ISD1420錄放音質(zhì)極佳,沒(méi)有常見(jiàn)的的背景噪音,且電路斷電后語(yǔ)音內(nèi)容仍不丟失。通過(guò)A0-A7地址端選擇不同地址進(jìn)行錄音,每位地址代表125毫秒的尋址,160個(gè)地址覆蓋20秒的語(yǔ)音范圍,只需要將錄制的時(shí)間大致計(jì)算出來(lái),除以125,就可以準(zhǔn)確知道每段錄音的播放首地址。在接入單片機(jī)控制后,只需要將對(duì)應(yīng)地址賦值,就可以播放不同段的語(yǔ)音信息。錄音及放音功能均從設(shè)定的起始地址開(kāi)始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM);而放音
10、時(shí)芯片遇到EOM標(biāo)志即自動(dòng)停止放音。 選擇方案三原因: 方案一的ZLG1730模塊,雖然可以通過(guò)軟件分段錄放音,但是需另外購(gòu)買下載編程器,價(jià)格和其他兩種方案比,較昂貴。方案二的ISD1820模塊只能進(jìn)行單段語(yǔ)音的錄放,不能實(shí)現(xiàn)要求的分段播放功能,因此不宜選擇。方案三的ISD1420模塊就在同等條件下較合適,能直接用單片機(jī)控制分段播放,價(jià)格便宜實(shí)惠。綜合考慮,選擇方案三。 2.1.3 顯示模塊方案選擇 方案一:ZLG7290數(shù)碼管顯示 ZLG7290數(shù)碼管,內(nèi)部有顯示RAM,能自動(dòng)將顯示RAM中的內(nèi)容動(dòng)態(tài)顯示在相應(yīng)的數(shù)碼管上。內(nèi)部有I2C串行接口,方便與處理器相接。可驅(qū)動(dòng)8位共陰數(shù)碼管或64只獨(dú)
11、立LED和64個(gè)按鍵。它的掃描位數(shù)可控,任一數(shù)碼管閃爍可控,無(wú)需外接元件即可直接驅(qū)動(dòng)LED。 方案二:1602液晶屏顯示 1602液晶模塊采用標(biāo)準(zhǔn)的16腳接口。它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。 選擇方案一原因: 電子導(dǎo)盲杖中不需要用到專門的顯示部分,而加入顯示只是為了在測(cè)距的時(shí)候能夠知道測(cè)量的距離是否準(zhǔn)確,或者校正時(shí)使用。因此,若選擇方案二有點(diǎn)
12、浪費(fèi)單片機(jī)的IO口。從經(jīng)濟(jì)角度考慮,實(shí)驗(yàn)室有集成的ZLG7290模塊,而沒(méi)有1602液晶屏,另外購(gòu)買會(huì)造成浪費(fèi)。綜合考慮,選擇方案一。 2.1.4 震動(dòng)模塊的選擇 方案一:直流電機(jī)加偏振塊 震動(dòng)是在電機(jī)轉(zhuǎn)動(dòng)時(shí)由于偏振塊的作用而產(chǎn)生的。直流電機(jī)的應(yīng)用廣泛,可直接加上電壓而不會(huì)燒壞,但對(duì)電流要求較高,價(jià)格便宜,方便購(gòu)買。 方案二: 偏振電機(jī) 偏振電機(jī)在手機(jī)等眾多領(lǐng)域有廣泛應(yīng)用,可直接加很小的電壓就可以驅(qū)動(dòng),所需電流相對(duì)較小。 選擇方案二原因: 方案一中雖然直流電機(jī)購(gòu)買方便,但是偏振塊卻難以實(shí)現(xiàn),市場(chǎng)上也沒(méi)有單獨(dú)的偏振塊購(gòu)買,從網(wǎng)上訂貨不方便。而且直流電機(jī)雖然震感強(qiáng)烈,但所需電流一般單片機(jī)難以直接提
13、供。方案二的偏振電機(jī)市場(chǎng)上也幾乎沒(méi)有,但可以直接從手機(jī)等廢棄的電子產(chǎn)品上拆下,只需要很小的電流電壓就可以驅(qū)動(dòng),無(wú)需另外增加驅(qū)動(dòng)電路。綜合考慮,選擇方案二。2.2軟件設(shè)計(jì)方案 本課程設(shè)計(jì)的軟件設(shè)計(jì)部分主要采用C語(yǔ)言編程,簡(jiǎn)單易懂。分別對(duì)每個(gè)模塊獨(dú)立編程,再將所有整合,即可實(shí)現(xiàn)需要的功能。主程序中,先將各個(gè)模塊初始化,定義變量及賦初值。給超聲波一個(gè)脈沖觸發(fā)它開(kāi)始工作,然后開(kāi)始計(jì)時(shí),在收到回波信號(hào)后,立即停止計(jì)數(shù)。此計(jì)數(shù)值就是從發(fā)射到接收的時(shí)間,乘以超聲波此時(shí)的速度,就可以算出障礙物距超聲波的大致距離,可以將此距離直接顯示。根據(jù)距離的不同,發(fā)出不同的語(yǔ)音提示和震動(dòng)。下圖(圖2)為軟件設(shè)計(jì)框圖:圖2
14、軟件流程圖3.硬件設(shè)計(jì)3.1 STC89C52單片機(jī)介紹 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下
15、,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。 3.1.1 引腳分布及定義圖3 STC89C52RC引腳圖STC89C52RC引腳分布如圖三所示,引腳功能說(shuō)明如下:VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0P0.7,3932引腳):P0口是一個(gè)漏極開(kāi)路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8
16、位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在Flash ROM編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。P1端口(P1.0P1.7,18引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流。P2端口(P2.0P2.7,2128引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)
17、4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。P3端口(P3.0P3.7,1017引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示:表1 P3口引腳復(fù)用功能引腳號(hào)復(fù)用功能P3.0RXD(串行輸入口)
18、P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0的外部輸入)P3.5T1(定時(shí)器1的外部輸入)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/(30引腳):地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在Flash編程時(shí),此引腳
19、()也用作編程輸入脈沖。(29引腳):外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C51RC從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。/VPP(31引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏VPP電壓。XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。 3.1.2 定時(shí)器 STC89C
20、52RC除了有定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1之外,還增加了一個(gè)一個(gè)定時(shí)器/計(jì)數(shù)器2.定時(shí)器/計(jì)數(shù)器2的控制和狀態(tài)位位于T2CON和T2MOD。 定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器。通過(guò)設(shè)置特殊功能寄存器T2CON中的C/T2位,可將其作為定時(shí)器或計(jì)數(shù)器。定時(shí)器2有3種操作模式:捕獲、自動(dòng)重新裝載(遞增或遞減計(jì)數(shù))和波特率發(fā)生器,這3種模式由T2CON中的位進(jìn)行選擇。表2 特殊功能寄存器T2CON的描述3.2 HC-SR04超聲波模塊介紹 采用 IO 觸發(fā)測(cè)距, 控制口發(fā)一個(gè)10US 以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開(kāi)定時(shí)器計(jì)時(shí),當(dāng)此口變?yōu)榈碗娖綍r(shí)就可以讀定時(shí)器的值,
21、此時(shí)就為此次測(cè)距的時(shí)間,方可算出距離。如此不斷的周期測(cè),就可以達(dá)到移動(dòng)測(cè)量了。 3.2.1 模塊實(shí)物圖及說(shuō)明 圖3 實(shí)物圖 接口定義: VCC:接+5V電源 GND:接地 Trig:接控制端 Echo:接接收端 3.2.2 測(cè)距電路設(shè)計(jì)圖4 超聲波測(cè)距電路圖通過(guò)單片機(jī)的P1.1口給超聲波模塊一個(gè)20us的高電平脈沖,觸發(fā)超聲波模塊,使之開(kāi)始工作,定時(shí)器開(kāi)始計(jì)數(shù),于此同時(shí),接收端開(kāi)始不斷檢測(cè)有無(wú)回波。一旦接收到有回波信號(hào),則P3.2口立即進(jìn)入中斷,停止定時(shí)器計(jì)數(shù),把計(jì)數(shù)值送入寄存器中計(jì)算當(dāng)前距離。公式:uS/58=厘米或者uS/148=英寸;或是:距離=高電平時(shí)間*聲速(340M/S)/2。測(cè)的
22、距離與實(shí)際距離比較,如下表(表3:表3 測(cè)距對(duì)比 圖5 測(cè)距對(duì)比圖6 測(cè)距對(duì)比折線圖 3.2.3 測(cè)距程序設(shè)計(jì)圖7 超聲波測(cè)距軟件流程圖 具體程序入下: Trig=0; /首先拉低脈沖輸入引腳 EA=1; /打開(kāi)總中斷0 TMOD=0x10; /定時(shí)器1,16位工作方式 while(1) EA=0; /關(guān)總中斷 Trig=1; /超聲波輸入端 delay_20us(); /延時(shí)20us Trig=0; /產(chǎn)生一個(gè)20us的脈沖 while(Echo=0); /等待Echo回波引腳變高電平 succeed_flag=0; /清測(cè)量成功標(biāo)志 EA=1; EX0=1; /打開(kāi)外部中斷0 TH1=0;
23、 /定時(shí)器1清零 TL1=0; /定時(shí)器1清零 TF1=0; /計(jì)數(shù)溢出標(biāo)志 TR1=1; /啟動(dòng)定時(shí)器1 delay(20); /等待測(cè)量的結(jié)果 TR1=0; /關(guān)閉定時(shí)器1 EX0=0; /關(guān)閉外部中斷0 if(succeed_flag=1) time=timeH*256+timeL; distance=time*0.0172; /厘米 if(succeed_flag=0) distance=0; /沒(méi)有回波則清零 display(distance); 3.3 ISD1420語(yǔ)音芯片介紹ISD1420是美國(guó)ISD公司出品的新型單片優(yōu)質(zhì)語(yǔ)音錄放電路,較之以往所有的語(yǔ)音電路,具有專利技術(shù)的模擬
24、處理存儲(chǔ)方式,使錄放音質(zhì)極佳,沒(méi)有常見(jiàn)的的背景噪音,且電路斷電后語(yǔ)音內(nèi)容仍不丟失。電路內(nèi)部由振蕩器、語(yǔ)音存儲(chǔ)單元、前置放大器、自動(dòng)增益控制電路、抗干擾濾波器、輸出放大器組成。一個(gè)最小的錄放系統(tǒng)僅由一個(gè)麥克風(fēng)、一個(gè)喇叭、兩個(gè)按鈕、一個(gè)電源、少數(shù)電阻電容組成。 3.3.1 芯片引腳圖及功能說(shuō)明右圖(圖8)為ISD1420語(yǔ)音芯片的引腳圖。其引腳功能為下表(表3)所示。其特性為:工作電壓:5V靜態(tài)電流:0.52A工作電流:1530mA重現(xiàn)優(yōu)質(zhì)原聲基本上不耗電信息存儲(chǔ)信息可保存100年,可反復(fù)錄放10萬(wàn)次選址處理多達(dá)160段信息維持狀態(tài),僅需0.5A電流,具有自動(dòng)節(jié)電模式 圖8 ISD1420引腳圖表
25、4 ISD1420引腳功能說(shuō)明名 稱管 腳功 能名 稱管 腳功 能A0A516地址Ana Out21模擬輸出A6、A79、10地址(MSB)Ana In20模擬輸入VCCD28數(shù)字電路電源AGC19自動(dòng)增益控制VCCA16模擬電路電源Mic17麥克風(fēng)輸入VSSD12數(shù)字地Mic Ref18麥克風(fēng)參考輸入VSSA13模擬地24放音,邊沿觸發(fā)SP、14、15喇叭輸出、27錄音XCLK26外接定時(shí)器(可選)25發(fā)光二極管接口NC11空腳23放音,電平觸發(fā) 3.3.2 語(yǔ)音錄放電路的設(shè)計(jì)語(yǔ)音錄音電路的電路設(shè)計(jì)如下圖(圖9)所示:圖9 語(yǔ)音錄音電路 通過(guò)地址端口的7個(gè)按鍵選擇分段錄音的地址。根據(jù)計(jì)算,一
26、段語(yǔ)音信息大概為4秒左右,分3段,首段地址分別為0x00,0x28,0x50。只要將對(duì)應(yīng)的八個(gè)按鍵根據(jù)這三個(gè)地址即可開(kāi)始錄制,錄音時(shí),按住REC鍵,此時(shí)LED燈常亮,表示在錄音狀態(tài)。按PLAYE即可播放當(dāng)前錄的語(yǔ)音信息,放完后遇到EOM標(biāo)志,LED閃一下,表示放音結(jié)束。 3.3.3 語(yǔ)音程序設(shè)計(jì) 功能說(shuō)明:語(yǔ)音提示當(dāng)超聲波探頭距離障礙物不同距離時(shí),播放不同時(shí)段的語(yǔ)音信息,同時(shí)加入震動(dòng),及LED燈提示等功能。框圖如下圖(圖10)所示:圖10 語(yǔ)音程序流程圖3.4 震動(dòng)模塊及LED燈的控制 震動(dòng)功能的實(shí)現(xiàn)主要是通過(guò)偏振電機(jī)來(lái)實(shí)現(xiàn)的,其電路圖如下圖(圖11)所示。圖11 震動(dòng)模塊電路P1.1口(圖中
27、為ZD)通過(guò)三極管放大后直接接在電機(jī)的一端,通過(guò)P1.1口輸出電平信號(hào)的高低來(lái)控制電機(jī)的工作狀態(tài)。LED燈的控制也是直接由P1口輸出的電平信號(hào)來(lái)控制,其電路圖如下圖(圖12)所示:圖12 LED燈的控制電路三個(gè)燈分別接在P1.2,P1.3,P1.4。當(dāng)這三個(gè)端口分別輸出低電平時(shí)燈亮。因此在程序中,只要在需要燈閃爍時(shí)將P1口置低電平即可。3.5 總原理圖圖13 總原理圖 將各個(gè)模塊的電路整合起來(lái),就可以得到整個(gè)原理圖了。3.6 儀器儀表清單表5 使用的元器件元件名稱數(shù)量STC89C52RC1個(gè)HC-SR041個(gè)ISD14201個(gè)偏振電機(jī)1個(gè)揚(yáng)聲器,麥克風(fēng)各一個(gè)12MHZ晶振1個(gè)按鍵3個(gè)LED 燈
28、4個(gè)NPN三極管1個(gè)串口1個(gè)MAX2321個(gè)8腳,28腳,40腳芯片底座各一個(gè)電阻若干電容若干ZLG單片機(jī)實(shí)驗(yàn)箱一臺(tái)杜邦線,排針,導(dǎo)線若干4.軟件設(shè)計(jì) 4.1 程序設(shè)計(jì)#include #include #include i2c.h#include zlg7290.h#include #define uchar unsigned char /定義一下方便使用#define uint unsigned int#define ulong unsigned longuint time;uint succeed_flag;uchar timeL;uchar timeH;sbit Trig=P10;sb
29、it Echo=P32;sbit PLAYE=P11;sbit LED1=P12;sbit LED2=P13;sbit ZD=P14;/*/延時(shí)子程序void Delay(unsigned int t) /延時(shí)(t*1)ms uint dt; for(;t0;t-) for(dt=0;dt1000;dt+);void delay_20us() /延時(shí)20us uchar a ; for(a=0;a100;a+); /*/*函數(shù):SystemInit()功能:系統(tǒng)初始化*/void SystemInit(void)I2C_Init();/TMOD = 0x01;Delay(30);/等待ZLG7
30、290復(fù)位完畢/*/語(yǔ)音播放子程序/* void YUYIN(int a,int b) switch(a) case 0: /距離小于1米則震動(dòng)報(bào)警 ZD=1; LED1=0; LED2=0; Delay(20); break; case 1: /距離在1。5米以下則語(yǔ)音提示加震動(dòng)警示 if(b5) P2=0x00; PLAYE=1; PLAYE=0; LED1=0; LED2=0; ZD=1; else P2=0x28;/距離在1.5米到2米則語(yǔ)音提示加震動(dòng)警示 PLAYE=1; PLAYE=0; LED1=0; LED2=0; ZD=1; Delay(20); break; case 2:
31、 /距離在2米到2.5米則語(yǔ)音提示加震動(dòng)警示 if(b5) P2=0x28; PLAYE=1; PLAYE=0; LED1=0; LED2=0; ZD=1; else P2=0x50; PLAYE=1; PLAYE=0; LED1=0; LED2=0; ZD=1; Delay(20); break; case 3: /距離在2。5米到3。5米則語(yǔ)音提示加震動(dòng)警示 if(b5) P2=0x50; PLAYE=1; PLAYE=0; LED1=0; LED2=0; ZD=1; Delay(20); break; /*/主程序void main(void) long float distance,d
32、at;int a,b,c,d;SystemInit(); Trig=0; /首先拉低脈沖輸入引腳 EA=1; /打開(kāi)總中斷0 TMOD=0x12; /定時(shí)器1,16位工作方式 LED1=1; /指示燈復(fù)位(保持高電平為熄滅態(tài)) LED2=1;ZD=0; while(1) LED1=1; /指示燈復(fù)位(保持高電平為熄滅態(tài)) LED2=1; ZD=0; EA=0; /關(guān)總中斷 Trig=1; /超聲波輸入端 delay_20us(); /延時(shí)20us Trig=0; /產(chǎn)生一個(gè)20us的脈沖 while(Echo=0); /等待Echo回波引腳變高電平 succeed_flag=0; /清測(cè)量成功
33、標(biāo)志 EA=1; EX0=1; /打開(kāi)外部中斷0 TH1=0; /定時(shí)器1清零 TL1=0; /定時(shí)器1清零 TF1=0; /計(jì)數(shù)溢出標(biāo)志 TR1=1; /啟動(dòng)定時(shí)器1 Delay(20); /等待測(cè)量的結(jié)果 TR1=0; /關(guān)閉定時(shí)器1 EX0=0; /關(guān)閉外部中斷0 if(succeed_flag=1) time=timeH*256+timeL; distance=(long float)time/58; /厘米 if(succeed_flag=0) distance=0; /沒(méi)有回波則清零 dat=distance*10; /顯示程序,作為導(dǎo)盲杖可不接端口。也可屏蔽a = dat / 1
34、000;ZLG7290_Download(3,0,0,a);b = (dat-a*1000) /100;ZLG7290_Download(2,0,0,b);c = (dat-a*1000-b*100)/10;ZLG7290_Download(1,1,0,c);d = dat-a*1000-b*100-c*10;ZLG7290_Download(0,0,0,d);/DISP(distance);/顯示子程序 YUYIN(a,b); /語(yǔ)音播放 Delay(20);void exter() interrupt 0 / 外部中斷0是0號(hào) EX0=0; /關(guān)閉外部中斷 timeH =TH1; /取出定
35、時(shí)器的值 timeL =TL1; /取出定時(shí)器的值 succeed_flag=1;/至成功測(cè)量的標(biāo)志 /定時(shí)器1中斷,用做超聲波測(cè)距計(jì)時(shí)void timer1() interrupt 3 / TH1=0; TL1=0; 4.2 程序調(diào)試結(jié)果圖14 調(diào)試成果圖5.設(shè)計(jì)小結(jié) 在課程設(shè)計(jì)的過(guò)程中,我們一開(kāi)始找不到方向,感覺(jué)像無(wú)頭蒼蠅,不知道從哪兒著手。在看過(guò)任務(wù)安排后,我們通過(guò)抽簽選擇了隊(duì)友,當(dāng)天也確定了我們組的課題電子導(dǎo)盲杖。接下來(lái),就是絞盡腦汁的想到底可以實(shí)現(xiàn)哪些功能。當(dāng)時(shí)的我們只想出了三四個(gè)簡(jiǎn)單的功能,都是自己感覺(jué)有哪些就寫上去。經(jīng)過(guò)老師指點(diǎn),我才意識(shí)到,現(xiàn)在不用淘寶這塊的資源,就是一大浪費(fèi)。
36、當(dāng)天下午,我們就立即回去搜索現(xiàn)有的盲杖的功能?;仡^發(fā)現(xiàn),我們的功能只是十年前人家就已經(jīng)實(shí)現(xiàn)了的。重新定義了一番后,我們組三個(gè)人開(kāi)始分工合作,測(cè)距部分,提示部分,控制部分,每人一個(gè)部分開(kāi)始找尋方案選擇合適方案。 硬件選擇及設(shè)計(jì)部分遇到的困難及解決方法 首先,在選擇器件上,我們采用比較法,選擇幾個(gè)相近功能的芯片,再一一比較選擇最合適的那個(gè)。在選超聲波模塊時(shí),我們拿了暑假做實(shí)驗(yàn)用的那個(gè)模塊,但是怎么做都沒(méi)有出現(xiàn)距離的顯示,一開(kāi)始我以為是程序不對(duì),我將程序仔細(xì)對(duì)了一遍,對(duì)照框圖檢查程序,在多次檢查編譯后沒(méi)有發(fā)現(xiàn)錯(cuò)誤。然后就檢查超聲波模塊,檢查有無(wú)信號(hào)輸出和接收。結(jié)果一接電源模塊后面的芯片就發(fā)燙,原來(lái)是
37、芯片燒壞了。當(dāng)考慮到要用數(shù)字顯示來(lái)觀測(cè)測(cè)距的準(zhǔn)確性時(shí)卻不知道用液晶屏還是周立功顯示。液晶屏顯示測(cè)距是已經(jīng)實(shí)現(xiàn)過(guò)的,但是現(xiàn)在所用的單片機(jī)不一樣,液晶屏接口相對(duì)較多,會(huì)浪費(fèi)過(guò)多的IO口,所以選擇周立功顯示。但在使用周立功顯示時(shí)用我寫的程序開(kāi)始實(shí)現(xiàn)不了,數(shù)碼管也一直不亮。改用以前單片機(jī)實(shí)驗(yàn)室的程序也不能顯示,我就擔(dān)心周立功是否燒壞,但在其他同學(xué)的電腦上測(cè)試他們的顯示程序,依然是可以的,所以不是模塊的問(wèn)題。再重新接線后居然可以顯示了,原來(lái)是接線接反了。選擇語(yǔ)音模塊的時(shí)候,由于需要分段錄音,所以選擇起來(lái)比較麻煩。選擇實(shí)驗(yàn)箱上的語(yǔ)音模塊時(shí),看了說(shuō)明書后我可以實(shí)現(xiàn)基本的錄音和放音,但是分段起來(lái)較困難,需要下
38、載器,因此我們換了一個(gè)芯片,根據(jù)上一屆學(xué)長(zhǎng)的指導(dǎo),我們選擇了ISD1420。這個(gè)芯片可以自己計(jì)算錄音的長(zhǎng)度來(lái)設(shè)計(jì)存放的地址段,來(lái)進(jìn)行分段錄音。焊接語(yǔ)音模塊的時(shí)候,由于外圍線路較多,焊接比較麻煩,每次焊完后都要用外用表測(cè)試下是否短路或虛焊。整個(gè)都焊完,花了一上午時(shí)間,但下午檢查的時(shí)候還是發(fā)現(xiàn)有個(gè)接地錯(cuò)焊到了電源線,幸好提前檢查了一遍,不然芯片可能就毀了。在錄制語(yǔ)音的時(shí)候,我計(jì)算好每段的首地址,錄進(jìn)去后播放,總能放出。但當(dāng)我錄完第三段,卻放不出第一段和第二段,我一直以為是程序的問(wèn)題,但是錄音不要用到程序,因此一直在疑惑為什么會(huì)出現(xiàn)這種問(wèn)題,但是在過(guò)了一 天后,我又檢查了接線,發(fā)現(xiàn)我一直把低地址和高
39、地址在開(kāi)關(guān)上接反了,因此,錄音的時(shí)候地址選擇不正確,過(guò)短的地址不能容納這么長(zhǎng)的語(yǔ)音信號(hào),因此放音的時(shí)候就成了亂碼。在改過(guò)之后,立即變得清晰明確。 在設(shè)計(jì)警示燈的時(shí)候,我將電阻錯(cuò)焊了,100歐姆的焊成100千歐姆的。在測(cè)試的時(shí)候幸好提前檢測(cè)了下電阻值,否則,燈將不會(huì)亮。在除焊和重焊的過(guò)程中,我也學(xué)會(huì)了更好的焊接。在做完基本的測(cè)距和報(bào)警功能后,我們停滯不前,在老師的指導(dǎo)下,我們又加了一個(gè)震動(dòng)功能。但是雖說(shuō)震動(dòng)功能想著容易實(shí)現(xiàn),找偏振電機(jī)的時(shí)候卻遇上了些困難。在銀河電子城根本找不到偏振電機(jī),只有直流電機(jī),但是直流電機(jī)的驅(qū)動(dòng)電流比較大,靠單片機(jī)根本驅(qū)動(dòng)不了,于是想加一個(gè)偏振塊,但是在市場(chǎng)上還是沒(méi)有偏振
40、塊賣。這可讓我們陷入僵局,不知該從何處下手。我的隊(duì)友這時(shí)提出可以用手機(jī)上的震動(dòng)電機(jī)。他那邊正好有一個(gè)不用的舊手機(jī),可以將它拆了取出震動(dòng)模塊。測(cè)試它震動(dòng)所需的最小電壓和電流,然后將單片機(jī)口的輸出電壓用三極管和電阻轉(zhuǎn)換為合適的電壓和電流輸出,用來(lái)驅(qū)動(dòng)震動(dòng)電機(jī)。 軟件設(shè)計(jì)部分遇到的困難及解決方法 在第二周編寫程序的時(shí)候,根據(jù)之前模塊的說(shuō)明書以及我們畫的框圖來(lái)編寫,在測(cè)距的程序的基礎(chǔ)上加上顯示,和報(bào)警,震動(dòng)。在最開(kāi)始的周立功顯示程序上我添加了測(cè)距程序,經(jīng)過(guò)測(cè)試后,可以顯示數(shù)字,但是只能顯示大概的數(shù)字,就是百位的數(shù)字,十位和個(gè)位都不能很準(zhǔn)確的顯示,為了能更準(zhǔn)確顯示和報(bào)警,我在測(cè)得的數(shù)字上又做了進(jìn)一步的調(diào)
41、整,保留小數(shù)點(diǎn)后一位,這樣能減少報(bào)警的誤差,增加準(zhǔn)確性。開(kāi)始我調(diào)用顯示子函數(shù),在子函數(shù)中修改精度,發(fā)現(xiàn)編譯后會(huì)出現(xiàn)定義的數(shù)據(jù)類型不一致的問(wèn)題,后來(lái),我將小數(shù)都改為整數(shù)再進(jìn)行轉(zhuǎn)換就可以實(shí)現(xiàn)1mm的精度了。在放音時(shí)我使用的是CASE語(yǔ)句,由于沒(méi)有加跳出語(yǔ)句,因此,在第一段放完之后,就播放第二段語(yǔ)音造成混亂。在顯示部分,總是跳來(lái)跳去,顯示不穩(wěn)定,不好做比較。在測(cè)距是如果距離固定,他顯示的數(shù)字仍是在不斷跳變,后來(lái)我在顯示后邊加了一個(gè)延時(shí),時(shí)間是20us,數(shù)字顯示就穩(wěn)定了些,但卻滯后變化。于是我縮短延時(shí)時(shí)間,雖然還有跳變,但基本可以看清數(shù)字,跳變的也不是很厲害了。我們做的事電子導(dǎo)盲杖,不需要顯示,但為了
42、能更好的校準(zhǔn),我還是增加了這一部分。 在整個(gè)課程設(shè)計(jì)中,我學(xué)習(xí)到了一些芯片的用法,也了解了單片機(jī)的實(shí)用功能,更加注意到考慮問(wèn)題的周全性和仔細(xì)性。這些都是書本上沒(méi)有的東西,但在實(shí)踐中,我們就會(huì)自己去體驗(yàn)去接觸,因此,這次實(shí)踐對(duì)于動(dòng)手能力是極大地鍛煉和提高,也教導(dǎo)我團(tuán)隊(duì)合作的重要性。我相信,在以后我們一定可以做到更好,為以后工作或?qū)W習(xí)打下扎實(shí)基礎(chǔ)。 參考文獻(xiàn)1 童詩(shī)白主編.模擬電子技術(shù)基礎(chǔ)(第三版)高教出版社.20012 張毅剛主編.單片機(jī)原理及應(yīng)用 (第一版)高教出版社.20033 程德福、林君主編.智能儀器.(第二版)機(jī)械工業(yè)出版社.20114 張國(guó)雄主編.測(cè)控電路(第四版)機(jī)械工業(yè)出版社.2011
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣種子合同范本
- 農(nóng)業(yè)委托種植合同范本
- 體育新城租房合同范本
- 剩余瓷磚售賣合同范本
- 人工包給勞務(wù)公司合同范本
- 協(xié)助出口退稅合同范本
- 農(nóng)資經(jīng)營(yíng)聘用合同范本
- 3人共同合作合同范本
- lng承運(yùn)合同范本
- 醫(yī)保專員勞動(dòng)合同范本
- 2024年高考真題-政治(福建卷) 含解析
- 大模型技術(shù)深度賦能保險(xiǎn)行業(yè)白皮書2024
- (蘇少版)綜合實(shí)踐一年級(jí)下冊(cè)第四單元電子教案
- 中國(guó)老年危重患者營(yíng)養(yǎng)支持治療指南2023解讀課件
- 《光伏電站運(yùn)行與維護(hù)》試題及答案一
- DBJ∕T 15-19-2020 建筑防水工程技術(shù)規(guī)程
- 二十四式太極拳教案高一上學(xué)期體育與健康人教版
- 2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)上冊(cè)英語(yǔ)各單元教學(xué)設(shè)計(jì)
- 國(guó)家病案質(zhì)控死亡病例自查表
- 一年級(jí)體育教案全冊(cè)(水平一)下冊(cè)
- 全身麻醉后護(hù)理常規(guī)
評(píng)論
0/150
提交評(píng)論