DSP课程设计总结报告文档格式.docx
《DSP课程设计总结报告文档格式.docx》由会员分享,可在线阅读,更多相关《DSP课程设计总结报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
第一章设计要求......................................................错误!
1.1基本要求......................................................错误!
1.2提高要求......................................................错误!
第二章系统的组成和工作原理..............................错误!
2.1DSPTMS320VC5509APGE芯片的工作原理错误!
2.2LCD1602液晶显示器的工作原理...............................................6
第三章主电路图及程序流程图............................................................7
3.1主电路图.......................................................................................7
3.2程序总流程图...............................................................................7
3.3程序分块流程图...........................................................................8
第四章软件程序设计..............................................................................9
4.1程序..............................................................................................9
4.2调试与处理出现问题..................................................................9
第五章设计总结....................................................错误!
未定义书签。
!
错误.....................................................:
参考文献1附录.
前言
随着科技的不断发展,诞生了越来越多的电子产品。
比如手表,时钟等等,现在的钟表在功能设计上不断地完善,不仅仅可以显示时间(时分秒),而且可以显示年月日,星期几等等。
科技的发展离不开人类的不断努力,培养高科技人才是21世纪必做的事。
作为祖国的接班人更要努力学习好电子信息这门科技专业。
因此我们要不断的接触各种电子产品,加强对电子技术技术理论的掌握和实际的应用。
在本次的实验中,我们就以DSP芯片为核心控制电子钟,具有多项显示,用2812上的LCD液晶显示屏显示当前年、月、日、时、分、秒。
第一章设计要求
本次课程设计要求设计一个万年历,利用DSPTMS320
VC5509APGE芯片控制,使用程序来控制时间的实时更新,当秒加到60时,分自动加1,当分加到60时,小时自动加1,当小时加到24,天加1,天加到30时,月加1,月加到12时,年加1,使用I602上的LCD液晶显示屏显示当前年、月、日、时、分、秒。
对现有器件进行简单地编程,实现各种简单地显示控制。
1.1设计目的
1.学习软件的安装,熟悉运用CCSv3.3软件,加强软件编程能力;
2.学习DSP芯片的I/O端口的控制方法;
3.了解1602字符液晶的使用功能
4.能够对现有器件进行简单地编程,实现各种简单地显示控制。
1.2基本要求
⑴此系统先显示设定的当前时间(年月日时分秒),并进行计数
⑵设计硬件外扩电路,同时设计软件程序进行软硬件联系调试
连接仿真器,在液晶显示屏上进行显示⑶
第二章系统的组成和工作原理
2.1DSPTMS320VC5509APGE芯片
2.1.1DSPTMS320VC5509APGE芯片引脚图。
2.1.2DSP开发环境。
TI开发板的程序都是基于公司的CCS3.3ccs3.3,Easy5509
2.1.3软件安装
1)首先安装CCS3.3。
安装步骤可直接运行光盘中软件目录下的CCS软件的setup.exe,按提示操作,即可完成CCS的安装,接着按手册说明顺序安装CCS补丁软件
2)然后连接好硬件与仿真器,连与电脑接口,打开电脑的设备管理器,寻找刚检测到的未知设备,更新驱动,接着安装仿真器驱动,注意要和CCS安装在同一个目录;
3)打开setupccs,设置。
具体可看手册。
最后可以打开ccs软件,进行编写程序,同时连接硬件,测试是否连接。
2.2LCD1602液晶显示器
2.2.11602LCD液晶显示原理
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位双向数据端。
脚:
空脚或背灯电源。
16~第15
第三章主电路图及流程图
4.1主电路图
4.2程序总流程图
该设计用DSP程序完成。
程序总的流程图如下:
接通电源,DSP和时钟初始化,读取时钟数据,DSP进行处理程序,LCD1602检测一次时间。
200ms显示器接受数据并进行显示。
每
4.3程序分块流程图
4.3.1LCD1602液晶显示模块
当DSP一上电,显示一个时间,一定时间后,显示程序中设置的时间,并实时刷新时间,将要要显示的时间送入LCD1602中,实现万年历的显示。
利用LCD160216*2的数组,自己设置两个长度为10的数组,第一行显示年月日,第二行显示时分秒,如第一行:
2014-12-12,第二行:
12-12-12。
秒表时间接近于60秒旨在能够快速的检测分秒日月,是否能够转换增加。
4.3.2时钟模块
先判断1s延迟是否到了,如否,如否,则返回,如是,则将秒加1,加到60秒时,分加1,并将秒置0,分加到60时,小时自动加1,当小时加到24时,。
从而实现万年历的设计。
1时,年加12,月加到1时,月加30,天加到1天加.
第四章软件程序设计
#include<
csl.h>
csl_pll.h>
csl_emif.h>
csl_chip.h>
stdio.h>
#defineled8(*((unsignedint*)0x200001))
#defineDigital8(*((unsignedint*)0x200002))
#defineLCD_REG(*((unsignedint*)0x200003))
#definebuzzer(*((unsignedint*)0x200004))
#defineUSER_SW(*((unsignedint*)0x200005))
#defineLCD_DATA(*((unsignedint*)0x200006))
#defineUART_BASE_ADDR0x200008
*((int*)(UART_BASE_ADDR+0))#defineRBR
*((int*)(UART_BASE_ADDR+0))#defineTHR
*((int*)(UART_BASE_ADDR+1))#defineIER
*((int*)(UART_BASE_ADDR+2))#defineIIR
*((int*)(UART_BASE_ADDR+2))#defineFCR
*((int*)(UART_BASE_ADDR+3))#defineLCR
*((int*)(UART_BASE_ADDR+4))#defineMCR
*((int*)(UART_BASE_ADDR+5))#defineLSR
*((int*)(UART_BASE_ADDR+6))#defineMSR
*((int*)(UART_BASE_ADDR+7))#defineSCR
*((int*)(UART_BASE_ADDR+0))#defineDLL
*((int*)(UART_BASE_ADDR+1))
#defineDLM
#definecomm0
#definedat1
/*要显示的字符*/
unsignedcharstr1[]={?
4-12-30};
unsignedcharstr2[]={-59-55};
Uint16nian,yue,ri,shi,fen,miao,a;
voidDelay(unsignedintnDelay);
voidwr_lcd(unsignedchardat_comm,unsignedintcontent);
voiddelaynum(unsignedintd_time);
/*锁相环的设置*/
PLL_ConfigmyConfig={
0,//IAI:
thePLLlocksusingthesameprocessthatwasunderway
//beforetheidlemodewasentered
1,//IOB:
If