版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> DSP應(yīng)用技術(shù)實(shí)習(xí)報(bào)告</p><p> 課程課題:?jiǎn)纹瑱C(jī)與DSP通信和字符識(shí)別</p><p> 專業(yè)班級(jí): 電子信息81、82班 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </
2、p><p> 完成時(shí)間: 2011.6.7-2011.6.19 </p><p><b> 一、課程題目:</b></p><p> 我們的項(xiàng)目是DSP字符識(shí)別和單片機(jī)與DSP的串口通信兩個(gè)系統(tǒng)結(jié)合的。利用DSP做的印刷體字符識(shí)別系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)字符圖片的二值化、二值矩陣相似度等,從而待處字符通過(guò)與庫(kù)里的字符特征比對(duì)而得到字
3、符識(shí)別功能。識(shí)別過(guò)程可利用DSP的串行口,采用串口異步方式進(jìn)行通信,該系統(tǒng)能夠?qū)崿F(xiàn)單片機(jī)與DSP之間的數(shù)據(jù)發(fā)送與接收,通過(guò)單片機(jī)上的數(shù)碼管來(lái)顯示識(shí)別的內(nèi)容。</p><p> 二、設(shè)計(jì)功能及工作原理</p><p> LCD 430單片機(jī) DSP</p><p> 本系統(tǒng)是DSP字符識(shí)別系統(tǒng)和單片機(jī)與DSP串口通信兩個(gè)系統(tǒng)結(jié)合成
4、的。</p><p> 單片機(jī)與DSP串口通信工作原理如下:首先單片機(jī)通過(guò)UART口發(fā)送數(shù)據(jù),并通過(guò)MAX232芯片轉(zhuǎn)換成RS232電平發(fā)送出去。在DSP端,MAX3160接收到信號(hào)后將其轉(zhuǎn)換成CMOS電平發(fā)送給TL16C752B芯片!接著再將接收到的數(shù)據(jù)通過(guò)D0——D7數(shù)據(jù)線發(fā)送給DSP芯片。同理,DSP芯片發(fā)送的數(shù)據(jù)也可以被單片機(jī)接收到。這樣就實(shí)現(xiàn)了單片機(jī)與DSP之間的通信。</p><
5、p> DSP字符識(shí)別系統(tǒng)是通過(guò)字符圖像的二值化、Sobel邊緣采集、相似度、建庫(kù)、比對(duì)等實(shí)現(xiàn)字符的識(shí)別。</p><p> 單片機(jī)給DSP一個(gè)信號(hào),進(jìn)行字符的識(shí)別,識(shí)別出結(jié)果后,DSP返回信號(hào)給單片機(jī),從而在單片機(jī)的數(shù)碼管上顯示出來(lái)。</p><p><b> 三、設(shè)計(jì)過(guò)程</b></p><p> void main()<
6、/p><p><b> {</b></p><p> unsigned int uLED[4]={1,2,4,8};// 控制字,逐位置1: 0001B 0010B 0100B</p><p><b> int k=0;</b></p><p> bReceive=0;</p>
7、<p> TMCR_reset();</p><p> PLL_Init(12);</p><p> EMIF_init();</p><p> LCR = 0x80; </p><p> DLL = 0x18; </p><p> DLM = 0x00; </p><
8、p> LCR = 0x03; </p><p> FCR = 0x01;</p><p> MCR = 0x00;</p><p> MSR = 0x00;</p><p> IER = 0x00;</p><p> //while ( 1 )</p><p><
9、b> //{</b></p><p> LBDS=uLED[1];</p><p> cReceive=RBR;</p><p> cBuffer[k]=cReceive&0x0ff; </p><p> if ( cReceive=='w' )</p><p>&
10、lt;b> {</b></p><p><b> int i;</b></p><p> cBuffer[k+1]='\0';</p><p><b> nLen=k+1;</b></p><p> bReceive=1;</p><p
11、> for (i=0;i<4;i++)</p><p><b> {</b></p><p> LBDS=uLED[i];</p><p> Delay(512);</p><p><b> }</b></p><p><b> }
12、</b></p><p> if(cReceive=='m')</p><p><b> {</b></p><p> cString='s';</p><p> THR=cString;</p><p> LBDS=uLED[2];</
13、p><p> Delay(512);</p><p><b> }</b></p><p> k++; k%=16;</p><p> //printf("k = %d\n\n",k);</p><p><b> x=10;</b></p&g
14、t;<p> comp=simrect();</p><p> //printf("avg[0] = %d\n\n",avg[0]);</p><p> //InitImage(ku[y],dbImage,IMAGEWIDTH,IMAGEHEIGHT);</p><p> switch(ku[y])</p>
15、<p><b> {</b></p><p> case 0:cString='a';THR=cString;break;</p><p><b> 。。。。。。</b></p><p> case 9:cString='j';THR=cString;break;<
16、/p><p> default:break;</p><p><b> }</b></p><p><b> //}</b></p><p><b> } </b></p><p> void EMIF_init(void)</p&g
17、t;<p><b> {</b></p><p> ioport unsigned int *ce21 =(unsigned int *)0x809;</p><p> *ce21 = 0x1fff;</p><p><b> }</b></p><p> void T
18、MCR_reset( void )</p><p><b> {</b></p><p> ioport unsigned int *TMCR_MGS3=(unsigned int *)0x07FE; </p><p> ioport unsigned int *TMCR_MM =(unsigned int *)0x07FF; &
19、lt;/p><p> *TMCR_MGS3 =0x510;</p><p> *TMCR_MM =0x000;</p><p><b> }</b></p><p> 識(shí)別相似度的相似矩陣:</p><p> int simrect()</p><p><b
20、> {</b></p><p> int i,j,k;</p><p> InitImage(x,dbImage,IMAGEWIDTH,IMAGEHEIGHT);</p><p> for(i=0;i<IMAGEWIDTH;i++)</p><p><b> {</b></p>
21、;<p> for(j=0;j<IMAGEHEIGHT;j++)</p><p> dbSourceImage[i][j]=dbTargetImage[i][j];</p><p><b> }</b></p><p> for(k=0;k<10;k++)</p><p><b&g
22、t; {</b></p><p> InitImage(ku[k],dbImage,IMAGEWIDTH,IMAGEHEIGHT);//0</p><p> for(i=0;i<IMAGEWIDTH;i++)</p><p><b> {</b></p><p> for(j=0;j<I
23、MAGEHEIGHT;j++) </p><p><b> {</b></p><p> int temp=0;</p><p> temp=dbTargetImage[i][j]-dbSourceImage[i][j];</p><p> if(temp==0)</p><p> db
24、Image[i*80+j]=1;</p><p><b> else</b></p><p> dbImage[i*80+j]=0;</p><p><b> } </b></p><p><b> }</b></p><p
25、> for(i=0;i<IMAGEHEIGHT;i++)</p><p><b> {</b></p><p> for(j=0;j<IMAGEWIDTH;j++)</p><p><b> {</b></p><p> sum[k]+=dbImage[i*80+j];
26、 </p><p> } </p><p><b> }</b></p><p> avg1[k]=sum[k]/(8*8);</p><p><b> }</b></p><p> result=max(avg1);</p>
27、<p> return result;</p><p><b> }</b></p><p> int max(int avg1[])</p><p><b> {</b></p><p><b> int i;</b></p><p&
28、gt; int max1=0;</p><p> for(i=0;i<10;i++)</p><p> if(avg1[i]>max1)</p><p><b> {</b></p><p> max1=avg1[i];</p><p><b> y=i;<
29、/b></p><p><b> }</b></p><p> return y;</p><p><b> }</b></p><p><b> 圖像初始化:</b></p><p> void InitImage(unsigne
30、d int nMode,unsigned char *pImage,int nWidth,int nHeight)</p><p><b> {</b></p><p> switch ( nMode )</p><p><b> {</b></p><p><b> case 1
31、:</b></p><p> ReadImage(pImage,"..\\model\\1.bmp",nWidth,nHeight);</p><p> Sobel(nWidth,nHeight);</p><p><b> break;</b></p><p><b>
32、 。。。。。。</b></p><p><b> case 10:</b></p><p> ReadImage(pImage,"..\\source\\4.bmp",nWidth,nHeight);</p><p> Sobel(nWidth,nHeight);</p><p>&
33、lt;b> break;</b></p><p><b> default:</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p>
34、<p> 四、設(shè)計(jì)工程的仿真圖形</p><p> 五、對(duì)系統(tǒng)總結(jié)與評(píng)價(jià)</p><p> 經(jīng)過(guò)測(cè)試,本系統(tǒng)能夠正常工作,單片機(jī)發(fā)送的數(shù)據(jù)能夠被DSP接收到,而DSP發(fā)送的數(shù)據(jù)也同樣能夠被單片機(jī)接收到;字符能夠識(shí)別,之后通過(guò)單片機(jī)和DSP的通信能夠顯示在數(shù)碼管上。</p><p> 在設(shè)計(jì)制作一個(gè)系統(tǒng)時(shí)應(yīng)該注意以下問(wèn)題:</p>
35、<p> 1、首先將整個(gè)系統(tǒng)分成若干個(gè)小的部分,將每個(gè)部分都調(diào)試成功了,再進(jìn)行整機(jī)調(diào)試,以本系統(tǒng)為例,可以先做好單片機(jī)與PC機(jī)之間的通信,待調(diào)試成功后再調(diào)試DSP與PC機(jī)之間的通信,以PC機(jī)為通信的中間平臺(tái)是因?yàn)榕cPC機(jī)的通信現(xiàn)象明顯,輔助開(kāi)發(fā)工具較多,較顯調(diào)試。最后再進(jìn)行單片機(jī)與DSP之間的通信。</p><p> 2、在進(jìn)行各種功能的調(diào)試時(shí)都要留出相應(yīng)的測(cè)試點(diǎn)(設(shè)置斷點(diǎn)),以方便功能的測(cè)試。&l
36、t;/p><p> 程序的編寫更考驗(yàn)我們的C語(yǔ)言能力與測(cè)試找錯(cuò)改錯(cuò)能力。</p><p> 3、在調(diào)試程序時(shí)要有相應(yīng)的指示信息,來(lái)表明程序的正確與否。如可以用內(nèi)存、寄存器或者用數(shù)碼管顯示器顯示相應(yīng)的信息來(lái)證明。</p><p> 4、字符識(shí)別系統(tǒng)重要的是算法的編寫,要一步步完善。先完成字庫(kù)、圖像的二值化、原圖的識(shí)別,之后才可以加深識(shí)別的難度。</p>
37、<p> 5、在把單片機(jī)與DSP通信和字符識(shí)別兩個(gè)系統(tǒng)結(jié)合的時(shí)候,遇到了很多麻煩,程序的拼接、占用內(nèi)存的兼容,甚至CMD內(nèi)存配置帶來(lái)更多的問(wèn)題。溢出的問(wèn)題更考驗(yàn)了對(duì)DSP的了解熟練程度。</p><p> 6、由于字符識(shí)別的程序編寫的循環(huán)較多,本系統(tǒng)的運(yùn)行速度不是很快,實(shí)時(shí)性有點(diǎn)差,有待解決。</p><p> 7、本次實(shí)習(xí)我們通過(guò)查閱參考資料和自我摸索,先進(jìn)行PC機(jī)與它
38、們的通信,通過(guò)串口調(diào)試助手觀察數(shù)據(jù)發(fā)送情況,成功后再將兩者接口對(duì)應(yīng)連接,再整機(jī)統(tǒng)調(diào),分析和解決出現(xiàn)的問(wèn)題,完成了預(yù)期功能。字符識(shí)別系統(tǒng)的設(shè)計(jì)讓我們學(xué)到了很多圖像處理的知識(shí)和方法。理論與實(shí)踐存在著差異,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。在沒(méi)做這個(gè)系統(tǒng)前,我們的想法很簡(jiǎn)單,就按照理論數(shù)據(jù)將軟件和硬件搭建一下就可以了,其實(shí)不然,實(shí)踐中有很多未知因數(shù),不進(jìn)行具體分析,就不可能得到解決。通過(guò)這次的實(shí)習(xí),我們發(fā)現(xiàn)自己所學(xué)的還遠(yuǎn)遠(yuǎn)不夠,以后還要多動(dòng)手,加強(qiáng)理
39、論與實(shí)踐的結(jié)合。</p><p><b> 六、參考文獻(xiàn)</b></p><p> 1.汪春梅,孫洪波.TMS320C55x DSP原理及應(yīng)用[M].第二版.北京:電子工業(yè)出版社,2008. </p><p> 2.430單片機(jī)教程</p><p> 3. ICETEK-VC5509-A評(píng)估板及教學(xué)實(shí)
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)及dsp課程設(shè)計(jì)報(bào)告
- 單片機(jī)及dsp課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)字符點(diǎn)陣課程設(shè)計(jì)
- 單片機(jī)雙機(jī)通信課程設(shè)計(jì)報(bào)告
- 單片機(jī)單片機(jī)課程設(shè)計(jì)-雙機(jī)串行通信
- 單片機(jī)串口通信課程設(shè)計(jì)-- pc和單片機(jī)的串行雙工通信
- 單片機(jī)多機(jī)通信課程設(shè)計(jì)
- 單片機(jī)多機(jī)通信課程設(shè)計(jì)
- pc機(jī)與單片機(jī)串行通信課程設(shè)計(jì)
- 基于DSP的紙幣字符識(shí)別技術(shù)研究.pdf
- 基于DSP的字符識(shí)別系統(tǒng)的硬件設(shè)計(jì).pdf
- 單片機(jī)單片機(jī)課程設(shè)計(jì)-雙機(jī)串行通信e
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 《單片機(jī)課程設(shè)計(jì)》報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論