FPGA课程设计报告_第1页
FPGA课程设计报告_第2页
FPGA课程设计报告_第3页
FPGA课程设计报告_第4页
FPGA课程设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

FPGA课程设计报告标题:基于CPLD的1602字符液晶显示系统设计医院部门:信息和电气工程学院班级水平:电子信息工程学号:学生姓名:指导教师:实现成果:2011年7月基于CPLD的1602字符液晶显示系统设计1.设计标题:基于CPLD的1602字符液晶显示系统设计设计要求技术指标:必须用1602液晶显示文字;显示内容:学号英文名称;显示方法:流量显示,开关控制文字流动速度和方向。有暂停和清理屏幕功能;3.平台设计:QUARTUSII 6.0软件MARS-1270 CPLD 1602液晶屏4.设计理念和设计阶段:1.1602液晶屏命令简介:要控制1602液晶屏字符,首先需要知道1602是否有可控制的针脚。我们先来看一下哪些调整命令、如何调整其显示、其移动控制方法、其移动速度和方向控制方法等,以及要使用的命令和销等。(1)界面说明:(2)默认操作计时:A.读取状态:输入:RS=L、RW=H、E=H、输出:db0-db7=状态字B.写入命令:输入:RS=L,RW=L,E=脉冲下,dbo-db7=脚本,输出:无C.读取数据:输入:RS=H,RW=H,E=H,输出:db0-db7=数据D.数据写入:输入:RS=H,RW=L,E=脉冲下,DBO - DB7=数据,输出:无(3)命令集和设置说明:A.清爽萤幕指令:功能:1液晶显示器擦除DDRAM的内容全部为“空白”的ASCII代码20H2光标停留在适当的位置时,光标返回液晶屏的左上侧。将3地址计数器(AC)值设置为0。B.启动设置模式命令:功能:设定每个资料位元输入后游标的移动方向,为每个写入设定一个文字是否移动。设置参数时:设定位元名称I/D 0=写入新数据后向左移动光标1=写入新数据后向右移动光标S 0=写入新数据后显示不晃动1=写入新数据后,整个显示向右移动1个字符C.显示交换机控制命令:功能:控制显示开/关、光标显示/关以及光标是否闪烁。参数设置情况情况如下:设定位元名称D 0=关闭功能显示1=打开功能显示C 0=无光标1=有光标B 0=光标闪烁1=光标不闪烁D.设定显示或游标移动方向的指令:功能:移动光标或位移整个显示屏幕。设置参数时:S/C R/L设置0 0光标向左移动1格,acvalue减去10 1光标向右移动1格,ac值加11 0显示屏上的字符都向左移动一格,但光标不移动1 1显示器上的所有字符向右移动一格,但光标不移动E.功能设定指令:功能:设置数据总线位数、显示的行数和字体。设置参数时:设定位元名称DL 0=数据总线4位1=数据总线8位N 0=显示1行1=显示2行F 0=57每个光栅/文字1=510每个光栅/文字F.设定CGRAM位址指令:功能:设置要存储数据的下一个CGRAM的地址。DB5DB4DB3是字符。也就是说,以后显示此文字时要使用的文字地址。(000-111)(可定义8个字符)DB2DB1DB0是行号。(000-111)(8行)G.设置DDRAM地址命令;功能:设置以下DDRAM的地址以存储数据:H.将数据写入DDRAM或CGRAM命令:功能:1将字符代码写入DDRAM,以便在液晶屏上显示相应的字符。2将您自己设计的图形存储在CGRAM中。DB7DB6DB5可以是任何数据,通常导入“000”。DB4DB3DB2DB1DB0对应于每行5点的字体数据。2.设计过程:了解1602的各种销和控制方法,以及各种命令的脚本编写,可以先整理合成过程。初始化中设定状态状态转换3.源程序设计:库IEEEUse IEEE。STD_LOGIC_1164。ALLUse IEEE。STD_LOGIC_ARITH。ALLUse IEEE。STD_LOGIC_UNSIGNED。ALLEntity lcd_1602 isport(clk : in STD _ logic;Reset:in std _ logicLcdrs : out std _ logic-读取或写入命令|数据控制器Lcdrw : out std _ logic-读|写控制器Lcden : buffer std _ logic-能源水准data : out STD _ logic _ vector(7 down to 0);Std _ logic中的密钥1:-移动和固定拨号开关控制;key 23360 in STD _ logic);End lcd _ 1602architecture behavioral of LCD _ 1602 isType state is(set _ qingping,set _ no busy,set _ cursor,set _ switch,set _ ddram,write _ data,set set _ ddram 10、Write _ data10、set _ ddram 11、write _ data11、set _ ddram 12、write _ data12 set _ ddram 21、write _ data21、Set _ ddram 22、write _ data22、set _ ddram 23、write _ data23 -定义各种状态type ram 2 is array(0 to 7)of STD _ logic _ vector(7 down to 0);constant CG ram : ram 23360=( 0001111 ),( 0000100 ),( 0000100 ),( 00001111 ),( 0000100 ),( 0000100 ),( 0000100 ),( 0000111 );-将“国王”字模型写入数组。Signal current _ state:statesignal clk CNT : STD _ logic _ vector(18 down to 0);constant div CNT : STD _ logic _ vector(18 down to 0):= 111100110000000 ;Signal clkdiv: std _ logicSignal tc _ clkcnt: std _ logicSignal clk _ int: std _ logicSignal clk div 23360 STD _ logicSignal clkdiv3: std _ logicSignal clk div 6: STD _ logicBeginlcdrw=0;-读写控制客户端设置为写有效Process(clk,reset)BeginIf(reset=0)thenClk clkcnt= 0000000000000000000Elsif(clkevent and clk=1)thenif(clk CNT=div CNT)then clk CNT= 0000000000 ;Elseclk CNT=clk CNT 1;-将系统时钟频率划分为12.5毫秒的工作周期End ifEnd ifEnd process;TC _ clk CNT=1 when clk CNT=div CNT else 0;-TC _ clk CNT为12.5毫秒Process(tc_clkcnt,reset)BeginIf(reset=0)thenclkdiv=0;elsif(TC _ clkcntevent and TC _ clk CNT=1)thenClkdiv=not clkdiv-clkdiv=2 * 12.5毫秒,进一步分频;End ifEnd processProcess(clkdiv,reset)BeginIf(reset=0)thenclk _ int=0;elsif(clk divent and clk div=1)thenClk _ int=not clk _ int-clk _ int=4 * 12 . 5毫秒的额外频率分割End ifEnd processProcess(clk_int,reset)BeginIf(reset=0)thenclkdiv 2=0;-clkdiv 2=8 * 12.5毫秒,进一步分频elsif(clk _ int event and clk _ int=1)thenClkdiv2=not clkdiv2End ifEnd processProcess(clkdiv2,reset)BeginIf(reset=0)thenclk div 3=0;-clk div 3=16 * 12.5毫秒进一步分频Elsif (clk div 2事件和clk div 2=1) thenClkdiv3=not clkdiv3End ifEnd processProcess(clkdiv3,reset)BeginIf(reset=0)thenclk div 6=0;-或clkdiv6=32 * 12.5ms毫秒Elsif (clk div 3事件和clk div 3=1) thenclk div 6=not clk div 6;End ifE

温馨提示

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

评论

0/150

提交评论