qc12864b 液晶,串行工作方式下,接线如下:VSS接地,V...

佳佰科技QC12864B使用说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
佳佰科技QC12864B使用说明
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢关于msp430f5529 launchpad 的12864lcd液晶显示问题
<em style="color:#999;font-size:12 margin-left:10" id="authorposton15-5-7 01:49:24&nbsp
你好,我用msp430f5529launchpad 在12864(型号为QC12864B)液晶显示汉字等内容时,发现完全没有显示,而且PSB脚一旦接入单片机的I/O口,芯片会很烫。rst接却不会。其中RS RW E 分别接P2.7,P2.6,P2.5。P3为数据口,PSB直接连上+5V电压(此情况下芯片不发热),RST不接,Vout接+3.3V电压。(之前这样接的时候有成功显示过,但某一次把线重新接后就没有显示了)QC12864B引脚说明1 VSS 电源地2 VDD 电源正3 V0 LCD对比度电压输入4 RS5 RW6 E7-14 DB0-DB7 数据口15 PSB 串并接口 H-并行 L-串行16 NC 空脚17 rst 复位低电平有效18 Vout Output LCD voltage19 LEDA 背光源正 +5V20 LEDK 背光源负 0V
#include &msp430.h&
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/))
#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_SCREEN& && &&&0x01& && && && && && &&&//清屏指令:清屏且AC值为00H
#define AC_INIT& && && && && & 0x02& && && && && && &&&//将AC设置为00H。且游标移到原点位置
#define CURSE_ADD& && &&&0x06& && && && && && &&&//设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动)
#define FUN_MODE& && &&&0x30& && && && && && &&&//工作模式:8位基本指令集
#define DISPLAY_ON& && &&&0x0c& && && && && && &&&//显示开,显示游标,且游标位置反白
#define DISPLAY_OFF& && &&&0x08& && && && && && &&&//显示关
#define CURSE_DIR& && &&&0x14& && && && && && &&&//游标向右移动:AC=AC+1
#define SET_CG_AC& && &&&0x40& && && && && && &&&//设置AC,范围为:00H~3FH
#define SET_DD_AC& && &&&0x80
#define RS_CLR& && &&&P2OUT &= ~BIT7& && & //RS置低
#define RS_SET& && &&&P2OUT |= BIT7& && && &//RS置高
#define RW_CLR& && &&&P2OUT &= ~BIT6& && & //RW置低
#define RW_SET& && &&&P2OUT |= BIT6& && && &//RW置高
#define EN_CLR& && &&&P2OUT &= ~BIT5& && &&&//E置低
#define EN_SET& && &&&P2OUT |= BIT5& && && &//E置高
#define DataPort& && &P3OUT& && && && && &&&//P3口为数据口
//*************************************************************************
//& && && && && && &&&系统时钟初始化
//*************************************************************************
void Clock_Init()
{
&&UCSCTL1 = DCORSEL_2;& && && && && && && && && &&&//&&设置DCO范围& &
&&UCSCTL3 |= SELREF_2;& && && && && && && && && &&&//&&选择FLL参考源自REFO
&&UCSCTL4 = SELM_3 + SELA_2 + SELS_4;& && && && &&&//&&配置 MCLK = DCOC,SMCLK =DCODIV,ACLK=REFO
&&while (SFRIFG1 & OFIFG)& && && && && && && && &&&//&&清除 OFIFG,and&&XT1OFFG ,DCOFFG
& && &UCSCTL7 &= ~(&&XT1LFOFFG + DCOFFG);
& && &SFRIFG1 &= ~OFIFG;
//*************************************************************************
//& && && && &&&MSP430内部看门狗初始化
//*************************************************************************
void WDT_Init()
{
& &WDTCTL = WDTPW + WDTHOLD;& && & //关闭看门狗
}
//*************************************************************************
//& && && && && && && && &初始化IO口子程序
//*************************************************************************
void Port_init()
{
& && &&&P3SEL = 0x00;
& && &&&P3DIR = 0xFF;
& && &&&P2SEL = 0x00;
& && &&&P2DIR|= BIT5 + BIT6 + BIT7;
}
//***********************************************************************
//& && &&&显示屏命令写入函数
//***********************************************************************
void LCD_write_com(unsigned char com)
{& && &&&
& && &&&RS_CLR;
& && &&&RW_CLR;
& && &&&EN_SET;
& && &&&DataPort =
& && &&&delay_ms(5);
& && &&&EN_CLR;
}
//***********************************************************************
//& && &&&显示屏数据写入函数
//***********************************************************************
void LCD_write_data(unsigned char data)
{
& && &&&RS_SET;
& && &&&RW_CLR;
& && &&&EN_SET;
& && &&&DataPort =
& && &&&delay_ms(5);
& && &&&EN_CLR;
}
//***********************************************************************
//& && &&&显示屏清空显示
//***********************************************************************
void LCD_clear(void)
{
& && &&&LCD_write_com(0x01);
& && &&&delay_ms(5);
}
//***********************************************************************
//函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
//***********************************************************************
void 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,&helloworld&);
& && &&&DisplayCgrom(0x90,&helloworld&);
& && &&&DisplayCgrom(0x98,&&);
//***********************************************************************
//& && &&&显示屏初始化函数
//***********************************************************************
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)
{
& && &&&WDT_Init();& && && && && && && && && && && &&&//看门狗设置
& && &&&Clock_Init();& && && && && && && && && && && &//系统时钟设置
& && &&&Port_init();& && && && && && && && && && && & //系统初始化,设置IO口属性
& && &&&delay_ms(100);& && && && && && && && && && &&&//延时100ms
& && &&&LCD_init();& && && && && && && && && && && &&&//液晶参数初始化设置
& && &&&LCD_clear();& && && && && && && && && && && & //清屏
& && &&&while(1)
& && &&&{
& && &&&Display();& && && && && && && && && && && && &//显示汉字
& && &&&}
}
复制代码
会不会是电路问题?
& &&&确定接线和之前一样?
站长推荐 /4
Powered by当前位置: >>> LCD1602中文资料
LCD1602中文资料
LCD1602中文资料
LCD1602液晶显示模块基本技术:
&1)、主要功能 A、 40通道点阵LCD 驱动; B、 可选择当作行驱动或列驱动; C、 输入/输出信号:输出,能产生20&2个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6); D、 通过单片机控制将所测的频率信号读数显示出来
2)、技术参数&&
极限参数表:
标& 准& 值
LCD驱动电压
VDD - 13.5
电参数表:
测 试 条 件
输入高电平
输入低电平
输出高电平
IOH = 0.2mA
输出低电平
IOL = 1.2mA
VDD = 5.0V
液晶驱动电压
  VDD-VEE
3)时序特性表:
允许时间周期
    5.1a 5.1b
允许脉冲宽度,高电平
允许上升和下降时间
地址建立时间
数据延迟时间
数据建立时间
数据保持时间
DATA HOLD TIME
地址保持时间
4)引脚和指令功能&&
模块引脚功能表:
液晶驱动电压
保证VDD-VEE=4.5∽5V电压差
寄存器选择信号
H:数据寄存器 L:指令寄存器
H:读&&&&&&&& L:写
下降沿触发,锁存数据
寄存器选择功能表:
指令寄存器(IR)写入
忙标志和地址计数器读出
数据寄存器(DR)写入
数据寄存器读出
(注:忙标志为&1&时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,即忙标志为&0&时。)
4.3) 指令功能
格式:RS& R/W& DB7& DB6& DB5& DB4& DB3& DB2& DB1& DB0
共11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设
置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。
5)显示位与DD RAM 地址的对应关系:
显 示 位 序 号
1&&& 2&&& 3&&&& 4&&& 5& &&&&&&& 40
地 址(HEX)
00&& 01&& 02&& 03&& 04& ..&&&&..& 27
40&& 41&& 42&& 43&& 44& &&&&&..& 67
6)、初始化方法
用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,下面介绍两种初始化方法;
6.1利用内部复位电路进行初始化
下面指令是在初始化过程中执行的。
清屏(DISPLAY CLEAR);
功能设置(FUNCTION SET);
DL = 1: 8Bit 接口数据;
N = 0: 1行显示; F = 0:5&7dot字形;
显示开/关控制(DISPLAY ON/OFF CONTROL)
D = 0: 显示关; C = 0: 光标关; B = 0: 消隐关
输入方式设置(ENTRY MODE SET )
I/D = 1:(增量):&&&& S = 0: 无移位:
6.2) 软件复位
如果电路电源不能满足复位电路的要求的话,那么初始化就要用软件来实现,过程如下:
八位接口初始化流程图
------分隔线----------------------------
收藏到网络书签液晶模块 液晶显示器 液晶显示屏 液晶显示器有辐射吗 液晶显示器维修 三星液晶显示..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
液晶显示模块
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 育松电子 qc12864b 的文章

 

随机推荐