南邮课程设计电子钟CCS VC5509
南邮课程设计电子钟CCS VC5509

通信与信息工程学院2016 /2017 学年第 1 学期课程设计报告模块名称DSP技术及应用专业电子信息工程学生班级学生学号学生姓名指导教师王奇王明伟吴庆国卢敏目录一、设计任务及要求 (4)1.1 设计电子时钟,要求有报时功能。
(4)1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。
(4)二、相关原理简介 (4)2.1 液晶显示器显示原理 (4)2.1.1 EMIF 接口 (4)2.1.2 液晶显示模块的访问 (4)2.1.3 显示控制方法 (4)2.1.4 数据信号的传送 (5)2.1.5 程序流程图 (5)2.2 音频信号发生原理 (6)2.2.1 EMIF 接口 (6)2.2.2 蜂鸣器 (6)2.2.3 蜂鸣器的连接 (6)2.2.4 程序流程图 (6)三、设计方案与实现 (6)3.1 设计方案 (6)3.1.1 数字时钟选择方案 (6)3.1.2 液晶显示屏显示方案 (8)3.1.3 蜂鸣器整时报时 (8)3.2 设计结果 (8)四、调试过程及问题解决 (8)五、体会与建议 (9)参考文献 (9)附录 (10)DSP技术及应用课程设计报告一、设计任务及要求1.1 设计电子时钟,要求有报时功能。
1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。
二、相关原理简介2.1 液晶显示器显示原理2.1.1 EMIF 接口TMS320C5509DSP 的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
2.1.2 液晶显示模块的访问液晶显示模块的访问、控制是由 5509ADSP 对扩展接口的操作完成。
控制口的寻址:命令控制接口的地址为 0x602800,数据控制接口的地址为 0x602801 和0x600802,辅助控制接口的地址为 0x600801。
南邮大四课程设计

一、EMIF 接口上的I/O接口扩展一.实验原理1.TMS320VC5509DSP 的EMIF 接口:存储器扩展接口(EMIF)是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和寄存器映射的外设。
-ICETEK-VC5509-A 评估板在EMIF 接口上除了扩展了片外SDRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。
具体扩展地址如下:400800-400802h:D/A 转换控制寄存器400000-400000h:板上DIP 开关控制寄存器400001-400001h:板上指示灯控制寄存器-与ICETEK-VC5509-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备:602800-602800h:读-键盘扫描值,写-液晶控制寄存器600801-600801h:液晶辅助控制寄存器602801h 、600802h:液晶显示数据寄存器602802-602802h:发光二极管显示阵列控制寄存器2.指示灯扩展原理3.实验程序流程图:二.实验步骤1.实验准备:关闭实验箱上扩展模块和信号源电源开关。
2.设置Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行。
3.启动Code Composer Studio 2.21:选择菜单Debug→Reset CPU。
4.打开工程文件:工程文件为:C:\ICETEK-VC5509-EDULab\Lab0301-LED\LED.pjt。
打开源程序LED.c。
5.编译、下载程序。
6.运行程序,观察结果。
7.退出CCS:三.部分程序代码// 定义指示灯寄存器地址和寄存器类型#define LBDS (*((unsigned int *)0x400001))// 子程序接口void Delay(unsigned int nDelay); // 延时子程序int i;main(){unsigned int uLED[4]={1,2,4,8}; // 控制字,逐位置1: 0001B 0010B 0100B 1000B CLK_init(); // 初始化DSP运行时钟SDRAM_init(); // 初始化EMIF接口while ( 1 ){for ( i=0;i<4;i++ ){LBDS=uLED[i]; // 正向顺序送控制字Delay(256); // 延时}for ( i=3;i>=0;i-- ){LBDS=uLED[i]; // 反向顺序送控制字Delay(32); // 延时【延时256->32】}}}四.实验结果映射在扩展存储器空间地址上的指示灯寄存器在设置时是低4位有效的,数据的最低位对应指示灯D1,次低位对应D2,...依次类推。
南邮CCS仿真设计要求及设计课题

CCS仿真设计要求一、设计目的与任务本课程总的目的是让学生通过实验学习数字信号处理器的开发软件CCS的使用,掌握数字信号处理算法的软件仿真及DSP实现,培养学生的实际动手能力。
要求学生理解实验原理及实验方案,掌握正确的操作规程;完成所列课题中的学习任务,结合自己的兴趣,选择完成综合设计课题三、考核及报告要求考核:学生软件设计考核成绩包含以下方面:考勤及工作态度(占10%)软件设计报告(占10%)学习内容的完成情况和设计课题的完成情况(占80%)报告:1、验收后提交设计报告。
电子档及纸质设计报告各一份。
2、软件设计报告内容包括:·所选题目·对选题的理解(题目要求概述)·实现方案(设计要点、难点和特色点)及代码·调试过程以及遇到的问题和解决办法·体会和建议3)软件设计报告封面格式采用学院规定的统一格式四、主要仪器设备硬件:计算机软件: WINDOWS操作系统、CCS软件和MATLAB(含SIMULINK工具包)软件。
五、教材及参考书[1] ICETEK–VC5509-A-USB-EDU教学实验系统软件实验指导(电子版)[2] Code Composer StudioProject Management and Editing Tools(电子版)[3] TMS320C55xAssembly Language Tools User’s Guide(电子版)[4] TMS320C55x Optimizing C/C++ CompilerUser’s Guide(电子版)[5] 彭启琮等.TMS320VC55x系列DSP的CPU与外设.北京:清华大学出版社,2005[6] 尹勇、欧光军.DSP集成开发环境CCS开发指南.北京:北京航空航天大学出版社,2004[7] TMS320C55x DSP Programmer’s Guide(电子版)[8] TMS320C55x DSP Algebraic Instruction Set Reference Guide(电子版)相关实验资料在通院通信与信息处理实验教学中心网站下载。
电子钟课程设计制作

电子钟课程设计制作一、教学目标本课程旨在让学生了解电子钟的基本原理,掌握电子钟的制作方法,培养学生的动手能力和创新能力。
具体目标如下:1.知识目标:使学生了解电子钟的工作原理,掌握基本的电子元件焊接技巧,了解时钟芯片的使用方法。
2.技能目标:培养学生独立完成电子钟的设计与制作,提高学生的实际操作能力。
3.情感态度价值观目标:培养学生对科技创新的热爱,增强学生的团队协作意识,提高学生解决问题的能力。
二、教学内容本课程的教学内容主要包括电子钟的工作原理、电子元件的认识与焊接、时钟芯片的使用以及电子钟的制作。
具体安排如下:1.电子钟的工作原理:介绍电子钟的基本构成,解释各部分的作用。
2.电子元件的认识与焊接:介绍常见的电子元件,如电阻、电容、二极管等,以及它们的焊接方法。
3.时钟芯片的使用:讲解时钟芯片的原理,演示如何使用时钟芯片来驱动电子钟。
4.电子钟的制作:指导学生动手制作电子钟,培养学生实际操作能力。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体应用如下:1.讲授法:用于讲解电子钟的工作原理和时钟芯片的使用方法。
2.讨论法:鼓励学生就电子钟制作过程中遇到的问题进行讨论,共同寻找解决方案。
3.案例分析法:分析典型的电子钟制作案例,帮助学生掌握制作技巧。
4.实验法:指导学生动手制作电子钟,培养学生的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的电子钟制作教材,为学生提供系统的学习资料。
2.参考书:提供丰富的电子钟制作相关书籍,方便学生课后拓展学习。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,帮助学生更好地理解电子钟的制作过程。
4.实验设备:准备充足的实验设备,如电子元件、焊接工具等,确保每个学生都能动手实践。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式,包括平时表现、作业、考试等。
c电子时钟课程设计

c 电子时钟课程设计一、课程目标知识目标:1. 学生能够理解电子时钟的基本原理,掌握电子时钟的主要部件及其功能。
2. 学生能够掌握时、分、秒的概念,学会电子时钟的时间设置与调整。
3. 学生能够了解电子时钟的设计与制作过程,掌握基本的电路连接方法。
技能目标:1. 学生能够运用所学知识,独立完成电子时钟的组装与调试。
2. 学生能够运用电子时钟的设计原理,进行简单的时钟程序编写与优化。
3. 学生能够通过实际操作,培养动手能力、逻辑思维能力和问题解决能力。
情感态度价值观目标:1. 学生通过学习电子时钟的制作,培养对科学技术的热爱和兴趣,增强创新意识。
2. 学生在团队协作中,学会互相帮助、沟通与交流,培养合作精神。
3. 学生能够认识到时间的宝贵,养成珍惜时间、合理安排时间的好习惯。
课程性质:本课程为电子技术实践课程,旨在让学生通过动手实践,掌握电子时钟的基本原理与制作方法。
学生特点:五年级学生具有一定的认知能力、动手能力和逻辑思维能力,对新鲜事物充满好奇。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,引导学生在实践中探索、发现、解决问题。
将课程目标分解为具体的学习成果,以便在教学设计和评估中实现课程目标的有效落实。
二、教学内容1. 电子时钟基本原理:电子时钟的工作原理、主要部件(如晶体振荡器、分频器、计数器、显示器件等)及其功能。
教材章节:《电子技术》第五章第二节2. 时间概念与电子时钟设置:时、分、秒的概念,电子时钟的时间设置与调整方法。
教材章节:《电子技术》第五章第三节3. 电子时钟设计与制作:电子时钟的设计流程、电路连接方法,以及组装与调试技巧。
教材章节:《电子技术》第五章第四节、第五节4. 时钟程序编写与优化:基于电子时钟原理,进行简单的时钟程序编写与调试。
教材章节:《电子技术》第五章第六节5. 实践操作与作品展示:学生分组进行电子时钟的组装、调试,展示作品并进行评价。
教材章节:《电子技术》第五章实践环节教学进度安排:第一课时:电子时钟基本原理及主要部件介绍第二课时:时间概念与电子时钟设置方法第三课时:电子时钟设计与制作(一)第四课时:电子时钟设计与制作(二)第五课时:时钟程序编写与优化第六课时:实践操作与作品展示教学内容确保科学性和系统性,结合教材章节,以理论与实践相结合的方式进行教学,旨在帮助学生掌握电子时钟相关知识,培养动手能力与创新能力。
555定时器-电子课程设计解析

摘要 (2)1. Multisim软件的简介 (3)2. 系统设计总体方案 (3)2.1 设计基本思路 (3)2.2 设计总流程图 (4)3. 555定时器,CD4518和CD4011介绍 (4)3.1 555定时器 (4)3.2 CD4518 (6)3.3 CD4011引脚图 (8)4. 数字逻辑控制,脉冲信号产生,计数器计数和数码管显示模块电路图 (9)4.1 数字逻辑控制模块 (9)4.1.1 数字逻辑控制模块电路图 (9)4.1.2 数字逻辑控制模块原理 (10)4.2 脉冲信号产生模块 (10)4.2.1 脉冲信号产生模块电路图 (10)4.2.2 冲信号产生模块原理 (11)4.3 计数器计数模块 (12)4.3.1 计数器计数电路图 (12)4.3.2 计数器计数模块原理 (13)4.4 显示器模块 (13)5. 电路的总体设计与调试 (14)5.1 总体电路原理图 (14)5.2 总电路工作原理 (14)6. 课程设计收获与体会 (15)7. 参考文献 (15)本次课程设计利用555定时器以及数字逻辑芯片和数码管实现数字电子计时器功能,计时器显示0~99计数,在实际生活中应用很广。
根据日常生活中观察,数字式计时器设计成型后供扩展的方面很多,例如自动报警、按时自动打铃等。
因此,与机械式时钟相比具有更高的可视性和精确性,而且无机械装置,具有更长的使用寿命,所以研究数字钟及扩大其应用,有着非常现实和实际的意义。
目前,数字计数器的功能越来越强,并且有多种专门的大规模集成电路可供选择。
但从知识储备的角度考虑,本设计是以中小规模集成电路设计数字钟的一种方法。
数字计数器包括组合逻辑电路和时序电路。
1. Multisim软件的简介Multisim是美国国家仪器〔NI〕推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。
它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。
电子钟课程设计报告

电子钟课程设计报告一、课程目标知识目标:1. 学生能理解电子钟的基本原理,掌握电子钟的组成、工作方式及相关电子元件的功能。
2. 学生能描述电子钟中数字电路的基本逻辑关系,理解时、分、秒的计算方法。
3. 学生了解电子钟的调试与检修方法,掌握基本的时间调整与故障排查技巧。
技能目标:1. 学生能运用所学知识,动手组装简单的电子钟电路,并能正确进行调试。
2. 学生能通过实际操作,学会使用万用表、电烙铁等基本电子工具,培养实际动手能力。
3. 学生能通过团队合作,解决电子钟组装过程中遇到的问题,提高问题分析和解决能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发创新意识,提高科学探究的积极性。
2. 学生在团队协作中,学会尊重他人,培养良好的沟通与协作能力。
3. 学生通过学习电子钟的制作过程,认识到时间的宝贵,培养珍惜时间、严谨细致的态度。
课程性质:本课程为实践性较强的电子技术课程,旨在让学生在动手实践中掌握电子钟的基本原理和组装调试技能。
学生特点:五年级学生对电子技术有一定的好奇心,具备基本的动手能力,但需加强对电子元件和电路的理解。
教学要求:注重理论与实践相结合,关注学生的个体差异,引导学生在动手实践中学习,培养其创新思维和团队协作能力。
通过课程目标的具体分解,为后续教学设计和评估提供明确方向。
二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 电子钟原理及组成- 介绍电子钟的基本原理,包括时、分、秒的计算方法。
- 电子钟的组成:时钟振荡器、分频器、计数器、显示器等。
- 教材章节:第三章“数字电路基础”及第四章“时钟电路”。
2. 电子元件及其功能- 学习常用电子元件:电阻、电容、二极管、三极管等。
- 电子元件在电子钟中的应用及其功能。
- 教材章节:第二章“常用电子元件”。
3. 电子钟组装与调试- 学习电子钟的组装方法,包括焊接技术、电路连接等。
- 掌握电子钟的调试技巧,如时间调整、故障排查等。
电子钟课程设计

电子钟课程设计一、课程目标知识目标:1. 学生能理解电子钟的基本原理,掌握电子钟的组成结构及其功能。
2. 学生能掌握时、分、秒的概念,学会电子钟时间的设置与调整。
3. 学生了解电子钟的制作过程,掌握相关电子元件的使用方法。
技能目标:1. 学生能运用所学知识,动手制作一个简单的电子钟。
2. 学生通过实践操作,培养解决实际问题的能力,提高动手实践能力。
3. 学生能够运用电子钟的制作过程,学会分析问题、解决问题,提高创新思维。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发探索科学技术的热情。
2. 学生通过合作完成电子钟的制作,培养团队协作精神和沟通能力。
3. 学生在电子钟制作过程中,学会珍惜时间,养成良好的时间观念。
4. 学生能够认识到科技对社会发展的作用,增强社会责任感和使命感。
课程性质:本课程为实践性较强的课程,结合理论知识和动手操作,培养学生的实际操作能力。
学生特点:五年级学生具有一定的认知能力、动手能力和创新能力,对新鲜事物充满好奇。
教学要求:结合学生特点,注重理论与实践相结合,强调学生的动手实践能力和创新思维能力的培养。
在教学过程中,关注学生的个体差异,鼓励学生提问、思考、探索,实现课程目标的分解和达成。
二、教学内容1. 电子钟原理及组成:介绍电子钟的基本工作原理,电子钟的各部分组成及其功能,如振荡器、分频器、计数器、显示装置等。
2. 时、分、秒的概念与换算:学习时间的基本单位,掌握时、分、秒之间的换算关系,为电子钟时间设置打下基础。
3. 电子元件认识:学习常用电子元件,如电阻、电容、二极管、三极管等,了解其作用和正确使用方法。
4. 电子钟的制作:结合教材内容,指导学生动手制作一个简单的电子钟,包括电路图的绘制、元件的安装、电路调试等。
5. 时间设置与调整:教授电子钟时间设置的方法,让学生学会如何调整电子钟的时间,确保其准确运行。
6. 故障排查与解决:培养学生分析问题、解决问题的能力,当电子钟出现故障时,能够进行简单的排查与修复。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信与信息工程学院2016 /2017 学年第 1 学期课程设计报告模块名称DSP技术及应用专业电子信息工程学生班级学生学号学生姓名指导教师王奇王明伟吴庆国卢敏目录一、设计任务及要求 (4)1.1 设计电子时钟,要求有报时功能。
(4)1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。
(4)二、相关原理简介 (4)2.1 液晶显示器显示原理 (4)2.1.1 EMIF 接口 (4)2.1.2 液晶显示模块的访问 (4)2.1.3 显示控制方法 (4)2.1.4 数据信号的传送 (5)2.1.5 程序流程图 (5)2.2 音频信号发生原理 (6)2.2.1 EMIF 接口 (6)2.2.2 蜂鸣器 (6)2.2.3 蜂鸣器的连接 (6)2.2.4 程序流程图 (6)三、设计方案与实现 (6)3.1 设计方案 (6)3.1.1 数字时钟选择方案 (6)3.1.2 液晶显示屏显示方案 (8)3.1.3 蜂鸣器整时报时 (8)3.2 设计结果 (8)四、调试过程及问题解决 (8)五、体会与建议 (9)参考文献 (9)附录 (10)DSP技术及应用课程设计报告一、设计任务及要求1.1 设计电子时钟,要求有报时功能。
1.2 显示器用液晶显示屏,报时可用蜂鸣器完成。
二、相关原理简介2.1 液晶显示器显示原理2.1.1 EMIF 接口TMS320C5509DSP 的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
2.1.2 液晶显示模块的访问液晶显示模块的访问、控制是由 5509ADSP 对扩展接口的操作完成。
控制口的寻址:命令控制接口的地址为 0x602800,数据控制接口的地址为 0x602801 和0x600802,辅助控制接口的地址为 0x600801。
2.1.3 显示控制方法液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
其地址与象素的对应方式如表1:发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制接口写入命令控制字,然后再向辅助控制接口写入0。
下面是基本命令字、解释和 C语言控制语句。
举例:显示开关:0x3f 打开显示、0x3e 关闭显示;设置显示起始行:0x0c0+起始行取值,其中起始行取值为 0 至 63;设置操作页:0x0b8+页号,其中页号取值为 0-7;设置操作列:0x40+列号,其中列号为取值为 0-63;写显示数据:在使用命令控制字选择操作位置之后,可以将待显示的数据写入液晶显示模块的缓存。
将数据发送到相应数据控制 I/O 接口即可。
2.1.4 数据信号的传送由于液晶显示模块相对运行在高主频下的 DSP 属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;电平转换:由于 DSP 为 3.3V 设备,而液晶显示模块属于 5V 设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:ICETEK-CTR 板上使用了74LS245。
2.1.5 程序流程图,如图1:图1 程序流程图2.2 音频信号发生原理2.2.1 EMIF 接口TMS320C5509DSP 的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
2.2.2 蜂鸣器蜂鸣器由 DSP 通用 I/O 管脚输出控制,可将此管脚上的频率输出转换成声音输出。
5509A 的通用 I/O 口 S13 控制蜂鸣器的输出频率。
控制的方法是使用DSP 通用定时器设置 S13 以一定的频率改变高低状态,输出方波。
对于通用定时器周期寄存器的设置,计数值为所需频率计数值的二分之一。
2.2.3 蜂鸣器的连接由于选用的蜂鸣器所需电流较小,所以采用将 DSP 通用 I/O 引脚直接驱动的方式。
2.2.4 程序流程图,如图2:图2 程序流程图三、设计方案与实现3.1 设计方案3.1.1 数字时钟选择方案使用软件实现数字时钟。
原理:利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分值加1;若分值达到60,则清零,并将时值加1;若时值达到24,则清零。
由于是软件实现,当DSP芯片不上电,程序不执行时,时钟将不工作。
具体流程图如图3:图3 程序流程图3.1.2 液晶显示屏显示方案液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
3.1.3 蜂鸣器整时报时由于选用的蜂鸣器所需电流较小,所以采用将 DSP 通用 I/O 引脚直接驱动的方式。
程序首先设置全局控制寄存器中的BUZZE位为‘1’,再使用DSP通用定时器设置DX0以一定的频率改变高低状态,输出方波。
3.2设计结果如图4,示意图截取了00:00:04时和01:31:52时刻的计时片段:图4 设计结果四、调试过程及问题解决1、在设计初期,我们做了与设计相关的两个例程403液晶显示器控制显示和405音频信号发生。
例程肯定是没问题,可是液晶显示屏总是显示不出来。
最后发现是USB线的问题,换了USB线就好了。
2、在程序编写阶段,我们采用了比较复杂的一个实现方案。
即将液晶显示屏分出六个8*8的小块,个位得10进1,秒针得60即分针进1。
循环嵌套过多,分针的十位超过6了就出现乱码。
于是我们采用了另一种方案,即将液晶显示屏分为三个功能模块,即时针模块,分针模块,秒针模块。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分值加1;若分值达到60,则清零,并将时值加1;若时值达到24,则清零。
3、在编写代码过程中,我们采取的方案是先实现两位从00加到60,再在两位的基础上加到4位,再到6位。
过程中不可避免分针和秒针得顺序颠倒问题。
秒针占据0到16像素、分针占据16到32像素时结果为正确,修改循环后确实实现了两者位置的颠倒,却在分针处出现乱码。
正确修改方案为直接修改定义8*8块的位置即可,无需改变循环。
五、体会与建议本次的课程设计主要是针对LCD液晶显示模块进行实现功能的代码编写。
设计之初,就出现了无法突破的难题。
换了好几台电脑和硬件箱子,最简单的例程始终出不来,最后解决了竟然发现是USB线的问题,这件事情告诉我,当出现问题时,要考虑涉及设计结果的所有方面,而不能理所当然的认为其中一个部分肯定没问题。
解决了硬件问题,接着在整个的程序设计和操作阶段都还比较的顺利,但是在后期的调试过程中又发现一些错误,这是由于我最初设计的时候不够细致所造成的。
在调试过程中,一遍遍检查代码,自己觉得循环没有一点问题,可是下载程序运行之后,一进位到分钟的部分就出现乱码,心情也就特别烦躁,越烦躁越做不出来。
在调试过程中,难免会遇到很难解决或者自己无法解决的问题,在遇到问题时,要沉着冷静,首先自己要不断尝试修改,实在无法完成时,也要适当向同学、老师寻求帮助,在交流中收获知识,达到查漏补缺的效果。
当自己完成设计的调试运行,看到设计达到要求的时刻,是设计最快乐的时刻。
通过课题的研究与设计,使我进一步掌握了 DSP 基本理论,对 DSP 技术及DSP 技术的应用有了更深刻的认识,并使自己所学的各种知识得到了全面的应用,提高了分析问题解决问题的能力。
最后,由衷的感谢学校给了我这次学习进步锻炼自我的机会,感谢王老师在我有问题的时候不辞辛苦一遍遍指导、一遍遍运行帮我找出问题所在,这次设计我收获很多。
参考文献[1] 郑红、王鹏、董云凤、吴冠.《DSP应用系统设计实践》.北京航空航天大学出版社,2006.4.[2] 赵红怡.《DSP技术与应用实例》.电子工业出版社,2003.6.[3] 万山明《TMS320F281xDSP原理与应用实例》北京航空航天大学出版社,2007.7.附录:主程序代码:#define LCDDELAY 1#include "myapp.h"#include "ICETEK-VC5509-EDU.h"#include "scancode.h"void beep(){int k;for (k=0;k<24;k++){CTRGR=0;Delay(2);CTRGR=8;Delay(2);}}void Second1(void);int a=0,b=0,c=0,d=0,e=0,f=0,g=0; int d1=0,d2=0,d3=0,d4=0,d5=0;void Showmh2(void){ int i=0;CTRLCDCMDR=0x68; // 起始列=0CTRLCDCR=0;for( i=0;i<8;i++){CTRLCDCMDR=0x70;CTRLCDLCR=ledmh[i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}}void Showmh(void){ int i=0;// 设置操作页=0CTRLCDCMDR=0x50; // 起始列=0CTRLCDCR=0;for( i=0;i<8;i++){CTRLCDCMDR=0x70;CTRLCDLCR=ledmh[i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}}void Hour2(void){ int i=0;// 设置操作页=0CTRLCDCMDR=0x40; // 起始列=0CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[g][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}g++;if (g==2){g=0;}}void Hour1(void){int i=0;// 设置操作页=0CTRLCDCMDR=0x48; // 起始列=0CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[f][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}if(d5==1){Hour2();d5--;}f++;if (f==10 ){d5++;f=0;}}void Minute2(void){ int i=0;// 设置操作页=0CTRLCDCMDR=0x58; // 起始列=0CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[e][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}if(d4==1){Hour1();d4--;}e++;if (e==6 ){d4++;e=0;}}void Minute1(void){int i=0;CTRLCDCMDR=0x60; // 起始列=0CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[c][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}if(d3==1){Minute2();beep();d3--;}c++;if (c==10 ){d3++;c=0;}}void Second2(void){int i=0;// 设置操作页=0CTRLCDCMDR=0x70; // 起始列=0CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[b][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;}if(d2==1){Minute1();d2--;}b++;if (b==6 ){b=0;d2++;}}void Second1(void){int i=0;// 设置操作页=0CTRLCDCMDR=0x78;CTRLCDCR=0;for ( i=0;i<8;i++ ){CTRLCDLCR=ledkey[a][i]; // 屏幕左侧第1至8行第i列赋值port8002=0; // (赋值后当前操作列自动加1,所以不需设置)CTRLCDCR=0;Delay(LCDDELAY);}if(d1==1){Second2();d1--;}Delay(0);a++;if ( a==10 ){ d1++;a=0;}}void IntiTime(void){ Second1();Second2();Minute1();Minute2();Hour1();Hour2();Showmh();Showmh2();}main(){CLK_init();SDRAM_init();InitCTR();TurnOnLCD(); // 打开显示LCDCLS();// 清除显示内存//CTRLCDCMDR=LCDCMDPAGE; // 设置操作页=0//CTRLCDCMDR=LCDCMDSTARTLINECTRLCDCMDR=LCDCMDPAGE; // 设置操作页=0 Delay(LCDDELAY);CTRLCDCR=0;Delay(LCDDELAY);CTRLCDCMDR=LCDCMDVERADDRESS; // 起始列=0Delay(LCDDELAY);CTRLCDCR=0;Delay(LCDDELAY);//CTRLCDCR=0;CTRGR=8;IntiTime();for (;;){Second1();}}设计成绩评定。