FPGA的电子时钟显示程序.doc
《FPGA的电子时钟显示程序.doc》由会员分享,可在线阅读,更多相关《FPGA的电子时钟显示程序.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-作者xxxx-日期xxxxFPGA的电子时钟显示程序【精品文档】/*= *名 称: 可调电子时钟程序 *功 能: 电子时钟显示实验 *接 口: *说 明: 黑金II代FPGA开发板,一个主程序,两个子程序。 *编者 时间: Ye.FuYao 2014-04-28 Cycione EP2C8Q208C8*=*/主程序module main(clk,RSTn,KEY,duan_xuan,wei_xuan);/外部接口input clk,RSTn; /时钟,复位输入input 3:0KEY; /物理按键key_in按为0,松开为1 output 7:0duan_xuan;/数码管段选输出outpu
2、t 5:0wei_xuan; /数码管位选输出/时钟 /初始化时间reg 7:0hour=8d12;/时reg 7:0min=8d0; /分reg 7:0sec=8d0; /秒wire 3:0key_val;/按键值/调用子程序 ,获取按键值key_value U1(.clk(clk),.RSTn(RSTn),.Key_in(KEY),.key_val(key_val);/key_val返回的按键值/秒定时器parameter T1S=25d19_999_999;/定时值reg 24:0Count1; /计数值always(posedge clk or negedge RSTn)beginif
3、(!RSTn)Count1=25d0;else if(Count1=T1S)Count1=25d0;elseCount1=Count1+1b1;/脉冲累加end/计算时间always(posedge clk or negedge RSTn)beginif(!RSTn)sec=8d0; /秒计时器else if(Count1 = T1S) /脉冲数满足T1Sbeginif(sec 8d60) /059beginsec = sec+8d1; /秒加1if(sec = 8d60)/第60秒beginsec = 8d0;if(min 8d60) /059beginmin = min+8d1; /分加1
4、if(min = 8d60)/第60分beginmin = 8d0;if(hour 8d24)/023beginhour=hour+8d1; /时加1if(hour = 8d24)/第24时hour = 8d0;endendendendendend/调时间,这段可以不用,直接初始化赋值else if(key_val=4d4) /key4按下beginif(hour8d23)hour=hour+8d1;/+1 elsehour8d0)hour=hour-8d1;/-1elsehour0)min=min-8d1; /+1elsemin=8d59;endelse if(key_val=4d1) /k
5、ey1按下beginif(min8d59)min=min+8d1; /-1elsemin=8d0;end/调时结束end/*= *名 称:调用六位数码管显示子程序 *功 能: *输 入:clk, RSTn, sec, min, hour, duan_xuan, wei_xuan *输 出:duan_xuan, wei_xuan *=*/ display_LED U2(.clk(clk),.RSTn(RSTn),.sec(sec),.min(min),.hour(hour), /input-时间参数.duan_xuan(duan_xuan),.wei_xuan(wei_xuan) /in_out
6、-段选位选 );endmodule/=/*= *名 称: 电子时钟子程序 *功 能: 六位数码管显示时钟 *接 口: *说 明: *编者 时间: Ye.FuYao 2014-04-23 Cycione EP2C8Q208C8*=*/电子时钟子程序module display_LED(clk,RSTn,sec,min,hour,duan_xuan,wei_xuan);input clk,RSTn; /时钟,复位输入/时分秒input 7:0sec;input 7:0min;input 7:0hour;output 7:0duan_xuan;/数码管段选输出output 5:0wei_xuan;
7、/数码管位选输出reg 7:0duan_xuan;reg 5:0wei_xuan;/段选码表 reg 7:0 SMG9:0; /10个8位的数组initial begin SMG0=8hc0; SMG1=8hf9; SMG2=8ha4; SMG3=8hb0; SMG4=8h99; SMG5=8h92; SMG6=8h82; SMG7=8hf8; SMG8=8h80; SMG9=8h90;end/位选码表reg 5:0 wei5:0; /6个6位的数组initial begin wei0=6b111_110; wei1=6b111_101; wei2=6b111_011; wei3=6b110_
8、111; wei4=6b101_111; wei5=6b011_111;end/=/分离数据reg 3:0rsec_One; /09reg 3:0rsec_Ten; /09reg 3:0rmin_One;reg 3:0rmin_Ten;reg 3:0rhour_One;reg 3:0rhour_Ten;always (posedge clk or negedge RSTn)beginif(!RSTn)begin rsec_Ten=4d0; rsec_One=4d0;endelsebeginrsec_Ten=sec /10; /取十位 rsec_One=sec %10; /取个位rmin_Ten
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 电子 时钟 显示 程序
限制150内