




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计总结报告课程名称 DSP控制器及其应用 设计题目 万年历设计 专 业 电子信息工程 班 级 姓 名 学 号 指导教师 报告成绩 信息工程学院 二一四年六月十三日精品文档交流目 录前 言3第一章 设计要求41.1 基本要求41.2 提高要求4第二章 系统的组成和工作原理52.1 DSP TMS320 VC5509APGE芯片的工作原理52.2 LCD1602液晶显示器的工作原理6第三章 主电路图及程序流程图73.1主电路图73.2程序总流程图73.3程序分块流程图8第四章 软件程序设计94.1 程序94.2 调试与处理出现问题9第五章 设计总结20附录1:参考文献30前 言 随着科技的不断发展,诞生了越来越多的电子产品。比如手表,时钟等等,现在的钟表在功能设计上不断地完善,不仅仅可以显示时间(时分秒),而且可以显示年月日,星期几等等。 科技的发展离不开人类的不断努力,培养高科技人才是21世纪必做的事。作为祖国的接班人更要努力学习好电子信息这门科技专业。因此我们要不断的接触各种电子产品,加强对电子技术 技术理论的掌握和实际的应用 。在本次的实验中,我们就 以 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)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。 第三章 主电路图及流程图4.1 主电路图4.2程序总流程图该设计用DSP程序完成。程序总的流程图如下:接通电源,DSP和时钟初始化,读取时钟数据,DSP进行处理程序,LCD1602显示器接受数据并进行显示。每200ms检测一次时间。4.3程序分块流程图4.3.1 LCD1602液晶显示模块当DSP一上电,显示一个时间,一定时间后,显示程序中设置的时间,并实时刷新时间,将要要显示的时间送入LCD1602中,实现万年历的显示。利用LCD1602 16*2的数组,自己设置两个长度为10的数组,第一行显示年月日,第二行显示时分秒,如第一行:2014-12-12,第二行:12-12-12。秒表时间接近于60秒旨在能够快速的检测分秒日月,是否能够转换增加。4.3.2 时钟模块先判断1s延迟是否到了,如否,如否,则返回,如是,则将秒加1,加到60秒时,分加1,并将秒置0,分加到60时,小时自动加1,当小时加到24时,天加1,天加到30时,月加1,月加到12时,年加1。从而实现万年历的设计。第四章 软件程序设计#include #include #include #include #include #define led8 (*(unsigned int *)0x200001) #define Digital8 (*(unsigned int *)0x200002)#define LCD_REG (*(unsigned int *)0x200003) #define buzzer (*(unsigned int *)0x200004) #define USER_SW (*(unsigned int *)0x200005) #define LCD_DATA (*(unsigned int *)0x200006) #define UART_BASE_ADDR0x200008#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=2014-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);/*SDRAM的EMIF设置*/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+; str10=a/10+0x30; str11=a%10+0x30; str12=nian/10+0x30; str13=nian%10+0x30; str14=-; str15=yue/10+0x30; str16=yue%10+0x30; str17=-; str18=ri/10+0x30; str19=ri%10+0x30; str20=shi/10+0x30; str21=shi%10+0x30; str22=:; str23=fen/10+0x30; str24=fen%10+0x30; str25=:; str26=miao/10+0x30; str27=miao%10+0x30; wr_lcd(comm,0x80); /第一行字符地址for(k=0;k10;k+) wr_lcd(dat,str1k); delay(200); /* wr_lcd(comm,0x80); /第一行字符地址for(k=0;k16;k+) wr_lcd(dat,str1k); delay(200); */wr_lcd(comm,0xc0);/第二行数据指针的地址for(k=0;k8;k+) wr_lcd(dat,str2k); delay(200); delay(5000); /LCD输出设置 void delaynum(unsigned int d_time)while(d_time-);void wr_lcd(unsigned char dat_comm, unsigned int content) D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北承德市双滦区圣泉高级中学2024-2025学年高二下学期4月份月考数学试卷
- 肿瘤性肠梗阻
- 安全工作体系和流程
- 产科康复治疗宣教
- 脑机接口技术专利授权与产业化合作协议
- 智能电网运行维护补充协议
- 桥梁工程基础施工进度控制及验收服务合同
- 直播流量分成与直播旅游合作合同
- 房产继承优先权放弃及财产分配及补偿协议
- 国际海事法律事务处理服务协议
- 2025年中考道法答题技巧与模板构建专题08主观题答题技巧(观点概括类试)(学生版+解析)
- 1.1 细胞生活的环境 课件高二上学期生物人教版选择性必修1
- 2024-2025学年广东省深圳市高一数学下学期7月期末考试(附答案)
- “教-学-评”一体化下初中英语写作教学评价措施
- 2025团员考试试题及答案
- 2025年全国防灾减灾日专题培训课件
- 2025-2030中国氯氧化铋行业市场发展趋势与前景展望战略研究报告
- 视频监控介绍课件
- 2025年软件测试工程师考试题及答案
- 血管内导管相关性血流感染预防与诊治指南(2025)解读课件
- 2025年高考数学考前最后一课
评论
0/150
提交评论