数字系统课程设计<汉字滚动显示>学生姓名:班级学号:指导老师:::、深入了解VerilogHDL语言语法2、学会独立思考、×8点阵显示屏滚动显示至少4个汉字;、右滚动显示。,并按序排队存放于ROM之中,便可得到一个待显示数据序列。进一步通过寻址的方法来控制该数据序列的释放过程,就可实现在8×8LED发光二极管点阵上滚动显示多汉字信息的目的。下图给出的就是实现滚动显示多汉字信息的原理示意图。由图可知,某一时刻能在显示数据序列中定位待显示数据的地址指针可用下式计算:addr=n+m。显然,n的取值范围应为0~N,并由它控制汉字显示的滚动速度;m的取值范围应为0~7,并由它决定LED点阵的开关的扫描速度。因此,控制n扫遍全部待显示数据的时间,可调节汉字信息的滚动速度;改变m的重复扫描周期,可改善在LED点阵上显示完整汉字信息的稳定性。由此可见,要实现汉字向左滚动,则汉字信息定位指针依次加1,如果实现汉字向右滚动,则依次减1。七、。,设计程序: 1)新建工程; 2)新建verilogHDL文件(注:文件名和模块名称要和工程名保持一致)。3)调试程序:见实验附录3. 配置管脚: 参照实验指导中的管脚图,配置管脚。,观察实验结果(见实验结果),尝试创造自己的实验方案。实验结果显示“天天开心”显示“四”实验附录modulehzgd(clk,R,C,k);inputclk,k;//k左右滚动控制outputC,R;//C-1,R-0亮regtick,tick0;reg[30:0]j;reg[32:0]i;reg[0:7]R;reg[0:7]C;reg[4:0]a;reg[3:0]b;reg[0:7]c[0:7];//ROMreg[0:7]r[0:31];//ROM//分频always@(posedgeclk)begini<=i+1;if(i==3999999) begin tick<=~tick; i<=0; endendalways@(posedgeclk)begin if(j==999) begin tick0<=~tick0; j<=0; end else j<=j+1;endalways@(posedgetick)beginif(k)begin if(a==24) a<=0; else a<=a+1;//向左滚动endelsebegin if(a==0) a<=24; else a<=a-1;//向右滚动endendalways@(posedgetick0)//存储器循环begincase(b)0:beginR<=r[a+0];C<=c[0];end1:beginR<=r[a+1];C<=c[1];end2:beginR<=r[a+2];C<=c[2];end3:beginR<=r[a+3];C<=c[3];end4:beginR<=r[a+4];C<=c[4];end5:beginR<=r[a+5];C<=c[5];end
汉字滚动显示 来自淘豆网m.daumloan.com转载请标明出处.