DSP专业课程设计总结报告.doc
《DSP专业课程设计总结报告.doc》由会员分享,可在线阅读,更多相关《DSP专业课程设计总结报告.doc(20页珍藏版)》请在咨信网上搜索。
课程设计总结汇报 课程名称 DSP控制器及其应用 设计题目 万年历设计 专 业 电子信息工程 班 级 姓 名 学 号 指导老师 汇报成绩 信息工程学院 二〇一四年六月十三日 目 录 前 言 3 第一章 设计要求 4 1.1 基础要求 4 1.2 提升要求 4 第二章 系统组成和工作原理 5 2.1 DSP TMS320 VC5509APGE芯片工作原理 5 2.2 LCD1602液晶显示器工作原理 6 第三章 主电路图及程序步骤图 7 3.1主电路图 7 3.2程序总步骤图 7 3.3程序分块步骤图 8 第四章 软件程序设计 9 4.1 程序 9 4.2 调试和处理出现问题 9 第五章 设计总结 20 附录1:参考文件 30 前 言 伴随科技不停发展,诞生了越来越多电子产品。比如手表,时钟等等,现在钟表在功效设计上不停地完善,不仅仅能够显示时间(时分秒),而且能够显示年月日,星期几等等。 科技发展离不开人类不停努力,培养高科技人才是二十一世纪必做事。作为祖国接班人更要努力学习好电子信息这门科技专业。所以我们要不停接触多种电子产品,加强对电子技术 技术理论掌握和实际应用 。在此次试验中,我们就 以 DSP芯片为关键控制电子钟,含有多项显示,用2812上LCD液晶显示器显示目前年、月、日、时、分、秒。 第一章 设计要求 此次课程设计要求设计一个万年历,利用DSPTMS320 VC5509APGE芯片控制,使用程序来控制时间实时更新,当秒加到60时,分自动加1,当分加到60时,小时自动加1,当小时加到24,天加1,天加到30时,月加1,月加到12时,年加1,使用I602上LCD液晶显示器显示目前年、月、日、时、分、秒。对现有器件进行简单地编程,实现多种简单地显示控制。 1.1 设计目标 1. 学习软件安装,熟悉利用CCS v3.3软件,加强软件编程能力; 2. 学习DSP芯片I/O端口控制方法; 3. 了解1602字符液晶使用功效 4. 能够对现有器件进行简单地编程,实现多种简单地显示控制。 1.2 基础要求 ⑴ 此系统先显示设定目前时间(年月日时分秒),并进行计数 ⑵ 设计硬件外扩电路,同时设计软件程序进行软硬件联络调试 ⑶ 连接仿真器,在液晶显示器上进行显示 第二章系统组成和工作原理 2.1 DSP TMS320 VC5509APGE芯片 2.1.1 DSP TMS320 VC5509APGE芯片引脚图。 2.1.2 DSP开发环境 ccs 3.3,Easy5509开发板程序全部是基于TI 企业 CCS3.3 。 2.1.3 软件安装 1) 首先安装 CCS3.3。安装步骤可直接运行光盘中软件目录下 CCS 软件 setup.exe,按提醒操作,即可完成 CCS 安装,接着按手册说明次序安装CCS补丁软件 2)然后连接好硬件和仿真器,连和电脑接口,打开电脑设备管理器,寻求刚检测到未知设备,更新驱动,接着安装仿真器驱动,注意要和 CCS 安装在同一个目录; 3)打开set up ccs,设置。具体可看手册。最终能够打开ccs软件,进行编写程序,同时连接硬件,测试是否连接。 2.2 LCD1602液晶显示器 2.2.1 1602LCD液晶显示原理 LCD1602液晶显示器工作原理是利用液晶物理特征,经过电压对其显示区域进行控制,有电就有显示,这么即能够显示出图形。液晶显示器含有厚度薄、适适用于大规模集成电路直接驱动、易于实现全彩色显示特点,现在已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。 引脚图: 1602采取标准16脚接口,其中: 第1脚:VSS为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时实施指令。 第7~14脚:D0~D7为8位双向数据端。 第15~16脚:空脚或背灯电源。 第三章 主电路图及步骤图 4.1 主电路图 4.2程序总步骤图 该设计用DSP程序完成。程序总步骤图以下: 接通电源,DSP和时钟初始化,读取时钟数据,DSP进行处理程序,LCD1602显示器接收数据并进行显示。每200ms检测一次时间。 4.3程序分块步骤图 4.3.1 LCD1602液晶显示模块 当DSP一上电,显示一个时间,一定时间后,显示程序中设置时间,并实时刷新时间,将要要显示时间送入LCD1602中,实现万年历显示。利用LCD1602 16*2数组,自己设置两个长度为10数组,第一行显示年月日,第二行显示时分秒,如第一行:-12-12,第二行:12-12-12。秒表时间靠近于60秒意在能够快速检测分秒日月,是否能够转换增加。 4.3.2 时钟模块 先判定1s延迟是否到了,如否,如否,则返回,如是,则将秒加1,加到60秒时,分加1,并将秒置0,分加到60时,小时自动加1,当小时加到24时,天加1,天加到30时,月加1,月加到12时,年加1。从而实现万年历设计。 第四章 软件程序设计 #include <csl.h> #include <csl_pll.h> #include <csl_emif.h> #include <csl_chip.h> #include <stdio.h> #define led8 (*((unsigned int *)0x01)) #define Digital8 (*((unsigned int *)0x02)) #define LCD_REG (*((unsigned int *)0x03)) #define buzzer (*((unsigned int *)0x04)) #define USER_SW (*((unsigned int *)0x05)) #define LCD_DATA (*((unsigned int *)0x06)) #define UART_BASE_ADDR 0x08 #define RBR *((int *)(UART_BASE_ADDR+0)) #define THR *((int *)(UART_BASE_ADDR+0)) #define IER *((int *)(UART_BASE_ADDR+1)) #define IIR *((int *)(UART_BASE_ADDR+2)) #define FCR *((int *)(UART_BASE_ADDR+2)) #define LCR *((int *)(UART_BASE_ADDR+3)) #define MCR *((int *)(UART_BASE_ADDR+4)) #define LSR *((int *)(UART_BASE_ADDR+5)) #define MSR *((int *)(UART_BASE_ADDR+6)) #define SCR *((int *)(UART_BASE_ADDR+7)) #define DLL *((int *)(UART_BASE_ADDR+0)) #define DLM *((int *)(UART_BASE_ADDR+1)) #define comm 0 #define dat 1 /*要显示字符*/ unsigned char str1[]={"-12-30"}; unsigned char str2[]={"23-59-55"}; Uint16 nian,yue,ri,shi,fen,miao,a; void Delay(unsigned int nDelay); void wr_lcd(unsigned char dat_comm, unsigned int content); void delaynum(unsigned int d_time); /*锁相环设置*/ PLL_Config myConfig = { 0, //IAI: the PLL locks using the same process that was underway //before the idle mode was entered 1, //IOB: If the PLL indicates a break in the phase lock, //it switches to its bypass mode and restarts the PLL phase-locking //sequence 12, //PLL multiply value; multiply 12 times 2 //Divide by 2 PLL divide value; it can be either PLL divide value //(when PLL is enabled), or Bypass-mode divide value //(PLL in bypass mode, if PLL multiply value is set to 1) }; /*SDRAMEMIF设置*/ EMIF_Config emiffig = { 0x221, //EGCR : the MEMFREQ = 00,the clock for the memory is equal to cpu frequence // the WPE = 0 ,forbiden the writing posting when we debug the EMIF // the MEMCEN = 1,the memory clock is reflected on the CLKMEM pin // the NOHOLD = 1,HOLD requests are not recognized by the EMIF 0xFFFF, //EMI_RST: any write to this register resets the EMIF state machine 0x1fff, //CE3_1: CE0 space control register 1 0x00ff, //CE3_2: CE0 space control register 2 0x00ff, //CE3_3: CE0 space control register 3 0x1fff, //CE1_1: CE0 space control register 1 // Asynchronous, 16Bit 0x00ff, //CE1_2: CE0 space control register 2 0x00ff, //CE1_3: CE0 space control register 3 0x1FFF, //CE2_1: CE0 space control register 1 // Asynchronous, 16Bit 0xFFFF, //CE2_2: CE0 space control register 2 0x00FF, //CE2_3: CE0 space control register 3 0x1fff, //CE3_1: CE0 space control register 1 0x00ff, //CE3_2: CE0 space control register 2 0x00ff, //CE3_3: CE0 space control register 3 0x2911, //SDC1: SDRAM control register 1 // TRC = 8 // SDSIZE = 0;SDWID = 0 // RFEN = 1 // TRCD = 2 // TRP = 2 0x0410, //SDPER : SDRAM period register // 7ns *4096 0x07FF, //SDINIT: SDRAM initialization register // any write to this register to init the all CE spaces, // do it after hardware reset or power up the C55x device 0x0131 //SDC2: SDRAM control register 2 // SDACC = 0; // TMRD = 01; // TRAS = 0101; // TACTV2ACTV = 0001; }; /*************以下内容为LCD读写等函数**************/ TMS320VC5509 DSP External Memory Interface (EMIF) Reference Guide */ //*addr为CPLD寄存器操作专用指针 void delay(unsigned int d_time) { while(d_time--); } main() { int temp,k; CSL_init(); CHIP_RSET(XBSR,0x0a01); PLL_config(&myConfig); EMIF_config(&emiffig); a=20; nian=14; yue=12; ri=31; shi=23; fen=59; miao=55; wr_lcd(comm,0x01); //清屏指令 wr_lcd(comm,0x38); //设定LCD为16*2,5*7矩阵,8位数据接口 wr_lcd(comm,0x0f); //显示ON 光标ON,闪烁ON wr_lcd(comm,0x06); //文字不动,光标 while(1) { miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; ri++; if(ri==32) { ri=1; yue++; if(yue==13) { yue=1; nian++; if(nian==99) { nian=0; a++; } } } } } } str1[0]=a/10+0x30; str1[1]=a%10+0x30; str1[2]=nian/10+0x30; str1[3]=nian%10+0x30; str1[4]='-'; str1[5]=yue/10+0x30; str1[6]=yue%10+0x30; str1[7]='-'; str1[8]=ri/10+0x30; str1[9]=ri%10+0x30; str2[0]=shi/10+0x30; str2[1]=shi%10+0x30; str2[2]=':'; str2[3]=fen/10+0x30; str2[4]=fen%10+0x30; str2[5]=':'; str2[6]=miao/10+0x30; str2[7]=miao%10+0x30; wr_lcd(comm,0x80); //第一行字符地址 for(k=0;k<10;k++) { wr_lcd(dat,str1[k]); delay(200); } /* wr_lcd(comm,0x80); //第一行字符地址 for(k=0;k<16;k++) { wr_lcd(dat,str1[k]); delay(200); } */ wr_lcd(comm,0xc0); //第二行数据指针地址 for(k=0;k<8;k++) { wr_lcd(dat,str2[k]); delay(200); } delay(5000); } //LCD输出设置 } void delaynum(unsigned int d_time) { while(d_time--); } void wr_lcd(unsigned char dat_comm, unsigned int content) { Delay(40); if(dat_comm) { LCD_REG=0x01; LCD_DATA=content; //数据端口 LCD_REG=0x03; //en=0 delaynum(80); LCD_REG=0x00; //en=0 } else { LCD_REG=0x00; LCD_DATA=content; LCD_REG=0x02; //rs==1 en==0 写指令端口 delaynum(80); LCD_REG=0x00; //en=0 } Delay(100); } void Delay(unsigned int nDelay) { int ii,jj,kk=0; for ( ii=0;ii<nDelay;ii++ ) { for ( jj=0;jj<1024;jj++ ) { kk++; } } } * End of lcd.c 第五章 设计总结 在两周万年历课程设计中,我首先学到是软件安装,在前几天,一直安装CCS3.3和驱动,尽管电脑系统是32位,因为装不上补丁不能用。接下来学习就是软件编写,基础要求是可对年月日时分秒进行计数。当秒加到60时,分自动加1,当分加到60时,小时自动加1,当小时加到24,天加1,天加到30时,月加1,月加到12时,年加1。这部分我们原先需要用是定时器,不过一直无法显示出想要效果,最终是在老师指导下将定时器那部分程序直接用延时程序替换。最终将软硬件联络调试,在1602上正常显示时间并进行运作。 经过这两周学习,对DSP有了更深了解,掌握了对现有器件进行编程,实现多种简单地显示控制。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 专业课程 设计 总结报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文