欢迎来到天天文库
浏览记录
ID:53874053
大小:220.50 KB
页数:4页
时间:2020-04-10
《字符液晶显示(FPGA).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、字符液晶显示的FPGA/CPLD实现一、设计简要说明:用FPGA/CPLD实现HS162字符液晶显示,具体内容可以参考教材《数字系统设计与VerilogHDL》(第三版)P269相关内容。HS162可以显示两行共32个字符(一行可显示16个字符)。每个字符由5×7、5×8或5×11的一组像素点阵排列构成,每个字符间有一个点宽的间隔,每行间也有一行的间隔。HS162原理图如下:D0-D7为传给液晶的数据(可能为显示数字或控制液晶指令),RS用于控制将D0-D7的数据写入指令寄存器还是数据寄存器,RW为读写控制信号,E为使能信号。电位器调节液晶的对
2、比度,以到最佳显示效果。图1CPLD与字符液晶HS162的接口典型电路HS162液晶控制指令由表1给出:表1液晶控制指令表二、源代码及说明modulelcd_HS162(clk,rst,lcd_e,lcd_rw,lcd_rs,data);inputclk,rst;outputlcd_e,lcd_rw,lcd_rs;reglcd_rw,lcd_rs;output[7:0]data;reg[7:0]data;reg[10:0]state;reg[6:0]count;reg[255:0]data_in_buf;regflag,clk4Hz;reg[2
3、3:0]cnt;reg[5:0]disp_count;parameterIDLE=8'b00000000;parameterCLEAR=8'b00000001;//清屏parameterSETCGRAM=8'b00000010;//设置CGRAMparameterSETFUNCTION=8'b00000100;//工作方式设置1:8/1:4位数据接口;两行/一行显示;5×10/5×7点阵parameterSWITCHMODE=8'b00001000;//显示状态设置,显示开/关;光标开/关;闪烁开/关parameterSETMODE=8'b00
4、010000;//输入方式设置,读写数据后ram地址增/减1;画面动/不动parameterRETURNCURSOR=8'b00100000;//归home位parameterSHIFT=8'b01000000;parameterWRITERAM=8'b10000000;//写RAMparametercur_inc=1;parametercur_dec=0;parametercur_shift=1;parametercur_noshift=0;parameteropen_display=1;parameteropen_cur=0;paramet
5、erblank_cur=0;parametershift_display=1;parametershift_cur=0;parameterright_shift=1;parameterleft_shift=0;parameterdatawidth8=1;parameterdatawidth4=0;parametertwoline=1;parameteroneline=0;parameterfont5x10=1;parameterfont5x7=0;parameterdata_in="OneWorldOneDream";/*定义液晶上显示的字符内
6、容,注意空格也算为字符,总共两行32个字符;只需更改双引号内的字符即可实现显示字符的改变*/always@(posedgeclk)//由50MHz时钟分频得到4Hz时钟beginif(cnt==23'h5F5E10)begincnt<=0;clk4Hz<=~clk4Hz;endelsecnt<=cnt+1;endassignlcd_e=clk4Hz;always@(posedgeclk4Hzornegedgerst)if(!rst)beginstate<=CLEAR;flag<=0;data_in_buf<=data_in;disp_count
7、<=6'b0;endelsebegincase(state)IDLE:beginstate<=IDLE;endCLEAR:beginlcd_rs<=0;lcd_rw<=0;data<=8'b0000_0001;state<=SETCGRAM;endSETCGRAM:beginlcd_rs<=0;lcd_rw<=0;data<=8'b10000000;state<=SETFUNCTION;endSETFUNCTION:begin//工作方式设置lcd_rs<=0;lcd_rw<=0;data[7:5]<=3'b001;data[4]<=dataw
8、idth8;data[3]<=twoline;data[2]<=font5x10;data[1:0]<=2'b00;state<=SWITCHMODE
此文档下载收益归作者所有