EDA技术及应用课程设计-数字时钟设计.doc_第1页
EDA技术及应用课程设计-数字时钟设计.doc_第2页
EDA技术及应用课程设计-数字时钟设计.doc_第3页
EDA技术及应用课程设计-数字时钟设计.doc_第4页
EDA技术及应用课程设计-数字时钟设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州航空工业管理学院EDA技术及应用课程设计说明书 2013 届 电子信息工程 专业 1313084 班级题 目 数字时钟设计 学 号 姓 名 指导教师 二一 五 年 6 月 26日一、数字时钟原理 一个完整的时钟应由三部分组成:秒脉冲发生电路、计数显示部分和时钟调整部分。1.1秒脉冲发生电路原理:一个时钟的准确与否主要取决于秒脉冲的精确度。为了保证计时准确我们对系统时钟48MHz进行了48000000分频,从而得到1Hz的秒脉冲。1.2计数显示部分原理:显示部分是用数码管LED实现的,这里使用的是共阳极的数码管如图所示8个数码管,其中左边两个数码管用来显示时的个位和十位、中间的显示分的个位和十位、最右边两个显示分的个位和十位。1.3时钟调整部分原理:校时电路里定义key0、key1和k3、k4用于控制时钟的计时开始、清零和调整功能中的时的加1、分的加1处理,从而完成对现在的时间调整。本实验电路校时电路在此完成了暂停、清零、时调整和分调整。二、数字时钟硬件设计芯片图程序的调试工作都是在电脑上完成的,通过程序的输入、原理图的建立、管脚分配、编译、仿真、再下载到芯片进行运行。R26、R27、R2、R29、R30、R31、R3、R33、限流电阻,电路中采用共阳极连接的七段数码管,通过程序的控制扫描驱动来显示时钟的时-分-秒。程序中的按键设定为K1暂停、K2清零、K3调时、K4调分。元件清单: 元件参数个数电阻(R1-R10)10k10电阻(R11)501电阻(R12-R25)1K14电阻(R26-R33)2008独石电容(C1-C7)1046电解电容(C7)10uF/50V1按键(S1-S7)弹式4三极管(Q1-Q8)S90139晶振X0-105BHC1芯片EPM7064AEL1441三、 数字时钟的Verilog实现:管脚的分配:程序:module clock(clk,key,k3,k4,dig,seg) /模块名clockinput clk,k3,k4,;/输入时钟input1:0 key;/输入按键output7:0dig;/数码管选择输出引脚output7:0 seg;/数码管段输出引脚reg7:0 seg_r;/定义数码管输出寄存器reg7:0 dig_r;/定义数码管选择输出寄存器reg3:0 disp_dat;/定义显示数据寄存器reg24:0count;/定义计数寄存器reg23:0hour;/定义现在时刻寄存器reg sec,keyen;/定义标志位reg1:0dout1,dout2,dout3;/寄存器wire1:0key_done;/按键消抖输出assign dig = dig_r;/输出数码管选择assign seg = seg_r;/输出数码管译码结果/秒信号产生部分always (posedge clk) /定义clock上升沿触发begincount = count + 1b1;if(count = 25d24000000)/0.5S到了吗?begincount = 25d0;/计数器清零sec = sec;/置位秒标志endend/按键消抖处理部分assign key_done = (dout1 | dout2 | dout3);/按键消抖输出always (posedge count17)begindout1 = key;dout2 = dout1;dout3 = dout2;endalways (negedge key_done0)beginkeyen = keyen;/将琴键开关转换为乒乓开关end/数码管动态扫描显示部分always (posedge clk) /count17:15大约1ms改变一次begincase(count17:15)/选择扫描显示数据3d0:disp_dat = hour3:0;/秒个位3d1:disp_dat = hour7:4;/秒十位3d2:disp_dat = 4ha;/显示-3d3:disp_dat = hour11:8;/分个位3d4:disp_dat = hour15:12;/分十位3d5:disp_dat = 4ha;/显示-3d6:disp_dat = hour19:16;/时个位3d7:disp_dat = hour23:20;/时十位endcasecase(count17:15)/选择数码管显示位3d0:dig_r = 8b11111110;/选择第一个数码管显示3d1:dig_r = 8b11111101;/选择第二个数码管显示3d2:dig_r = 8b11111011;/选择第三个数码管显示3d3:dig_r = 8b11110111;/选择第四个数码管显示3d4:dig_r = 8b11101111;/选择第五个数码管显示3d5:dig_r = 8b11011111;/选择第六个数码管显示3d6:dig_r = 8b10111111;/选择第七个数码管显示3d7:dig_r = 8b01111111;/选择第八个数码管显示endcaseendalways (posedge clk)begincase(disp_dat)4h0:seg_r = 8hc0;/显示04h1:seg_r = 8hf9;/显示14h2:seg_r = 8ha4;/显示24h3:seg_r = 8hb0;/显示34h4:seg_r = 8h99;/显示44h5:seg_r = 8h92;/显示54h6:seg_r = 8h82;/显示64h7:seg_r = 8hf8;/显示74h8:seg_r = 8h80;/显示84h9:seg_r = 8h90;/显示94ha:seg_r = 8hbf;/显示-default:seg_r = 8hff;/不显示endcaseif(count17:15= 3d2)&sec)seg_r = 8hff;end/计时处理部分always (negedge sec or negedge key_done1)/计时处理beginif(!key_done1)/是清零键吗?beginhour = 24h0;/是,则清零endelse if(keyen) /是暂停吗begin if(!k3) begin if(hour23:16=8d35) begin hour19:16=0; hour23:20=0; end else begin if(hour19:16=9) begin hour19:16=0; hour23:20=hour23:20+1; end else hour19:16=hour19:16+1; end end else if(!k4) begin if(hour11:8=9) begin hour11:8=0; if(hour15:12=5) hour15:12=0; else hour15:12=hour15:12+1; end else hour11:8=hour11:8+1; end end elsebeginhour3:0 = hour3:0 + 1b1;/秒加1if(hour3:0 = 4ha)beginhour3:0 = 4h0;hour7:4 = hour7:4 + 1b1;/秒的十位加一if(hour7:4 = 4h6)beginhour7:4 = 4h0;hour11:8 = hour11:8 + 1b1;/分个位加一if(hour11:8 = 4ha)beginhour11:8 = 4h0;hour15:12 = hour15:12 + 1b1;/分十位加一if(hour15:12 = 4h6)beginhour15:12 = 4h0;hour19:16 = hour19:16 + 1b1;/时个位加一if(hour19:16 = 4ha)beginhour19:16 = 4h0;hour23:20 = hour23:20 + 1b1;/时十位加一endif(hour23:16 = 8h24)hour23:16 = 8h0;endendendendendendendm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论