按键开关控制液晶显示器进行十进制数字显示_第1页
按键开关控制液晶显示器进行十进制数字显示_第2页
按键开关控制液晶显示器进行十进制数字显示_第3页
按键开关控制液晶显示器进行十进制数字显示_第4页
按键开关控制液晶显示器进行十进制数字显示_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

目录 2 22.1、设计内容 22.2、设计要求 2、 23.1、设计思路 23.2、工作原理及框图 23.3、各模块功能描述 33.4、仿真结果 93.5、实验箱验证情况 9 、参考文献 1 学习操作数字电路设计实验开发系统,掌握液晶显示模块的工作原理及应用; 掌握组合逻辑电路、时序逻辑电路的设计方法; 学习掌握可编程器件设计的全过程。22.、设计内容 学习掌握按键开关控制模块、液晶显示模块的工作原理及应用; 熟练掌握VHDL编程语言,编写按键开关控制模块的控制逻辑; 仿真所编写的程序,模拟验证所编写的模块功能; 下载程序到芯片中,硬件验证所设置的功能,能够实现十进制数字的显示; 整理设计内容,编写设计说明书。2.、设计要求 本课程设计说明书; VHDL源程序及内部原理图; 该设计可以在实验箱上正常工作并演示。33.、设计思路由于是按键控制十进制显示所以采用十个按键K0-K9表示0—9十个数字;示000-999的选择则由分别由按键K10K11K12下K11位上然后按下K1—K10中的任意一按键显示器则在百位处显示与之对应的数值;十位、个位数值的改变的过程与之相同。3.、工作原理及框液晶显示的工作原理1、基本操作时序:读状态:输入H 输出:~D7状态写指令:输入0~D7指令码H 输出:无读数据:输入H 输出:~D7数写数据:输入0~D7数据,E=H 输出:无该液晶显示器内置了DDRAM该液晶显示器内置了DDRAMCGROM和CGRAM三种存储器其中DDRAM就是显示数据RAM,用来寄存待显示的字符代码;CGROM是液晶模块内部的字符发生存储器CGRAM是控制芯片留给用户,用以存储用户自己设计的字模编码存储器DDRAM地址与显示位置的对应关系如表1表1 M而设定DDRAM地址指令为表2 M这里我们送地址的时候应该是0x80+Address、所以写地址命令的时候要加上0x80的原因)在DDRAM的00H将00H加上80,即80H,若要在DDRAM的01H处显示数据,则必须将01H加上80H即81H。依次类推。数据写入DDRAM或CGRAM指令如表3表3其功能<1>将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;<2>将使用者自己设计的图形存入CGRAM。3.、各模块功能描述图11)按键输入译码模块图2功能Clk和Key_in为输入端Key_out为输出端。Clk为时钟输入,Key_in为按键输入Key_out描K0-K9十个按键的状态,一旦有按键Ki的电平为低,则Key_out输出二进制表示的i值。若无按键按下则Key_out保持之前的状态不变Key_out连接到液晶显示器控制模块的输入端Data_in,来选择要显示的字符i。程序代码:LIBRARYieee;ENTITYKEYISport(Clk:instd_logic;Key_in:instd_logic_vector(9downto0);Key_out:outstd_logic_vector(3downto);ENDKEY;ARCHITECTUREYIMAOFKEYISSIGNALcnt1:std_logic_vector(3downtoBEGINKey_out<=cnt1;process(clk)beginifrising_edge(Clk)casekey_iniswhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenendcase;endendprocess;ENDYIMA;2)按键选位模块图3功能Clk为时钟输入端Sel_in为选位按键输入端Sel_out按键共有三个Sel_in[2]、Sel_in[1、Sel_in[0]分别对应液晶显示位置02H、0100HSel_out接液晶显示控制模块的Sel输入端。程序代码:LIBRARYieee;ENTITYSELISport( Clk:instd_logic;SEL_in:instd_logic_vector(2downto0);SEL_out:outstd_logic_vector(1downto);ENDSEL;ARCHITECTURESELADOFSELISsignaladdr:std_logic_vector(1downtoBEGINSEL_out<=addr;process(clk)beginifrising_edge(Clk)caseSEL_iniswhenwhenwhenwhenothers=>null;endendif;endENDSELAD;3)液晶显示控制模块图4功能Clk,t为复位输入端,n接按键输入译码模块的t端,Sel接按键选位模块的Sel_out端,S为寄存器选择信号,W为液晶读写信号N为液晶时钟信号D申请信号,为液晶显示数据和命令字输出端。程序代码:LIBRARYieee;ENTITYLCDPORT(Clk :instd_logic; --状态机时钟信号,同时也是液晶时钟信号,-其周期应该满足液晶数据的建立时Reset:instd_logic;Data_in:instd_logic_vector(3downtoSel :instd_logic_vector(1downto0);LCD_RS:outstd_logic;--寄存器选择信号LCD_RW:outstd_logic;--液晶读写信号LCD_EN:outstd_logic;--液晶时钟信号LED :outstd_logic;LCD_Data:outstd_logic_vector(7downtoENDLCD;ARCHITECTUREBehavioralOFLCDIStype state (set_dlnf,set_cursor,set_dcb,set_ddram,write_LCD_Data);signalCurrent_State:state;signalCount :std_logic_vector(18downtosignalClk_Out:std_logic;signalLCD_Clk:beginLCD_EN<= Clk_OutLED<=Clk_Out;LCD_RW<='0';process(Reset,ClkbeginifReset='0'thenCount<=(others=>'0');elsifrising_edge(Clk)Count<=Count+if(Count=0)thenClk_Out<=notendif;endif;LCD_Clk<=endprocess;control:process(LCD_Clk,Reset,Current_State,Data_in,Sel)-液晶驱动控制器beginifReset='0'thenCurrent_State<=set_dlnf;LCD_RS<='0';elsifrising_edge(LCD_Clk)thenCurrent_State<=Current_StateLCD_RS<='0';caseCurrent_Statewhenset_dlnf=>LCD_Data<="00110000";--30HCurrent_State<=set_cursor;whenset_cursor=>LCD_Data<="00000110";--06HCurrent_State<=set_dcb;whenset_dcb=>LCD_Data<="00001111";--0fHCurrent_State<=set_ddram;whenset_ddram=>LCD_RS<='0';LCD_Data<="10000000"+Sel;--80Hor81Hor82HCurrent_State<=write_LCD_Data;whenwrite_LCD_Data=>LCD_RS<='1';LCD_Data<="00110000"+Data_in;Current_State<=set_ddram;whenothers=>endcase;endif;endEND3.、仿真结果图53.、实验箱验证情况图6示3 图7示在此次系统设计中,自己对可VHDL语言的应用和相应程序的编写有了更深的掌握和加强对状态机的使用和设计思路有了更深的理解同时应用也更加熟练了同时由于设计要求模块设计我对模块设计系统的方法也有了更深次的掌握在此次设计之前我还没有接触过液晶显示器通过本次系统设计我对液晶显示器的工作原理工作方式及其相应的程序编写有了一定的理解和掌握也认识到液晶显示器在日常生活中的应用十分广泛在设计的过程中我遇到了键盘消抖问题自己也查找了一些相应的消抖程序但由于应用的时钟频率很高所以消抖效果不是很好最终选择了一按键对应一数字的方案在系统设计的过程中,自己和其他同学都遇到了许多问题但通过大家的相互帮助查找资料

温馨提示

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

最新文档

评论

0/150

提交评论