数控分频器设计.doc

数控分频器设计.doc

ID:60836663

大小:251.50 KB

页数:11页

时间:2020-12-21

数控分频器设计.doc_第1页
数控分频器设计.doc_第2页
数控分频器设计.doc_第3页
数控分频器设计.doc_第4页
数控分频器设计.doc_第5页
资源描述:

《数控分频器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA设计课程实验报告实验题目:数控分频器设计学院名称:专业:班级:姓名:高胜学号小组成员:指导教师:一、实验目的学习数控分频器的设计、分析和测试方法。二、设计任务及要求1、设计总体要求:在SmartSOPC试验箱上的实现数控分频器的设计。在clk输入64kHz或更高(要确保分频后落在音频范围)的频率信号(由int_div模块分频得到);输出FOUT接蜂鸣器BUZZ-ER,由KEY1/KEY2控制输入8位预置数,并在数码管1~2上显示(调用key_led模块)。2、设计基本要求:(1)能将频率分频。(2)进行正常的蜂鸣器的蜂鸣功能。(3)由2个数码管显示预置数。一、系统设计1、整体

2、设计方案数控分频器的输出信号频率为输入数据的函数。数控分频器的clk为时钟输入端,data是数据输入端,fout是数控频率输出端。数控分频器的输出频率受数据data的控制,data越大,输出频率越高。数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可。数控分频器是由数码管显示电路、按键控制电路、脉冲发生电路这3个基本电路组成。数控分频器的系统框图(见图1):蜂鸣器数控分频电路脉冲发生电路数码管显示按键控制图1数控分频器的系统框图2、功能模块电路设计48MHz的脉冲经过分频器分成64KHz,然后输入带数控分频电路当中,按键控制分频电路

3、中的频率变化,数码管显示预置数,蜂鸣器响起。(1)输入输出模块框图(见图2)图2数控分频器的输入输出模块框图(2)算法流程图(见图3)图3数控分频器的算法流程图(3)Verilog源代码按键控制电路代码:modulekey_led(clock,key,led,hex,bin,seg,dig,ledin,data);inputclock;//系统时钟(48MHz)input[7:0]key;//按键输入(KEY1~KEY8)output[7:0]led;//LED输出(LED1~LED8)output[15:0]hex;//4位16进制数输出(在数码管1~4显示)output[3:0]

4、bin;//4位2进制数输出(在LED1~LED4显示)output[7:0]seg;//数码管段码输出output[7:0]dig;//数码管位码输出input[3:0]ledin;//LED显示输入(在LED5~LED8显示)input[15:0]data;//数码管显示输出(在数码管5~8显示)reg[15:0]hex_r;reg[3:0]bin_r;reg[7:0]seg_r;reg[7:0]dig_r;reg[16:0]count;//时钟分频计数器reg[7:0]dout1,dout2,dout3,buff;//消抖寄存器reg[2:0]cnt3;//数码管扫描计数器re

5、g[3:0]disp_dat;//数码管扫描显存regdiv_clk;//分频时钟,用于消抖和扫描wire[7:0]key_edge;//按键消抖输出//信号输出assignhex=hex_r;assignbin=bin_r;assignseg=seg_r;assigndig=dig_r;assignled=~{ledin,bin_r};//时钟分频部分always@(posedgeclock)beginif(count<17'd)begincount<=count+1'b1;div_clk<=1'b0;endelsebegincount<=17'd0;div_clk<=1'b1;e

6、ndend//按键消抖部分always@(posedgeclock)beginif(div_clk)begindout1<=key;dout2<=dout1;dout3<=dout2;endend//按键边沿检测部分always@(posedgeclock)beginbuff<=dout1

7、dout2

8、dout3;endassignkey_edge=~(dout1

9、dout2

10、dout3)&buff;//4位16进制数输出部分always@(posedgeclock)//按键1beginif(key_edge[0])hex_r[15:12]<=hex_r[15:12]+1'b1;en

11、dalways@(posedgeclock)//按键2beginif(key_edge[1])hex_r[11:8]<=hex_r[11:8]+1'b1;endalways@(posedgeclock)//按键3beginif(key_edge[2])hex_r[7:4]<=hex_r[7:4]+1'b1;endalways@(posedgeclock)//按键4beginif(key_edge[3])hex_r[3:0]<=hex_r[3:0]+1'b1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。