在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5209|回复: 15

[原创] 来自SV的端午节问候(用波形显示文字)

[复制链接]
发表于 2013-6-5 22:29:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
祝大家端午节快乐!

dragon_boat.PNG
发表于 2013-6-6 09:13:28 | 显示全部楼层
谢谢楼主。
发表于 2013-6-6 12:00:30 | 显示全部楼层
Interesting
发表于 2013-6-6 12:36:54 | 显示全部楼层
太有才了
发表于 2013-6-6 15:44:51 | 显示全部楼层
我晕,怎么做出来的呀?
发表于 2013-6-6 17:16:40 | 显示全部楼层
好看呀,
发表于 2013-6-6 19:49:37 | 显示全部楼层
回复 1# guanzixin


    你是自己做出来的?而不是引用http://bbs.eetop.cn/thread-399961-1-1.html 本帖原创哦?
发表于 2013-6-6 21:16:19 | 显示全部楼层
求源码
 楼主| 发表于 2013-6-6 21:46:45 | 显示全部楼层
回复 7# 子幽墨雨

这个真是巧合啊,其实这程序我去年就写好了 http://weibo.com/1976694883/zcluSoSyP

weibo2012

weibo2012


贴下源代码






  1. //2012-12-5 22:26:57
  2. //更新日志:
  3. //能够直接从文件读取文字的点阵
  4. //点阵由PCtoLCD2002完美版生成
  5. //点阵格式:阴码,逐列式,逆向(低位在前),十六进制数
  6. //点阵文件示例:



  7. //使用须知:
  8. //  宏NUM_HANZI表示汉字个数,必须要小于或等于点阵文件内汉字个数
  9. //  输入汉字点阵文件请保存为text.TXT

  10. `timescale 1ns/1ps
  11. `define NUM_HANZI 9
  12. module wave1(clk,clk_h,flg,sig_16x16);

  13. output clk;
  14. output clk_h;
  15. output flg;
  16. output sig_16x16;

  17. reg clk;
  18. reg clk_h;
  19. reg flg[15:0];
  20. reg[7:0] data[0:`NUM_HANZI-1][0:31];
  21. reg[16:0] data_16x16[0:`NUM_HANZI-1][0:15];
  22. string hanzi[`NUM_HANZI][2];
  23. reg[16:0] sig_16x16;
  24. int T_clk = 8;
  25. int T_clk_h =1;
  26. int T_elemt =T_clk*4;
  27. integer fd;
  28. int tmp1;
  29. int tmp2;
  30. int tmp;
  31. string str_temp;
  32. string str_head;
  33. initial begin
  34.         clk = 0;
  35.         clk_h =0;
  36.         for(int j=0;j<15;j++)
  37.                 flg[j] = 0;
  38.         fd = $fopen("dragon_boat.TXT","r");
  39.         tmp = $fgets(str_head,fd);
  40.         for(int i=0;i<`NUM_HANZI;i++)
  41.         begin
  42.                 tmp = $fgets(str_temp,fd);
  43.                 tmp1 = $fgets(hanzi[i][0],fd);
  44.                 tmp2 = $fgets(hanzi[i][1],fd);
  45.                 tmp = $fgets(str_temp,fd);
  46.         end

  47. for(int num=0;num<`NUM_HANZI;num++)
  48. begin
  49.         $sscanf(hanzi[num][0],"%2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h",data[num][0],data[num][1],data[num][2],data[num][3],data[num][4],data[num][5],data[num][6],data[num][7],data[num][8],data[num][9],data[num][10],data[num][11],data[num][12],data[num][13],data[num][14],data[num][15]);
  50.         $sscanf(hanzi[num][1],"%2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h",data[num][16],data[num][17],data[num][18],data[num][19],data[num][20],data[num][21],data[num][22],data[num][23],data[num][24],data[num][25],data[num][26],data[num][27],data[num][28],data[num][29],data[num][30],data[num][31]);
  51.         $display("%2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h %2h ",data[num][0],data[num][1],data[num][2],data[num][3],data[num][4],data[num][5],data[num][6],data[num][7],data[num][8],data[num][9],data[num][10],data[num][11],data[num][12],data[num][13],data[num][14],data[num][15]);
  52. end

  53.      



  54.   for(int num_h=0;num_h<`NUM_HANZI;num_h++)
  55.           begin
  56.                                 for(int i =0;i<16;i++)
  57.                                         begin
  58.                                                 data_16x16[num_h][i] = {data[num_h][2*i+1],data[num_h][2*i]};
  59.                                                 $display("data_16x16[num_h][%4d] = %4h",i,data_16x16[num_h][i] );
  60.                                         end
  61.                 end       
  62.                        
  63.                                 fork
  64.                                         forever #T_clk clk = ~clk;
  65.                                         forever #T_clk_h clk_h = ~clk_h;
  66.                                         for(int row=0;row<16;row++)
  67.                                                 begin
  68.                                                         automatic int indx = row;
  69.                                                         fork
  70.                                                                 begin
  71.                                                                         for(int num_h=0;num_h<`NUM_HANZI;num_h++)
  72.                                                                                 begin
  73.                                                                                         for(int n =0;n<16;n++)
  74.                                                                                                 begin
  75.                                                                                                         #T_elemt ;
  76.                                                                                                         if(data_16x16[num_h][n][indx]==1)
  77.                                                                                                                 flg[15-indx] =1;
  78.                                                                                                         else
  79.                                                                                                                 flg[15-indx] =0;                                                       
  80.                                                                                                 end
  81.                                                                                 end                                                       
  82.                                                                         end

  83.                                                         join_none               
  84.                                
  85.                                                 end
  86.                                 join

  87. end

  88. always @(posedge clk_h)
  89.         begin
  90.                 for(int k =0;k<16;k++)
  91.                         if(flg[k]==1)
  92.                                 sig_16x16[k] = clk;
  93.                         else
  94.                                 sig_16x16[k] = 0;
  95.         end
  96. endmodule


复制代码
发表于 2013-6-7 13:11:15 | 显示全部楼层
interesting!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 00:07 , Processed in 0.034863 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表