已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 LCD12864液晶显示 参赛序号 实验题目 LCD12864液晶显示实验成组员左虎博 杨颂 王志鹏指导教师赵勇报告日期2014年7月16日-2014年7月18日摘要:本设计以超低功耗MSP430单片机为微控制器,以4位/8位并行,2线或3线串行多种接口方式的LCD12864为输出显示器。通过对MSP430单片机进行编程,在LCD12864上显示84行1616点阵的汉字。 关键字:MSP430 LCD12864目录一.方案论证3液晶显示器的论证与选择3二.LCD12864的工作原理41.引脚功能说明4LCD12864采用20接口,各引脚接口说明如表3所示:42. 指令说明4三 实验框图和电路图61. 系统框图62. 电路原理图6四 实验程序设计6五 系统测试61. 测试方案62. 测试结果63. 测试分析与结论7一.方案论证液晶显示器的论证与选择方案一:采用带中文字库的LCD12864。LCD12864具有4 位/8 位并行、2 线或3 线串行多种接口方式,可以显示84 行1616 点 阵的汉字。也可完成图形显示。低电压低功耗是其一显著特点。方案二:采用LCD1602。LCD1602显示内容为16X2,即可以显示两行,每行16个字符液晶模块,只能显示字符和数字。通过论证可知LCD12864显示内容多,功能多,低电压低功耗,因此选用方案一。二.LCD12864的工作原理1.引脚功能说明LCD12864采用20接口,各引脚接口说明如表1所示:表1 引脚说明表管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)表1 引脚说明表注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。2. 指令说明指令表2(RE=0:基本指令)指令指 令 码功 能RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ON C=1: 游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)表2 基本指令表指令表3(RE=1:扩充指令)指令 指 令 码功 能RSR/WD7D6D5D4D3D2D1D0待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址开关开启000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址反白选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常睡眠模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式扩充功能设定00001CLXREG0CL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作G=1/0:绘图开关设定绘图RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可表3 扩充指令表3 实验框图和电路图1. 系统框图系统框图如图3.1所示图3.1系统框图2. 电路原理图电路原理图如图3所示4 实验程序设计#include #define CPU_F (double)8000000) #define delay_us(x) _delay_cycles(long)(CPU_F*(double)x/1000000.0) #define delay_ms(x) _delay_cycles(long)(CPU_F*(double)x/1000.0) #define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*12864应用指令*/#define CLEAR_SCREEN0x01 /清屏指令:清屏且AC值为00H#define AC_INIT0x02 /将AC设置为00H。且游标移到原点位置#define CURSE_ADD0x06 /设定游标移到方向及图像整体移动方向#define FUN_MODE0x30 /工作模式:8位基本指令集#define DISPLAY_ON0x0c /显示开,显示游标,且游标位置反白#define DISPLAY_OFF0x08 /显示关#define CURSE_DIR0x14 /游标向右移动:AC=AC+1#define SET_CG_AC0x40 /设置AC,范围为:00H3FH#define SET_DD_AC0x80#define RS_CLRP1OUT &= (1 0) /RS置低#define RS_SETP1OUT |= (1 0) /RS置高#define RW_CLRP1OUT &= (1 1) /RW置低#define RW_SETP1OUT |= (1 1) /RW置高#define EN_CLRP1OUT &= (1 2) /E置低#define EN_SETP1OUT |= (1 2) /E置高#define PSB_CLRP1OUT &= (1 3) /PSB置低,串口方式#define PSB_SETP1OUT |= (1 3) /PSB置高,并口方式#define RST_CLRP1OUT &= (1 4) /RST置低#define RST_SETP1OUT |= (1 4) /RST置高#define DataPort P6OUT /P6口为数据口/函数名称:Clock_Init/函数功能:系统时钟初始化/函数参数:无void Clock_Init() uchar i; BCSCTL1 &= XT2OFF; /打开XT振荡器 BCSCTL2|=SELM1+SELS; /MCLK为8MHZ,SMCLK为8MHZ do IFG1&=OFIFG; /清除震荡标志 for(i=0;i100;i+) _NOP(); /延时等待 while(IFG1&OFIFG)!=0); /如果标志为1,则继续循环等待 IFG1&=OFIFG; /函数名称:WDT_Init/函数功能: MSP430内部看门狗初始化/函数参数:无void WDT_Init() WDTCTL = WDTPW + WDTHOLD; /关闭看门狗/函数名称:Port_init/函数功能:初始化I/O口/函数参数:无void Port_init()P6SEL = 0x00; P6DIR = 0xFF; P1SEL = 0x00; P1DIR|= BIT0 + BIT1 + BIT2 + BIT3 + BIT4; PSB_SET; /液晶并口方式RST_SET; /复位脚RST置高/函数名称:LCD_write_com/函数功能:显示屏命令写入函数/函数参数:unsigned char comvoid LCD_write_com(unsigned char com) RS_CLR;RW_CLR;EN_SET;DataPort = com;delay_ms(5);EN_CLR;/函数名称:void LCD_write_data/函数功能:显示屏数据写入函数/函数参数:unsigned char datavoid LCD_write_data(unsigned char data) RS_SET;RW_CLR;EN_SET;DataPort = data;delay_ms(5);EN_CLR;/函数名称:void LCD_clear/函数功能:显示屏清空显示/函数参数:无void LCD_clear(void) LCD_write_com(0x01);delay_ms(5);/函数名称:void DisplayCgrom/函数功能:显示CGROM里面的内容/函数参数:uchar addr,uchar *hzvoid DisplayCgrom(uchar addr,uchar *hz)LCD_write_com(addr); delay_ms(5);while(*hz != 0)LCD_write_data(*hz);hz+; delay_ms(5); /函数名称:Display()/函数功能:显示测试结果/函数参数:无void Display(void)DisplayCgrom(0x80,杨颂与闫春);DisplayCgrom(0x88,赶紧回来么);DisplayCgrom(0x98,身体还是得注意的);DisplayCgrom(0x90,华山玩的怎么样);/函数名称:void LCD_init/函数功能:显示屏初始化函数/函数参数:无void LCD_init(void) LCD_write_com(FUN_MODE);/显示模式设置delay_ms(5);LCD_write_com(FUN_MODE);/显示模式设置delay_ms(5); LCD_write_com(DISPLAY_ON);/显示开delay_ms(5); LCD_write_com(CLEAR_SCREEN);/清屏delay_ms(5);/函数名称:void main/函数功能:主函数/函数参数:无void main(void) WDT_Init(); /看门狗设置 Clock_Init(); /系统时钟设置 Port_init(); /系统初始化,设置IO口属性 delay_ms(100); /延时100ms LCD_in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋界限协议书模板
- 房屋租赁代管协议书
- 房屋认购预订协议书
- 房屋资产托管协议书
- 房屋过户承诺协议书
- 房屋防汛加固协议书
- 房租赠与合同协议书
- 房车意向认购协议书
- 房顶装修安全协议书
- 手提袋购销合同范本
- 液碱买卖合同协议
- 煤矿复产复工方案及安全技术措施
- 《如何科学减肥》课件
- 上海松江区车墩镇村委会招考聘用高频重点提升(共500题)附带答案详解
- 《现场改善案例集》课件
- 液压与气压传动(江苏大学)知到智慧树章节测试课后答案2024年秋江苏大学
- 【MOOC】航天推进理论基础-西北工业大学 中国大学慕课MOOC答案
- 建筑钢结构防腐蚀技术规程 JGJT 251-2011知识培训
- 冬季洗澡安全知识
- 《苏州园林》课件
- 第六单元综合素养评价-2024-2025学年语文六年级上册统编版
评论
0/150
提交评论