当前位置: 首页 > news >正文

网页设计网站总结报告怎么写高端网站建设报价

网页设计网站总结报告怎么写,高端网站建设报价,用织梦系统怎么做网站,关于网站建设的奖项名称文章目录 一、数码管简介二、C4开发板数码管原理图三、代码实现四、实现效果五、总结 博主在之前曾经编写过一篇电子时钟的博客#xff08;详情请见此篇博文#xff09;#xff0c;但曾经编写的电子时钟#xff0c;未显示小数点位#xff0c;同时当时的数码管模块是为了电… 文章目录 一、数码管简介二、C4开发板数码管原理图三、代码实现四、实现效果五、总结 博主在之前曾经编写过一篇电子时钟的博客详情请见此篇博文但曾经编写的电子时钟未显示小数点位同时当时的数码管模块是为了电子时钟而进行修改的并没有对数码管驱动模块进行模块化处理。而此篇博文的数码管驱动已经进行了模块化处理十分便于重复使用在此篇博客之前的电子秒表模拟中博主已经使用过该数码管驱动模块因此后文不再赘述此模块详情请见此篇博文。 一、数码管简介 博主所用的开发板为Cyclone Ⅳ的EP4CE6F17C8Cyclone IV开发板上的数码管一共有6个6个数码管共用八个段选信号引脚因此我们每次只能选择其中一个显示。 怎么解决电子时钟时、分、秒同时显示呢要实现电子时钟首先要了解什么是余晖效应。 余晖效应一般指视觉暂留。 视觉暂留现象即视觉暂停现象Persistence of visionVisual staying phenomenonduration of vision又称“余晖效应”。只要数码管位选信号切换得足够快数码管由亮到灭这一过程是需要一段时间的由于时间很短我们的眼睛是没有办法分清此时此刻数码管的状态给人的感觉就是数码管是一直亮的。以此来达到欺骗人眼的效果这样就可以实现同时显示时、分、秒。 二、C4开发板数码管原理图 三、代码实现 本项目博主一共设计了三个模块分别为时钟计数器模块、数码管驱动快以及顶层模块。 时钟计数器模块 源码分析 在时钟计数器模块中博主一共设计了四个计数器分别为1s基准计数器时钟秒位计数器时钟分位计数器时钟小时位计数器四个计数器通过级联的方式依次递增从而实现时钟的计数功能如果对计数器级联较为陌生可以参考博主开头所说的电子秒表博文在此不再赘述 module counter_clock(input wire clk ,input wire rst_n ,output wire [23:0] dout ,//输出六位数码管的值output wire [5:0] point_out //输出小数点 );//参数定义 parameter MAX1S 26d5000_0000 ;//1s基准单位 parameter TIME_SEC 6d60 ;//秒计数器最大值 parameter TIME_MIN 6d60 ;//分计数器最大值 parameter TIME_HOUR 5d24 ;//小时计数器最大值//内部信号定义 reg [25:0] cnt_1s ; wire add_cnt_1s ; wire end_cnt_1s ;reg [5:0] cnt_sec ; wire add_cnt_sec ; wire end_cnt_sec ;reg [5:0] cnt_min ; wire add_cnt_min ; wire end_cnt_min ;reg [4:0] cnt_hour ; wire add_cnt_hour ; wire end_cnt_hour ;//1s基准计数器 always(posedge clk or negedge rst_n)beginif(!rst_n)begincnt_1s 1b0;endelse if(add_cnt_1s)beginif(end_cnt_1s)begincnt_1s 1b1;endelse begincnt_1s cnt_1s 1b1;endendelse begincnt_1s cnt_1s;end endassign add_cnt_1s 1b1; assign end_cnt_1s add_cnt_1s cnt_1s MAX1S - 1b1;//秒计数器 always (posedge clk or negedge rst_n)beginif(!rst_n)begincnt_sec 1b0;endelse if(add_cnt_sec)beginif(end_cnt_sec)begincnt_sec 1b0;endelse begincnt_sec cnt_sec 1b1;endendelse begincnt_sec cnt_sec;end endassign add_cnt_sec end_cnt_1s; assign end_cnt_sec add_cnt_sec cnt_sec TIME_SEC - 1b1;//分钟计数器 always(posedge clk or negedge rst_n)beginif(!rst_n)begincnt_min 1b0;endelse if(add_cnt_min)beginif(end_cnt_min)begincnt_min 1b0;endelse begincnt_min cnt_min 1b1;endendelse begincnt_min cnt_min;end endassign add_cnt_min end_cnt_sec; assign end_cnt_min add_cnt_min cnt_min TIME_MIN - 1b1;//小时计数器 always(posedge clk or negedge rst_n)beginif(!rst_n)begincnt_hour 1b0;endelse if(add_cnt_hour)beginif(end_cnt_hour)begincnt_hour 1b0;endelse begincnt_hour cnt_hour 1b1;endendelse begincnt_hour cnt_hour;end endassign add_cnt_hour end_cnt_min; assign end_cnt_hour add_cnt_hour cnt_hour TIME_HOUR - 1b1;//dout point_out赋值 assign dout[23:20] cnt_sec % 10; assign dout[19:16] cnt_sec / 10; assign dout[15:12] cnt_min % 10; assign dout[11:8] cnt_min / 10; assign dout[7:4] cnt_hour % 10; assign dout[3:0] cnt_hour / 10; assign point_out 6b110_101 ;endmodule数码管驱动模块 /**************************************功能介绍*********************************** Date : 2023-08-01 11:08:11 Author : majiko Version : 1.0 Description: 动态数码管模块动态扫描 *********************************************************************************///---------模块及端口声名------------------------------------------------------ module seg_driver( input clk ,input rst_n ,input [23:0] din ,//输入6位数码管显示数据每位数码管占4位input [5:0] point_n ,//输入小数点控制位output reg [5:0] seg_sel ,//输出位选output reg [7:0] seg_dig //输出段选 ); //---------参数定义--------------------------------------------------------- parameter TIME_1MS 50_000;//1ms//数码管显示字符编码localparam NUM_0 7b100_0000,//0NUM_1 7b111_1001,//1NUM_2 7b010_0100,//NUM_3 7b011_0000,//NUM_4 7b001_1001,//NUM_5 7b001_0010,//NUM_6 7b000_0010,//NUM_7 7b111_1000,//NUM_8 7b000_0000,//NUM_9 7b001_1000,//A 7b000_1000,//B 7b000_0011,//bC 7b100_0110,//D 7b010_0001,//dE 7b000_0110,//F 7b000_1110;////---------内部信号定义-----------------------------------------------------reg [15:0] cnt_1ms ;//1ms计数器扫描间隔计数器wire add_cnt_1ms ;wire end_cnt_1ms ;reg [3:0] disp_data ;//每一位数码管显示的数值reg point_n_r ;//每一位数码管显示的小数点//**************************************************************** //--cnt_1ms //****************************************************************always (posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1ms d0;end else if(add_cnt_1ms)begin if(end_cnt_1ms)begin cnt_1ms d0;endelse begin cnt_1ms cnt_1ms 1b1;end endend assign add_cnt_1ms 1b1;//数码管一直亮assign end_cnt_1ms add_cnt_1ms cnt_1ms TIME_1MS - 1;//**************************************************************** //--seg_sel //****************************************************************always (posedge clk or negedge rst_n)begin if(!rst_n)beginseg_sel 6b111_110;//循环移位实现时需要给位选赋初值end else if(end_cnt_1ms)begin seg_sel {seg_sel[4:0],seg_sel[5]};//循环左移end end//**************************************************************** //--disp_data //****************************************************************always (posedge clk or negedge rst_n)begin if(!rst_n)begindisp_data d0;point_n_r 1b1;end else begin case (seg_sel)6b111_110 : begin disp_data din[3:0] ; point_n_r point_n[0]; end//第一位数码管显示的数值6b111_101 : begin disp_data din[7:4] ; point_n_r point_n[1]; end6b111_011 : begin disp_data din[11:8] ; point_n_r point_n[2]; end6b110_111 : begin disp_data din[15:12]; point_n_r point_n[3]; end6b101_111 : begin disp_data din[19:16]; point_n_r point_n[4]; end6b011_111 : begin disp_data din[23:20]; point_n_r point_n[5]; enddefault: disp_data d0;endcaseend end//**************************************************************** //--seg_dig //****************************************************************// always (posedge clk or negedge rst_n)begin // if(!rst_n)begin// seg_dig 8hff;//数码管的段选如何赋值好// end // else begin // case (disp_data)// 0 : seg_dig {point_n_r,NUM_0};// 1 : seg_dig {point_n_r,NUM_1};// 2 : seg_dig {point_n_r,NUM_2};// 3 : seg_dig {point_n_r,NUM_3};// 4 : seg_dig {point_n_r,NUM_4};// 5 : seg_dig {point_n_r,NUM_5};// 6 : seg_dig {point_n_r,NUM_6};// 7 : seg_dig {point_n_r,NUM_7};// 8 : seg_dig {point_n_r,NUM_8};// 9 : seg_dig {point_n_r,NUM_9};// 10 : seg_dig {point_n_r,A };// 11 : seg_dig {point_n_r,B };// 12 : seg_dig {point_n_r,C };// 13 : seg_dig {point_n_r,D };// 14 : seg_dig {point_n_r,E };// 15 : seg_dig {point_n_r,F };// default: seg_dig 8hff;// endcase// end // endalways (*)begin case (disp_data)0 : seg_dig {point_n_r,NUM_0};1 : seg_dig {point_n_r,NUM_1};2 : seg_dig {point_n_r,NUM_2};3 : seg_dig {point_n_r,NUM_3};4 : seg_dig {point_n_r,NUM_4};5 : seg_dig {point_n_r,NUM_5};6 : seg_dig {point_n_r,NUM_6};7 : seg_dig {point_n_r,NUM_7};8 : seg_dig {point_n_r,NUM_8};9 : seg_dig {point_n_r,NUM_9};10 : seg_dig {point_n_r,A };11 : seg_dig {point_n_r,B };12 : seg_dig {point_n_r,C };13 : seg_dig {point_n_r,D };14 : seg_dig {point_n_r,E };15 : seg_dig {point_n_r,F };default: seg_dig 8hff;endcaseendendmodule顶层模块 module top_clock (input wire clk ,input wire rst_n ,output wire [5:0] sel ,//输出位选信号output wire [7:0] seg //输出段选信号 );//内部信号定义 wire [23:0] din ; wire [5:0] point_out ;//计数器例化 counter_clock u_counter_clock(.clk (clk ),.rst_n (rst_n ),.dout (din ),.point_out (point_out) );seg_driver u_seg_driver( .clk (clk ),.rst_n (rst_n ), .din (din ),.point_n (point_out), .seg_sel (sel ), .seg_dig (seg ) ); endmodule四、实现效果 五、总结 本项目与之前的电子秒表模拟并无大异理解了数码管驱动模块的原理并自己成功编写一次后后续再有相关数码管的项目均可直接调用此模块无需再次编写。 除去数码管驱动模块该项目和电子秒表一样实际都是在训练计数器的级联。 博主在学习FPGA时曾听过一句话FPGA实际上就是无数个计数器和状态机。因此请大家不要忽视对计数器的练习经过电子秒表模拟和电子时钟模拟后博主对计数器和数码管的基础知识掌握的还不错因此撰写了几篇博文希望对大家能有所帮助。
http://www.hkea.cn/news/14441330/

相关文章:

  • 做黑帽需不需要搭建网站揭阳网站制作怎样
  • jsp企业网站开发前期报告专注高密做网站的
  • 装修网站官网怎么在百度上发广告
  • 检察院门户网站建设情况网站开发有哪些框架
  • vs做网站连数据库做网站的网站
  • 网站制作大概多少钱做电影网站需要什么服务器
  • 学校网站怎么做推广南宁网站设计方法
  • 网站开发费用计入什么科目it培训机构排名及学费
  • 苏州市相城区住房和城乡建设局网站设备租赁网站建设
  • 个人业务网站带后台wordpress编辑模板文字
  • 大型网站建设行情网站后台管理系统制作
  • html在网站开发中的应用互联网广告联盟
  • 福建众利建设工程网站做个购物网站多少钱
  • 金融投资网站 php源码网站改成响应式
  • 太原企业网站搭建哈尔滨哪里有制作网页的
  • 中企做一个网站多少钱六安招聘网
  • 西樵乐从网站建设昆明有几个区
  • 自建网站模板代码网站空间流量是什么
  • 凌晨网站建设公司免费网店有哪些平台
  • 虫部落是谁做的网站wordpress采集后排版
  • 营销型网站建设个人找人网站
  • 2013影响网站百度搜索排名的关键因素统计南京服装网站建设
  • 常见的pc端网站布局做网站属于什么工作
  • 访问阿里云主机网站下载网页制作设计编辑器软件
  • 江苏省交通建设局网站首页台州免费建站
  • 如何知道网站是用什么语言做的乐陵市属于哪个市
  • 南昌餐厅网站建设在线教育网站平台建设的意义
  • 一级a做爰网站中国做电影网站要懂代码
  • 企业内部网站模板漫画做视频在线观看网站
  • 深圳网站建设案网页设计师培训学院