这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» DIY与开源设计» 电子DIY» 数码管篇作业

共5条 1/1 1 跳转至

数码管篇作业

助工
2014-06-08 14:24:37 打赏

交一下数码管作业:模60计数器,开发板的两个LED已经由一片CPLD译码(可能与讲师的要求有点不符合吧),时钟为20MHZ。

这是实验现象:手机的秒表开快了一点。http://v.youku.com/v_show/id_XNzIzMzQxODEy.html

/*************************************************************************

* Company:
* Engineer: Superdian
*
* Create Date: 2014/6/8
* Design Name: CONTER60
* Module Name: CONTER60
* Project Name: CONTER60
* Target Devices: EP3CE5E144C8
* Tool versions:
* Description: 模60计数器,数码管动态显示。
*
* Dependencies:
*
* Revision:
* Revision 0.01 - File Created
* Additional Comments:
***************************************************************************/
module CONTER60(Clk,Rset,Led1,Led2);
input Clk;//20MHZ时钟输入
input Rset;//复位信号输入
output [3:0] Led1;//个位数码管显示控制
output [3:0] Led2;//十位数码管显示控制
reg [3:0] Led1;
reg [3:0] Led2;


reg [24:0] Delay;


always@(posedge Clk,negedge Rset)
begin
if(!Rset)
Delay<=25'd0;
else if(Delay==25'd19999999)
Delay<=25'd0;
else
Delay<=Delay+1'b1;

end

always@(posedge Clk,negedge Rset)
begin
if(!Rset)//复位,两个数码管显示0;
begin
Led1<=4'b0000;
Led2<=4'b0000;
end

else
begin
if(Delay==25'd19999999)
begin
Led1<=Led1+1'b1;//每一秒个位数码管显示至加1。
if(Led1==4'b1001)
begin Led1<=4'b0000;
Led2<=Led2+1'b1;//个位数码管清零,同时进位。
end
if(Led2==4'b0110)
Led2<=4'b0000;//十位数码管到6清零。
end
else
begin
Led1<=Led1;
Led2<=Led2;
end
end
end
endmodule



关键词: 作业 数码管

助工
2014-06-08 14:31:18 打赏
2楼

这是四个拨码开关控制数码管显示0到F的作业,数码管是共阴的。拨码开关打在右边是低电平,打在左边是高电平。

这是实验现象:http://v.youku.com/v_show/id_XNzIzMzQxMDgw.html

/*************************************************************************
* Company:
* Engineer: Superdian
*
* Create Date: 2014/6/8
* Design Name: SHUMAGUAN
* Module Name: SHUMAGUAN
* Project Name: SHUMAGUAN
* Target Devices: EP3CE5E144C8
* Tool versions:
* Description: 4个拨码开关控制数码管显示0-F.
*
* Dependencies:
*
* Revision:
* Revision 0.01 - File Created
* Additional Comments:
***************************************************************************/


module SHUMAGUAN(IN,OUT);


input [3:0] IN;
output [7:0] OUT;//数码管为共阴极数码管,段码与讲师的有差异。
reg [7:0] OUT;




always@(IN)
begin
case(IN)
4'h0 : OUT= 8'h3F; // "0"
4'h1 : OUT = 8'h06; // "1"
4'h2 : OUT= 8'h5B; // "2"
4'h3 : OUT = 8'h4F; // "3"
4'h4 : OUT = 8'h66; // "4"
4'h5 : OUT = 8'h6D; // "5"
4'h6 : OUT = 8'h7D; // "6"
4'h7 : OUT= 8'h07; // "7"
4'h8 : OUT = 8'h7F; // "8"
4'h9 : OUT = 8'h6F; // "9"
4'ha : OUT = 8'h77; // "a"
4'hb : OUT = 8'h7C; // "b"
4'hc : OUT = 8'h39; // "c"
4'hd : OUT = 8'h5E; // "d"
4'he : OUT = 8'h79; // "e"
4'hf : OUT = 8'h71; // "f"
endcase
end





endmodule


助工
2014-06-08 14:32:22 打赏
3楼
优酷太可恶了,60秒的视频都要加20秒的广告!

院士
2014-06-08 16:51:04 打赏
4楼
看出来了,这是用verilog编写的程序吧~~

助工
2014-06-08 21:11:47 打赏
5楼
是的。

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]