DSP课程设计报告.docx
DSP应用技术实习报告
课程课题:单片机与DSP通信和字符识别
专业班级: 电子信息81、82班学生姓名:徐伟、熊苗、崔苗、刘芃旭指导教师: 邹修国
完成时间: 2011.6.7-2011.6.19
一、课程题目:
我们的项目是DSP字符识别和单片机与DSP的串口通信两个系统结合的。利用DSP做的印刷体字符识别系统,该系统能够实现字符图片的二值化、二值矩阵相似度等,从而待处字符通过与库里的字符特征比对而得到字符识别功能。识别过程可利用DSP的串行口,采用串口异步方式进行通信,该系统能够实现单片机与DSP之间的数据发送与接收,通过单片机上的数码管来显示识别的内容。
二、设计功能及工作原理
LCD 430单片机 DSP
显
示
RXD
DX
字
符
屏
识
TXD
DR
别
本系统是DSP字符识别系统和单片机与DSP串口通信两个系统结合成的。
单片机与DSP串口通信工作原理如下:首先单片机通过UART口发送数据,并通过MAX232芯片转换成RS232电平发送出去。在DSP端,MAX3160接收到信号后将其转换成CMOS电平发送给TL16C752B芯片!接着再将接收到的数据通过D0——D7数据线发送给DSP芯片。同理,DSP芯片发送的数据也可以被单片机接收到。这样就实现了单片机与DSP之间的通信。DSP字符识别系统是通过字符图像的二值化、Sobel边缘采集、相似度、建库、比对等
实现字符的识别。
单片机给DSP一个信号,进行字符的识别,识别出结果后,DSP返回信号给单片机,从而在单片机的数码管上显示出来。
三、设计过程
voidmain()
{
unsignedintuLED[4]={1,2,4,8};//控制字,逐位置1:0001B0010B0100Bintk=0;
bReceive=0;TMCR_reset();PLL_Init(12);EMIF_init();
LCR=0x80;DLL=0x18;DLM=0x00;LCR=0x03;FCR=0x01;MCR=0x00;
2
MSR=0x00;IER=0x00;
// while(1)
// {
LBDS=uLED[1];
cReceive=RBR;cBuffer[k]=cReceive0x0ff;if(cReceive==w)
{
inti;cBuffer[k+1]=\0;nLen=k+1;bReceive=1;
for(i=0;i4;i++)
{
LBDS=uLED[i];
Delay(512);
}
}
if(cReceive==m)
{
cString=s;THR=cString;LBDS=uLED[2];
Delay(512);
}
k++;k%=16;
// printf(k=%d\n\n,k);x=10;
comp=simrect();
// printf(avg[0]=%d\n\n,avg[0]);
//InitImage(ku[y],dbImage,IMAGEWIDTH,IMAGEHEIGHT);
switch(ku[y])
{
case0:cString=a;THR=cString;break;
。。。
case9:cString=j;THR=cString;break;default:break;
}
// }
}
voidEMIF_init(void)
3
{
ioportunsignedint*ce21 =(unsignedint*)0x809;
*ce21 =0x1fff;
}
voidTMCR_reset(void)
{
ioportunsignedint*TMCR_MGS3=(unsignedint*)0x07FE;ioportunsignedint*TMCR_MM=(unsignedint*)0x07FF;
*TMCR_MGS3=0x510;
*TMCR_MM =0x000;
}
识别相似度的相似矩阵:
intsimrect()
{
inti,j,k;InitImage(x,dbImage,IMAGEWIDTH,IMAGEHEIGHT);for(i=0;iIMAGEWIDTH;i++)
{
for(j=0;jIMAGEHEIGHT;j++)
dbSourceImage[i][j]=dbTargetImage[i][j];
}
for(k=0;k10;k++)
{
InitImage(ku[k],dbImage,IMAGEWIDTH,IMAGEHEIGHT);//0for(i=0;iIMAGE