1、 VHDL 综合设计 实验报告 多功能电子计时器多功能电子计时器 学学 院院 电子与信息学院电子与信息学院 专专 业业 电子信息科学类电子信息科学类 评价等级评价等级 姓姓 名名 班班 级级 提交日期提交日期 2013 2013 年年 2 2 月月 27 27 日日 数字系统课程设计数字系统课程设计 一、学时与学分 课内学时:2 周 学分:2.0 二、教学目的与要求 本课程设计是一实践性课程,要求学生用自顶向下的模块设计方法和 VHDL 语言完成一个小型数字系统的设计,并可用可编程逻辑器件实现。 三、教学安排 1. 方案审核 要求 23 个学生自拟一个数字系统设计课题,其难度不得低于一个具有
2、校时、整点报时和闹时功能的数字钟。不允许抄袭他人的课题与方案。设 计方案应包括:设计要求、详细框图、控制器流程图。学生在规定时间内 将设计方案与指导教师讨论,通过后方可进入下一阶段学习(方案讨论时 间为 15 周 3 的课堂内) 。 2. 设计与实现 在微机和进阶实验板平台上完成, 通过逻辑模拟和实验板平台功能验证。 (因实验室板子有限,请同学们尽量利用课余时间到实验室调试) 3. 验收 在进阶实验板上下载,由教师验收平分。 4. 完成一份设计报告 四、评分标准 1. 比例: 作品 80% 报告 20% 2. 从创新、思想、难度、设计成果的可靠性、合理性等方面综合评价。 设计要求设计要求 1.
3、 本计时器存在电子时钟、定时器和秒表三种功能,并可以通过开关的选择,进 行不同功能的切换。 2. 电子时钟包括:24 时制的时间显示、日期显示、星期显示,并具有调时、整点 报时和闹钟功能。 3. 定时器可以进行 09999 秒的定时,中途可以暂停,继续和停止,定时结束会自 动提醒。 4. 秒表要求最大精度为 0.01s,并且有暂停、继续、重置按钮 进度安排进度安排和任务分工和任务分工 1. 任务分工任务分工 确定方案 模块及模块接口确定 任务分工 程序编写 各自仿真实现 整体调试 整体仿真 后期修改调整 2. 进度安排进度安排 多功能计时器 电子时钟 定时器 秒表 按模块分工,以模块难易程度均
4、匀分工,力保成员都能真正参与到设计中来,拒绝 打酱油 14 周确定题目 15 周做题目报告 期末前分工 假期编写各自模块 返校进去整合以及后期处理 3. 设计环境设计环境 Quartus 软件,基于 EP2C5T144C8 芯片的开发板。 整体设计整体设计 (有 QuartusII RTL Viewer 工具生成) 设计模块分析设计模块分析 1. LCD1602 液晶显示时液晶显示时钟脉冲模块钟脉冲模块 本实验采用 LCD1602液晶来显示。1602液晶也叫1602字符型液晶,它是一种专门用来 显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成, 每个点阵字符
5、位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起 到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。1602LCD 是指显 示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字) 。 (图片来源于网络) 用于将实验板上的50MHz 的信号分频成为,适合于液晶显示的时钟频率,经过实验的 测试以及查阅相关的资料, 1602的时钟可用周期为5ms 的信号, 产生的信号适合于液晶显示 的正常工作。 分频器代码实现如下: PROCESS(clk) V ARIABLE clk_out : std_logic := 0; BEGIN IF clkevent AND clk = 1 THEN count = “00111001“ THEN s2 = “00110101“ THEN s1 = “00111001“ THEN m2 = “00110101“ THEN m1 -SET year IF scan_flag=0 THEN count_1hz := 0; y1_temp =“00110000“ THEN date1 =“00110001“ THEN date1 =“00110001“ THEN date1 IF key1=1 THEN flag IF key1=1 THEN flag IF scan_flag=0 THEN h1_di