数字系统课程设计< 汉字滚动显示> 学生姓名: 班级学号: 指导老师: 实验 5 一. 实验名称: 汉字滚动显示二. 实验学时: 9 学时三. 实验目的 1 、深入了解 Verilog HDL 语言语法 2 、学会独立思考、设计及实现较大规模的数字电路系统四. 实验内容 ×8 点阵显示屏滚动显示至少 4 个汉字; 2. 可以用拨码开关控制左、右滚动显示。五. 实验仪器 1. PC机 2. 数字系统设计实验开发板六. 实验分析汉字滚动显示原理为依次对多汉字抽取像素信息, 并按序排队存放于 ROM 之中, 便可得到一个待显示数据序列。进一步通过寻址的方法来控制该数据序列的释放过程,就可实现在 8×8 LED 发光二极管点阵上滚动显示多汉字信息的目的。下图给出的就是实现滚动显示多汉字信息的原理示意图。由图可知, 某一时刻能在显示数据序列中定位待显示数据的地址指针可用下式计算: addr=n+m 。显然,n 的取值范围应为 0~N, 并由它控制汉字显示的滚动速度; m 的取值范围应为 0~7 ,并由它决定 LED 点阵的开关的扫描速度。因此, 控制 n 扫遍全部待显示数据的时间, 可调节汉字信息的滚动速度; 改变 m 的重复扫描周期, 可改善在 LED 点阵上显示完整汉字信息的稳定性。由此可见, 要实现汉字向左滚动, 则汉字信息定位指针依次加 1, 如果实现汉字向右滚动, 则依次减 1。七、实验步骤 1 .根据实验要求作预习。 2 .建立工程,设计程序: 1 )新建工程; 2) 新建 verilog HDL 文件(注: 文件名和模块名称要和工程名保持一致)。 3 )调试程序: 见实验附录 3. 配置管脚: 参照实验指导中的管脚图,配置管脚。 4. 下载到开发板, 观察实验结果( 见实验结果), 尝试创造自己的实验方案。八、实验结果显示“天天开心”显示“四”九、实验附录 module hzgd(clk,R,C,k); input clk,k;//k 左右滚动控制 output C,R; //C -1, R-0亮 reg tick,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];//ROM reg [0:7]r[0:31];//ROM //分频 always @(posedge clk) begin i<=i+1; if(i==3999999) begin tick<=~tick; i<=0; end end always@(posedge clk) begin if (j==999) begin tick0<=~tick0; j<=0; end else j<=j+1; end always @(posedge tick) begin if(k) begin if(a==24) a<=0; else a<=a+1;// 向左滚动 end else begin if(a==0) a<=24; else a<=a-1;// 向右滚动 end end always@(posedge tick0)// 存储器循环 begin case(b) 0:begin R<=r[a+0];C<=c[0]; end 1:begin R<=r[a+1];C<=c[1]; end 2:begin R<=r[a+2];C<=c[2]; end 3:begin R<=r[a+3];C<=c[3]; end 4:begin R<=r[a+4];C<=c[4]; end 5:begin R<=r[a+5];C<=c[5]; end
汉字滚动显示 来自淘豆网m.daumloan.com转载请标明出处.