Verilog程序汉字点阵显示29365Word格式.docx
- 文档编号:17355849
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:112.48KB
Verilog程序汉字点阵显示29365Word格式.docx
《Verilog程序汉字点阵显示29365Word格式.docx》由会员分享,可在线阅读,更多相关《Verilog程序汉字点阵显示29365Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
begin
if((k2==0)&
&
(k3==0))
ccount<
=500000000;
(k3==1))
=100000000;
if((k2==1)&
=50000000;
=10000000;
if(count<
ccount)
begin
count<
=count+1'
b1;
clk_4hz<
=0;
end
else
=1;
endmodule
生成模块:
(2)扫描,控制速度:
modulesudu(clk,cnt);
inputclk;
outputcnt;
regcnt;
reg[15:
0]p;
always(posedgeclk)
if(p==16'
b1111111111111111)
begin
cnt<
=1'
p<
=16'
b0000000000000000;
end
else
begin
=p+16'
b0;
end
(3)显示汉字模块:
modulexianshi(clk2,clk3,row,con,k);
inputclk2,clk3,k;
output[15:
0]row;
0]con;
integercnt,b;
0]r[111:
0];
initial
//中
r[0]<
b1111111111111111;
r[1]<
r[2]<
b1111100000011111;
r[3]<
b1111101111011111;
r[4]<
r[5]<
r[6]<
r[7]<
b1000000000000001;
r[8]<
r[9]<
r[10]<
r[11]<
r[12]<
r[13]<
r[14]<
r[15]<
//国
r[16]<
r[17]<
r[18]<
b1100000000000111;
r[19]<
b1101111111110111;
r[20]<
b1101011011010111;
r[21]<
r[22]<
r[23]<
b1101000000010111;
r[24]<
r[25]<
r[26]<
b1101001011010111;
r[27]<
r[28]<
r[29]<
r[30]<
r[31]<
//石
r[32]<
r[33]<
r[34]<
b1110111111110111;
r[35]<
b1111011111110111;
r[36]<
b1111101111110111;
r[37]<
b1111110111110111;
r[38]<
b1110100001110111;
r[39]<
b1110111100110111;
r[40]<
b1110111101010111;
r[41]<
b1110111101100111;
r[42]<
r[43]<
b1110000001110111;
r[44]<
b1111111111110111;
r[45]<
r[46]<
r[47]<
//油
r[48]<
r[49]<
r[50]<
b1111111011101111;
r[51]<
b1000000111011111;
r[52]<
b1111101110111111;
r[53]<
r[54]<
b1100000001111111;
r[55]<
b1101101101111111;
r[56]<
r[57]<
r[58]<
r[59]<
r[60]<
r[61]<
r[62]<
r[63]<
//大
r[64]<
r[65]<
b1101111111111111;
r[66]<
b1110111111111111;
r[67]<
b1110111110111111;
r[68]<
b1111011110111111;
r[69]<
r[70]<
b1111110010111111;
r[71]<
b1111111100001111;
r[72]<
r[73]<
r[74]<
r[75]<
r[76]<
r[77]<
r[78]<
r[79]<
//学
r[80]<
r[81]<
r[82]<
b1111111101111111;
r[83]<
r[84]<
b1111011111011101;
r[85]<
b1111011011010011;
r[86]<
b1011011011011101;
r[87]<
b1000001011010011;
r[88]<
b1111010011011111;
r[89]<
b1111011011000111;
r[90]<
b1111011111011001;
r[91]<
b1111011101011111;
r[92]<
b1111111110011111;
r[93]<
r[94]<
r[95]<
//中
r[96]<
r[97]<
r[98]<
r[99]<
r[100]<
r[101]<
r[102]<
r[103]<
r[104]<
r[105]<
r[106]<
r[107]<
r[108]<
r[109]<
r[110]<
r[111]<
end
always(posedgeclk3)
if(k==0)
if(b==95)
b<
=b+1;
else
if(b==0)
=95;
=b-1;
always(posedgeclk2)
if(cnt==15)
else
=cnt+1;
case(cnt)
0:
con<
b0000_0000_0000_0001;
1:
b0000_0000_0000_0010;
2:
b0000_0000_0000_0100;
3:
b0000_0000_0000_1000;
4:
b0000_0000_0001_0000;
5:
b0000_0000_0010_0000;
6:
b0000_0000_0100_0000;
7:
b0000_0000_1000_0000;
8:
b0000_0001_0000_0000;
9:
b0000_0010_0000_0000;
10:
b0000_0100_0000_0000;
11:
b0000_1000_0000_0000;
12:
b0001_0000_0000_0000;
13:
b0010_0000_0000_0000;
14:
b0100_0000_0000_0000;
15:
b1000_0000_0000_0000;
endcase
//行使能
0:
row<
=r[b+0];
1:
=r[b+1];
2:
=r[b+2];
3:
=r[b+3];
4:
=r[b+4];
5:
=r[b+5];
6:
=r[b+6];
7:
=r[b+7];
8:
=r[b+8];
9:
=r[b+9];
10:
=r[b+10];
11:
=r[b+11];
12:
=r[b+12];
13:
=r[b+13];
14:
=r[b+14];
15:
=r[b+15];
elsebegin
=r[b-0];
=r[b-1];
=r[b-2];
=r[b-3];
=r[b-4];
=r[b-5];
=r[b-6];
=r[b-7];
=r[b-8];
=r[b-9];
=r[b-10];
=r[b-11];
=r[b-12];
=r[b-13];
=r[b-14];
=r[b-15];
endmodule
电路的仿真:
分析与总结:
这次数点实习我去测试了俩次,第一次测试时,什么现象都没有,我回去后反复检查,程序都没有问题,后来我觉得可能是我生成模块时,全都放在一个文件夹里,混乱了。
所以我又重新生成模块,规规矩矩的连了一遍,第二次去测试时,成功了。
看着自己实验出来的效果真是特别的高兴。
通过这次课程设计,我学会了基本的的quartusⅡ操作,会自己编写简单的verilog程序。
最受益的是学会了如何将自己所学过的知识和查找的资料有机的融合在一起。
真是受益匪浅。
参考资料:
[1]Verilog数字系统设计教程(第2版)(夏宇闻,航空航天大学出版)
[2]VerilogHDL入门(第3版)
[3]数字电子技术基础(润华,于云华,中国石油大学,2008)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 程序 汉字 点阵 显示 29365