![LCD1602液晶显示实验报告_第1页](http://file4.renrendoc.com/view9/M03/1E/01/wKhkGWcpna2AAjwaAAIdpvbHDCA441.jpg)
![LCD1602液晶显示实验报告_第2页](http://file4.renrendoc.com/view9/M03/1E/01/wKhkGWcpna2AAjwaAAIdpvbHDCA4412.jpg)
![LCD1602液晶显示实验报告_第3页](http://file4.renrendoc.com/view9/M03/1E/01/wKhkGWcpna2AAjwaAAIdpvbHDCA4413.jpg)
![LCD1602液晶显示实验报告_第4页](http://file4.renrendoc.com/view9/M03/1E/01/wKhkGWcpna2AAjwaAAIdpvbHDCA4414.jpg)
![LCD1602液晶显示实验报告_第5页](http://file4.renrendoc.com/view9/M03/1E/01/wKhkGWcpna2AAjwaAAIdpvbHDCA4415.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LCD1602液晶显示实验报告II软件、EP2C8Q208C8实验箱实验方案设计1.实验可实现的功能可以实现在LCD1602液晶屏第一行左侧第一位的位置循环显示0~9,并且可以用一个拨码开关BM8实现显示的复位功能。LCD1602基本知识LCD1602液晶能够同时显示16x02即32个字符,模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如“A”。1602通过D0~D7的8位数据端传输数据和指令。系统工作原理系统的状态转换流程图如图3.1.1所示。通过状态流程图可以看到,LCD1602液晶屏的状态是不断更新的,依次完成液晶的初始化和0~9的动态显示过程,并且过程可由开关控制。图3.1.1状态流程图4.程序设计moduleLCD1602(inputclk,//50MHz时钟inputrst_n,//开关信号outputreg[7:0]lcd_data,//数据总线outputlcd_e,//使能信号outputreglcd_rs,//指令、数据选择outputlcd_rw,//读、写选择outputSEL0,//LCD1602读写选择outputSEL1,//LCD1602读写选择outputSEL2//LCD1602读写选择);reg[127:120]row1_val;//第一行字符reg[23:0]cnt,cnt1;assignSEL0=1'b0;assignSEL1=1'b0;assignSEL2=1'b1;always@(posedgeclk,negedgerst_n)if(!rst_n)cnt<=0;elsecnt<=cnt+1'b1;wirelcd_clk=cnt[23];//(2^23/50M)=0.168salways@(posedgelcd_clk) if(cnt1>=24'd2) begin reglcd_clk1; lcd_clk1=1; cnt1=0; end else begin cnt1=cnt1+1;//cnt1对lcd_clk二分频 lcd_clk1=0; endalways@(posedgelcd_clk1) begin row1_val<=8'h30;//设初值 case(row1_val)//数字0~9循环显示 8'h30: row1_val<=8'h31; 8'h31: row1_val<=8'h32; 8'h32: row1_val<=8'h33; 8'h33: row1_val<=8'h34; 8'h34: row1_val<=8'h35; 8'h35: row1_val<=8'h36; 8'h36: row1_val<=8'h37; 8'h37: row1_val<=8'h38; 8'h38: row1_val<=8'h39; 8'h39: row1_val<=8'h30; default:row1_val<=8'h30; endcase endparameterIDLE=8'h00;parameterDISP_SET=8'h01;//显示模式设置parameterDISP_OFF=8'h03;//显示关闭parameterCLR_SCR=8'h02;//显示清屏parameterCURSOR_SET1=8'h06;//显示光标移动设置parameterCURSOR_SET2=8'h07;//显示开及光标设置parameterROW1_ADDR=8'h05;//写第1行起始地址parameterROW1_0=8'h04;reg[5:0]current_state,next_state;//现态、次态always@(posedgelcd_clk,negedgerst_n)if(!rst_n)current_state<=IDLE;elsecurrent_state<=next_state;//在时钟信号作用期间,次态重复的赋给现态alwaysbegincase(current_state)IDLE:next_state=DISP_SET;DISP_SET:next_state=DISP_OFF;DISP_OFF:next_state=CLR_SCR;CLR_SCR:next_state=CURSOR_SET1;CURSOR_SET1:next_state=CURSOR_SET2;CURSOR_SET2:next_state=ROW1_ADDR;ROW1_ADDR:next_state=ROW1_0;ROW1_0:next_state=ROW1_ADDR;default:next_state=IDLE;endcaseendalways@(posedgelcd_clk,negedgerst_n)beginif(!rst_n)beginlcd_rs<=0;lcd_data<=8'hxx;endelsebegincase(next_state)IDLE:lcd_rs<=0;DISP_SET:lcd_rs<=0;DISP_OFF:lcd_rs<=0;CLR_SCR:lcd_rs<=0;CURSOR_SET1:lcd_rs<=0;CURSOR_SET2:lcd_rs<=0;ROW1_ADDR:lcd_rs<=0;ROW1_0:lcd_rs<=1;endcasecase(next_state)IDLE:lcd_data<=8'hxx;DISP_SET:lcd_data<=8'h38;DISP_OFF:lcd_data<=8'h08;CLR_SCR:lcd_data<=8'h01;CURSOR_SET1:lcd_data<=8'h04;CURSOR_SET2:lcd_data<=8'h0C;ROW1_ADDR:lcd_data<=8'h80;ROW1_0:lcd_data<=row1_val[127:120];endcaseendendassignlcd_e=lcd_clk;//数据在时钟高电平被锁存assignlcd_rw=1'b0;//只写endmodule5.下载电路及引脚分配设计设计中用实验箱自带的50MHz时钟信号作为输入端,用sel0、sel1、sel2三个使能端选通LCD1602液晶屏,EP2C8Q208C8就会工作在给液晶下命令的状态,使得点阵正常工作,如图3.5.1所示。图3.5.1输入输出端口电路引脚分配设计如图3.5.2所示。图3.5.2引脚分配实验仿真及结论液晶显示仿真波形液晶显示仿真波形如图4.1.1所示。图4.1.1仿真波形通过仿真可以看到,液晶的状态转换是:IDLE(00H)DISP_SET(38H)显示模式设置DISP_OFF(08H)显示关闭CLR_SCR(01H)显示清屏CURSOR_SET1(04H)显示光标移动位置CURSOR_SET2(0CH)显示开关及光标设置ROW1_ADDR(80H)写第一行起始地址3(33H)(80H)4(34H)(80H)4(34H)(80H)5(36H)(80H)6(36H)(80H)6(36H)(80H)7(37H)(80H)8(38H)(80H)8(38H)(80H)9(39H)(80H)0(30H)……后面的数字就可依次循环了,直到拨码开关复位后停止显示,回到DISP_SET(38H)显示模式设置的状态。而lcd_rw一直为低电平处于写状态,并且当lcd_rs为高电平时lcd_data送的是数字,低电平时写第一行的地址。显示过程中偶数的显示时间是奇数显示时间的二倍。实验结论本次设计实验完成了LCD1602液晶显示实验的原程序中,顶层文件与子模块的合并,实现了液晶屏第一行首个字符位置处0~9的循环显示,并且可以用一个拨码开关控制现实的复位功能。仿真结果与实验现象均说明了,程序设计的功能和时序基本无误,整个系统功能已实现,实验目的基本达到。实验总结与体会1.实验总结这是FPGA第二次课的实验,到这次课编程的知识学得还不是很透彻,虽然程序写的比较吃力,但最终还是实现了要求的功能,现在我先说一说在实验时主要遇到的问题。最开始的时候程序写好了,下载试验箱上却没有任何反应,我还以为程序有问题,仔细查了一遍才想起来,BM8拨码开关一直是处于复位状态的,再次下载后,使拨码开关置高,显示屏果然显示数字了。但是另外一问题又出现了,就是这些数字是随机出现的,毫无规律可言,与0~9依次循环的顺序相差甚大,初步判断应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 充电宝商家合同范本
- 电动吊篮租赁合同范本
- 2025年快递行业无人机配送试点项目合同
- 2025年度海洋工程建设项目固定资产租赁合同
- 代卖 合同范例
- 2025年度建筑废弃物资源化利用技术研发与运营管理合同
- 2025年度文化广场活动场地租赁合同二零二五年度
- 2025年度建筑安全技术咨询与服务合同样本
- 2025年中国电力检修市场深度调查评估及投资方向研究报告
- 2025年度区块链技术应用公司股权投资与安全协议
- 为什么伟大不能被计划
- 人大代表履职知识讲座
- 精神障碍患者的社交技巧训练
- 危险物品管理制度
- 门静脉炎护理课件
- 重庆八中2024届高三12月高考适应性月考卷(四) 语文试卷(含答案)
- 基础研究成果向临床转化的实践与挑战
- 建筑构造(下册)
- 电流互感器试验报告
- 蒋中一动态最优化基础
- 华中农业大学全日制专业学位研究生实践单位意见反馈表
评论
0/150
提交评论