版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> DSP應用技術實習報告</p><p> 課程課題:單片機與DSP通信和字符識別</p><p> 專業(yè)班級: 電子信息81、82班 </p><p> 學生姓名: </p><p> 指導教師: </
2、p><p> 完成時間: 2011.6.7-2011.6.19 </p><p><b> 一、課程題目:</b></p><p> 我們的項目是DSP字符識別和單片機與DSP的串口通信兩個系統(tǒng)結合的。利用DSP做的印刷體字符識別系統(tǒng),該系統(tǒng)能夠實現(xiàn)字符圖片的二值化、二值矩陣相似度等,從而待處字符通過與庫里的字符特征比對而得到字
3、符識別功能。識別過程可利用DSP的串行口,采用串口異步方式進行通信,該系統(tǒng)能夠實現(xiàn)單片機與DSP之間的數(shù)據(jù)發(fā)送與接收,通過單片機上的數(shù)碼管來顯示識別的內容。</p><p> 二、設計功能及工作原理</p><p> LCD 430單片機 DSP</p><p> 本系統(tǒng)是DSP字符識別系統(tǒng)和單片機與DSP串口通信兩個系統(tǒng)結合成
4、的。</p><p> 單片機與DSP串口通信工作原理如下:首先單片機通過UART口發(fā)送數(shù)據(jù),并通過MAX232芯片轉換成RS232電平發(fā)送出去。在DSP端,MAX3160接收到信號后將其轉換成CMOS電平發(fā)送給TL16C752B芯片!接著再將接收到的數(shù)據(jù)通過D0——D7數(shù)據(jù)線發(fā)送給DSP芯片。同理,DSP芯片發(fā)送的數(shù)據(jù)也可以被單片機接收到。這樣就實現(xiàn)了單片機與DSP之間的通信。</p><
5、p> DSP字符識別系統(tǒng)是通過字符圖像的二值化、Sobel邊緣采集、相似度、建庫、比對等實現(xiàn)字符的識別。</p><p> 單片機給DSP一個信號,進行字符的識別,識別出結果后,DSP返回信號給單片機,從而在單片機的數(shù)碼管上顯示出來。</p><p><b> 三、設計過程</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> 識別相似度的相似矩陣:</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> 四、設計工程的仿真圖形</p><p> 五、對系統(tǒng)總結與評價</p><p> 經(jīng)過測試,本系統(tǒng)能夠正常工作,單片機發(fā)送的數(shù)據(jù)能夠被DSP接收到,而DSP發(fā)送的數(shù)據(jù)也同樣能夠被單片機接收到;字符能夠識別,之后通過單片機和DSP的通信能夠顯示在數(shù)碼管上。</p><p> 在設計制作一個系統(tǒng)時應該注意以下問題:</p>
35、<p> 1、首先將整個系統(tǒng)分成若干個小的部分,將每個部分都調試成功了,再進行整機調試,以本系統(tǒng)為例,可以先做好單片機與PC機之間的通信,待調試成功后再調試DSP與PC機之間的通信,以PC機為通信的中間平臺是因為與PC機的通信現(xiàn)象明顯,輔助開發(fā)工具較多,較顯調試。最后再進行單片機與DSP之間的通信。</p><p> 2、在進行各種功能的調試時都要留出相應的測試點(設置斷點),以方便功能的測試。&l
36、t;/p><p> 程序的編寫更考驗我們的C語言能力與測試找錯改錯能力。</p><p> 3、在調試程序時要有相應的指示信息,來表明程序的正確與否。如可以用內存、寄存器或者用數(shù)碼管顯示器顯示相應的信息來證明。</p><p> 4、字符識別系統(tǒng)重要的是算法的編寫,要一步步完善。先完成字庫、圖像的二值化、原圖的識別,之后才可以加深識別的難度。</p>
37、<p> 5、在把單片機與DSP通信和字符識別兩個系統(tǒng)結合的時候,遇到了很多麻煩,程序的拼接、占用內存的兼容,甚至CMD內存配置帶來更多的問題。溢出的問題更考驗了對DSP的了解熟練程度。</p><p> 6、由于字符識別的程序編寫的循環(huán)較多,本系統(tǒng)的運行速度不是很快,實時性有點差,有待解決。</p><p> 7、本次實習我們通過查閱參考資料和自我摸索,先進行PC機與它
38、們的通信,通過串口調試助手觀察數(shù)據(jù)發(fā)送情況,成功后再將兩者接口對應連接,再整機統(tǒng)調,分析和解決出現(xiàn)的問題,完成了預期功能。字符識別系統(tǒng)的設計讓我們學到了很多圖像處理的知識和方法。理論與實踐存在著差異,實踐是檢驗真理的唯一標準。在沒做這個系統(tǒng)前,我們的想法很簡單,就按照理論數(shù)據(jù)將軟件和硬件搭建一下就可以了,其實不然,實踐中有很多未知因數(shù),不進行具體分析,就不可能得到解決。通過這次的實習,我們發(fā)現(xiàn)自己所學的還遠遠不夠,以后還要多動手,加強理
39、論與實踐的結合。</p><p><b> 六、參考文獻</b></p><p> 1.汪春梅,孫洪波.TMS320C55x DSP原理及應用[M].第二版.北京:電子工業(yè)出版社,2008. </p><p> 2.430單片機教程</p><p> 3. ICETEK-VC5509-A評估板及教學實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論