七段数码管0~9循环计数显示FPGA(EP4CE6)实验Verilog逻辑源码Quartus工程文件+文档说明资料, FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。
1 SEG_LED七段数码管
1.1数码管简介
数码管由七个条状和一个点状发光二极管管芯制成,称为七段数码管。数码管是一类价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮。从而显示出数字使其能够表示时间、温度、日期等一切可以使用数字表示的参数的器件。
数码管在电器特别是家电领域应用十分广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器使用的都是数码管,也有的家电使用液晶屏或荧光屏。
1.2实验任务
编写逻辑使数码管从0~9循环计数,时间间隔为1秒。
module remote_rcv (
//input
input sys_clk , //系统时钟
input sys_rst_n , //系统复位信号,低电平有效
input remote_in , //红外接收信号
//output
output reg [15:0] data_buf , // for not optimize
output beep , // for shut beep
output reg [7:0] led //指示LED
);
//reg define
reg [11:0] div_cnt ; //分频计数器
reg div_clk ;
reg remote_in_dly ;
reg [6:0] start_cnt ;
reg [6:0] start_cnt1 ;
reg [5:0] start_cnt2 ;
reg [5:0] user_cnt ;
reg [5:0] data_cnt ;
reg [14:0] data_judge_cnt ;
reg [14:0] noise_cnt ;
reg [4:0] curr_st ;
reg [4:0] next_st ;
//wire define
wire remote_pos ;
wire remote_neg ;
//fsm define
parameter IDLE = 3'b000 ;
parameter CHECK_START_9MS = 3'b001 ;
parameter CHECK_START_4MS = 3'b010 ;
parameter CHECK_USER_CODE = 3'b011 ;
parameter CHECK_DATA_CODE = 3'b100 ;