南邮课程设计电子钟CCS VC5509

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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块的位置即可,无需改变循环。

相关文档
最新文档