电子技术课程设计可编程时钟控制器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

设计功能要求 (2)

方案分析选择与系统框图 (3)

模块功能分析 (5)

仿真\下载结果 (8)

主要经验 (9)

操作指南 (10)

相关代码 (11)

设计功能要求

一.设计任务

数字钟不仅可以通过数字直观地显示日历,时间,用音乐及语言报时,还可以定时发出各种声,光,电信号,以及启动各种设备实现实时控制,时间顺序控制.如作息时间自动打铃,家电设备自动定时启动/停止,生产过程顺序控制等,用途很广.本课题的要求是:

1/设计一个具有时,分,秒计时,6位数字显示的时钟电路.

2/具有快速校准时,分的校时功能.

3/具有仿电台的自动整点报时功能或者发出与整点数目相等的音响声.

4/具有一定的扩展功能

二.设计要求

1/分析设计任务,拟定多种设计方案,根据当时的制作条件选择其中一种方案绘制系统框图和设计流程.

2/设计各部分单元电路或编写VHDL描述程序,计算元器件参数,确定元器件型号和数量,提出元件清单.

3/安装调试硬件电路或制作CPLD/FPGA为基础的专用集成芯片ASIC.

4/对制作的电路进行功能测试,分析各项技术指标,或对VHDL描述进行功能仿真,对ASIC作硬件测试或脱机运行.

5/总结设计各环节的资料,整理打印出设计报告(含原理电路,仿真波形).交验并演示设计制作的电路装置.

方案分析选择与系统框图

方案分析选择

1/使用的是开发板,故选择编写VHDL描述程序,并结合AltiumDesigner中提供的元件绘制原理图,下载到开发板上.

2/开发板上的资源包括:LCD显示屏,蜂鸣器,键盘,拨盘开关,各种频率的方波信号,各种对外接口,LED灯等.

根据板上资源和需要实现的功能,我选择了使用以下板上资源,并实现以下功能: LCD显示屏---用于显示时分秒计时

蜂鸣器---用于整点报时与闹铃功能

拨盘开关---用于时间设定,闹铃设定与声音开关

方波信号---经过分频后作为时钟信号输入和蜂鸣器发声

系统原理框图

硬件原理图

模块功能分析

计时模块

计时模块具有时,分,秒的计时功能,每收到一个时钟信号,秒个位计算加一,在各个位加满时,重新置零,并向下一位进一.同时,输出端口会把秒个位,秒十位,分个位,分十位,时个位,时十位的8位数字信号输出到各个模块.

显示模块

LCD显示模块需要将显示代码与位置代码输入控制模块并给与脉冲,就会在相应的位置显示相应的字符,为了使得显示没有滞后,因此给较高的脉冲频率.因为我们要显示时分秒一共6位数字,因此需要写一个LCD扫描输出模块,时刻显示变化的时间. LCD扫描输出需要把计时模块输出的8位BCD码加上48转化为ASC2码.并且在时分秒之间加入冒号区分.

存储器模块

存储器模块的地址信号为计时模块的分个位,分十位,时个位,时十位有效位,写入的信号由拨盘开关sw4控制,输出的信号到声音模块的使能.写入开关由拨盘开关sw3控制.在需要闹铃的时间写入一,那么就会读出一,对声音模块使能,使其发声.

整点报时模块

整点报时模块的输入取上图的几个关键数据,当这些数据都为1时,此时为整点报时的时间,则对声音模块使能,使其发声.

声音模块

声音模块包括音调选择以及开关整点报时与闹铃的模块.用来实现不同的要求与功能.

仿真\下载结果

计时模块仿真图

下载结果

第一次下载的时候,因为很多地方都不知道,不是没接好线就是没有改名字,造成编译正常但是无法下载的结果.后来通过自己的摸索与请教他人,终于实现了下载.但是下载后又发现了许多意想不到的错误.用了很长的时间,我才把这些都弄清楚并且解决掉.最后终于实现了自己的预定功能.

主要经验

在电子技术课程设计之前,我先做了单片机课程设计.做单片机课程设计的时候,是一边拿着板子一边不断下载测试,一点点完善程序的,但是当我做电子技术课程设计时,因为板子不在身边,所以自己在寝室写的程序无法验证.因此在这些地方浪费了很多时间,直到我在实验室待了两天时间,才把问题解决掉.所以我明白,做这种设计,必须不断的实践测试,才能知道自己不足在哪里,才知道设计有什么不完善的地方.无论做什么事,如果你手边有实验的条件,那么做什么事,学习什么东西都可以事半功倍.

还有,经验很重要.如果是一开始什么都没有做过,那么各种各样的问题会接踵而来,而且你不知道从何解决.但是当你有了经验后,就可以很快知道究竟在什么地方出现了问题.在开始阶段,如果有一个老师,那一定是无比幸运的事情.他能够告诉你你需要知道什么,能够告诉你如何发现错误,那样就节省了很多自己摸索的时间.

最后一点,要知道规则,如果连语言规则和软件规则都不知道,那么怎么能好好地设计呢?靠自己的摸索想要摸索规则不是不可以,但是也会花太多的时间.所以如果在开始阶段能够看几本基础的书,不需要记住,只要有印象,那么以后在碰到问题的时候就知道在哪里可以找到解决方法,就可以容易地学习好这个课程.

总结起来,电子技术课程设计的学习,如果有3点条件,就可以比较简单的入门了.

1/看关于语言规则,软件操作的书.熟悉基础.

2/多做实验,从实验中获得丰富的经验.

3/多向别人请教.

操作指南

本设计使用拨盘开关作为控制输入.

sw0为LCD灯开关,打上为关,打下为开.

sw1为闹铃开关,打上为关,打下开.

sw2为整点报时开关, 打上为关,打下开.

sw3为闹铃写入开关,打上为关,打下为RAM写入模式,此时可以利用sw4设定闹铃.

sw4为闹铃设定开关,在sw3为写入时有效,打上为取消闹铃,打下为设定闹铃.

sw5为时调整,打上为关,打下为开始时调整,此时分秒均置为零,时以每秒1的速度增加.

sw6为分十位调整, 打上为关,打下为开始分十位调整,此时分个位和秒均置为零,分十位以每秒1的速度增加.

sw7为分十位调整, 打上为关,打下为开始分个位调整,此时秒均置为零,分个位以每秒1的速度增加.

提醒,调整时间时,应按一下顺序调整.时-分十位-分个位

相关文档
最新文档