字符液晶显示(FPGA)_第1页
字符液晶显示(FPGA)_第2页
字符液晶显示(FPGA)_第3页
字符液晶显示(FPGA)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.字符液晶显示的fpga/cpld 实现一、设计简要说明:用 fpga/cpld实现 hs162字符液晶显示,具体内容可以参考教材数字系统设计与 verilog hdl (第三版 )p269 相关内容。hs162 可以显示两行共 32 个字符(一行可显示 16 个字符)。每个字符由 5 7、 58 或 511 的一组像素点阵排列构成,每个字符间有一个点宽的间隔,每行间也有一行的间隔。hs162 原理图如下: d0-d7 为传给液晶的数据(可能为显示数字或控制液晶指令),rs 用于控制将 d0-d7 的数据写入指令寄存器还是数据寄存器, rw 为读写控制信号, e 为使能信号。电位器调节液晶的对

2、比度,以到最佳显示效果。图1 cpld 与字符液晶 hs162的接口典型电路hs162 液晶控制指令由表1 给出:表1液晶控制指令表二、源代码及说明.module lcd_hs162(clk,rst,lcd_e,lcd_rw,lcd_rs,data);input clk,rst;output lcd_e,lcd_rw,lcd_rs; reg lcd_rw,lcd_rs;output7:0 data;reg7:0 data;reg10:0 state; reg6:0 count;reg255:0 data_in_buf;reg flag,clk4hz;reg23:0 cnt;reg5:0 dis

3、p_count;parameter idle=8b00000000;parameter clear=8b00000001;/ 清屏parameter setcgram=8b00000010;/ 设置 cgramparameter setfunction=8b00000100;/ 工作方式设置 1:8/1 :4位数据接口;两行 / 一行显示; 5 10/5 7点阵parameter switchmode=8b00001000;/ 显示状态设置,显示开 / 关;光标开 /关;闪烁开 /关parameter setmode=8b00010000;/ 输入方式设置,读写数据后 ram 地址增 / 减1

4、;画面动 / 不动parameter returncursor=8b00100000; /归home 位parameter shift=8b01000000;parameter writeram=8b10000000;/ 写ramparameter cur_inc=1;parameter cur_dec=0;parameter cur_shift=1;parameter cur_noshift=0;parameter open_display=1;parameter open_cur=0;parameter blank_cur=0;parameter shift_display=1;param

5、eter shift_cur=0;parameter right_shift=1;parameter left_shift=0;parameter datawidth8=1;parameter datawidth4=0;parameter twoline=1;parameter oneline=0;parameter font5x10=1;parameter font5x7=0;parameter data_in=oneworldonedream ;/* 定义液晶上显示的字符内容,注意空格也算为字符,总共两行32个字符 ;只需更改双引号内的字符即可实现显示字符的改变*/always(posed

6、ge clk)/ 由50mhz时钟分频得到 4hz时钟beginif(cnt=23h5f5e10)begin cnt=0;clk4hz=clk4hz;endelsecnt=cnt+1;.endassign lcd_e=clk4hz;always (posedge clk4hz or negedge rst)if(!rst) beginstate=clear;flag=0;data_in_buf=data_in;disp_count=6b0;endelsebegincase(state)idle:beginstate=idle; endclear: beginlcd_rs=0;lcd_rw=0;

7、data=8b0000_0001;state=setcgram;endsetcgram:beginlcd_rs=0;lcd_rw=0;data=8b10000000;state=setfunction;endsetfunction : begin/ 工作方式设置lcd_rs=0;lcd_rw=0;data7:5=3b001;data4=datawidth8;data3=twoline;data2=font5x10;data1:0=2b00;state=switchmode;endswitchmode:begin/ 显示状态设置lcd_rs=0;lcd_rw=0;data7:3=5b00001;

8、data2=open_display;data1=open_cur;data0=blank_cur;state=setmode;endsetmode:begin/ 输入方式设置lcd_rs=0;lcd_rw=0;data7:2=6b000001;data1=cur_inc;data0=cur_noshift;state=writeram;endreturncursor: beginlcd_rs=0;lcd_rw=0;data=8b00000010;state=writeram;endshift:beginlcd_rs=1;lcd_rw=0;data=data_in_buf255:248;data_in_buf = (data_in_buf 8);disp_count = disp_count + 1b1;state=writeram;end.writeram: beginlcd_rs=1;lcd_rw=0;if(disp_count = 32)begindisp_count = 4b0;data_in_buf=data_in;state =clear;endelse if(disp_count=16)beginlcd_rs=0;lcd_rw=0;data=8b11000000;state=shift; endelsebegindat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论