FPGA课程设计报告.doc

上传人:飞****9 文档编号:136788960 上传时间:2020-07-02 格式:DOC 页数:17 大小:807.50KB
返回 下载 相关 举报
FPGA课程设计报告.doc_第1页
第1页 / 共17页
FPGA课程设计报告.doc_第2页
第2页 / 共17页
FPGA课程设计报告.doc_第3页
第3页 / 共17页
FPGA课程设计报告.doc_第4页
第4页 / 共17页
FPGA课程设计报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《FPGA课程设计报告.doc》由会员分享,可在线阅读,更多相关《FPGA课程设计报告.doc(17页珍藏版)》请在金锄头文库上搜索。

1、FPGA课程设计报告 题 目:基于CPLD的1602字符液晶显示系统设计 院 系: 信息与电气工程学院 班 级: 电子信息工程 学 号: 学生姓名: 指导教师: 成 绩: 2011年7月 基于CPLD的1602字符液晶显示系统设计1. 设计题目: 基于CPLD的1602字符液晶显示系统设计2 设计要求技术指标: 要求用1602液晶显示字符; 显示内容:学号+英文姓名; 显示方式:流动显示,开关控制字符流动速度及方向;具有暂停和清 屏的功能;3 设计平台: QUARTUSII 6.0软件 MARS-1270 CPLD 1602液晶4 设计思路与设计步骤: 1.1602液晶指令介绍: 要想控制16

2、02液晶显示字符,首先需要弄清楚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. 清屏指令: 功能: 清除液晶显示

3、器即将DDRAM 的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为0。B. 进入设置模式指令: 功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个 字符是否移动。参数设定的情况如下所示: 位名设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移 1=写入新数据后显示屏整体右移1字符C. 显示开关控制指令: 功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情 况如下: 位名设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标

4、闪烁 1=光标不闪烁D. 设定显示屏或光标移动方向指令: 功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动E. 功能设定指令: 功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名设置 DL 0=数据总线为4位 1=数据总线为8位 N 0=显示1行 1=显示2行 F 0=57点阵/每字符 1=510点阵/每字符F. 设定CGRAM地址指令: 功能:设定下一个要存入数据的CGRAM的

5、地址。 DB5DB4DB3 为字符号,也就是你将来要显示该字符时要用到的字符 地址。(000111)(能定义八个字符) DB2DB1DB0为行号。(000111)(八行)G. 设定DDRAM地址指令;功能:设定下一个要存入数据的DDRAM的地址。H. 数据写入DDRAM或CGRAM指令: 功能: 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 将使用者自己设计的图形存入CGRAM。 DB7DB6DB5可为任何数据,一般取“000”。 DB4DB3DB2DB1DB0对应于每行5点的字模数据。2. 设计流程: 弄懂1602中各种管脚及其控制方法以及各种指令的指令码后,就可以进 行程序的

6、编写了,首先整理一下编写流程: 初始化 设置状态 状态转换 3.设计源程序: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity lcd_1602 is Port ( clk : in std_logic; reset:in std_logic; lcdrs : out std_logic;-读或写指令|数据控制端 lcdrw : out std_logic;-读|写控制端 lcden : buffer std_logic

7、; -使能端 data : out std_logic_vector(7 downto 0); key1: in std_logic; -拨码开关控制移动与不动; key2: in std_logic); end lcd_1602; Architecture Behavioral of lcd_1602 is Type state is(set_qingping,set_nobusy,set_cursor,set_switch,set_ddram,write_data,set_ddram1,write_data1,set_ddram2,write_data2,set_ddram3,write_

8、data3,set_ddram4,write_data4,set_ddram5,write_data5, set_ddram6,write_data6, set_ddram7,write_data7,set_ddram8,write_data8,set_ddram9,write_data9, set_ddram10,write_data10,set_ddram11,write_data11,set_ddram12,write_data12,set_ddram13,write_data13,set_ddram14,write_data14,set_ddram15,write_data15,set

9、_ddram17,write_data17,set_ddram16,write_data16,set_ddram18, write_data18,set_ddram19,write_data19,set_ddram20,write_data20, set_ddram21,write_data21,set_ddram22,write_data22,set_ddram23,write_data23,set_cgram,write_cgram,set_ddram24,write_data24,set_ddram25,write_data25,shift_cur,shift_display); -定义

10、各种状态type ram2 is array(0 to 7) of std_logic_vector(7 downto 0);constant cgram:ram2:=(00011111),(00000100),(00000100), (00011111),(00000100),(00000100),(00000100),(00011111); -把“王”字字模写入数组;signal current_state:state;signal clkcnt: std_logic_vector(18 downto 0);Constant divcnt:std_logic_vector(18 downt

11、o 0):=1111001110001000000;signal clkdiv: std_logic;signal tc_clkcnt: std_logic; signal clk_int: std_logic;signal clkdiv2: std_logic;signal clkdiv3: std_logic;signal clkdiv6: std_logic; begin lcdrw = 0 ; -读写控制端设为写有效 process(clk,reset) Begin if(reset=0)then clkcnt=0000000000000000000; elsif(clkevent a

12、nd clk=1)then if(clkcnt=divcnt)then clkcnt=0000000000000000000; elseclkcnt=clkcnt+1; -对系统时钟进行分频使其工作周期为12.5ms end if; end if;end process;tc_clkcnt=1 when clkcnt=divcnt else 0; -tc_clkcnt为12.5msprocess(tc_clkcnt,reset)begin if(reset=0)thenclkdiv=0; elsif(tc_clkcntevent and tc_clkcnt=1)thenclkdiv=not clkdiv; -进一步分频使clkdiv=2*12.5ms; end if;end process;process(clkdiv,reset)begin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号