msp430g2553:双线12864库程序

发布者:tyloo820最新更新时间:2016-12-13 来源: eefocus关键字:msp430g2553  双线  12864库 手机看文章 扫描二维码
随时随地手机看文章

(Display)msp430g2553:双线12864库程序

 

**************************************************************************************************

LCD12864.H

 

****************************************************************
LCD12864 2线程序
   rs (CS) 已经外接高电平
   rw (SID) P2.0
   en (SCLK) P2.1
   PSB 已经外接低电平
   RST 已经外接高电平
  硬件电路,3号引脚接的10K电阻与地间的阻值一般在8.8k-9.5k
(一个电源+,两根共地线)  
****************************************************************

 

#ifndef __LCD12864_H__
#define __LCD12864_H__

 

#include"msp430g2553.h"

 

********************************
       引脚定义
********************************
#define SID_0 P2OUT &= ~BIT0
#define SID_1 P2OUT |= BIT0
#define SCLK_0 P2OUT &= ~BIT1
#define SCLK_1 P2OUT |= BIT1

 

******************************
        命令字符定义
******************************
#define First_Line 0x80
#define Second_Line 0x90
#define Third_Line 0x88
#define Fourth_Line 0x98

 

************************************************************
                       函数定义
************************************************************
extern void LCD12864_Port_Init(void);
extern void LCD12864_write_one_byte(unsigned int byte);
extern void LCD12864_write_command(unsigned int com);
extern void LCD12864_write_data(unsigned int dat);
extern void LCD12864_Init(void);

 

extern void LCD12864_write_string(char adress,char *str);


#endif

**************************************************************************************************

 

 

**************************************************************************************************

LCD12864.C

 

#include"LCD12864.H"

 

****************************
       端口初始化
****************************
void LCD12864_Port_Init(void)
{
 P2DIR=BIT0+BIT1;
}

 

****************************************
 传送字节函数:
     byte型数据,1:SID传送一个高电平
                 0:SID传送一个低电平
****************************************
void LCD12864_write_one_byte(unsigned int byte)
{
 unsigned int i;
 for(i=0;i<8;i++)
 {
   if( byte & 0x80 )
     SID_1;
   else
     SID_0;
   SCLK_1;
   __delay_cycles(10);
   SCLK_0;
   byte<<=1;
   __delay_cycles(10);
 }
}

 

 

********************************************************************************
2线128*64数据传送:
 先判断是传送命令还是传送数据
   1.第一个字节:前五个必须是高电平,对12864进行双线传送初始化,
                 第六个电平是RW,第七个是RS,第八个必须是低电平0。
                 ( 1 1 1 1 1 RW RS 0 )
                 (这是为了与8跟线的命令对应,数据都是通过SID数据线进行传输,
                     CS始终是高电平)。               
                          RW          RS          byte
            写命令:     0           0           0xf8
            写数据:     0           1           0xfa 
            读忙:       1           0           0xfc
            读数据:     1           1           0xfe          
 然后开始传送数据
   2.第二个字节:高四位是要传送数据的高四位,低四位全为0.(D7 D6 D5 D4 0 0 0 0)
   3.第三个字节:高四位是要传送数据的低四位,低四位全是0.(D3 D2 D1 D0 0 0 0 0)
数据*命令传送完毕
********************************************************************************

 

******************************
       写命令函数
******************************
void LCD12864_write_command(unsigned int com)
{
 unsigned int com_init=0xf8;
 unsigned int com_h,com_l;
 com_h = com & 0xf0;
 com_l = (com<<4) & 0xf0;
 
 LCD12864_write_one_byte(com_init);
 LCD12864_write_one_byte(com_h);
 LCD12864_write_one_byte(com_l);
}

 

*****************************
       写数据函数
*****************************
void LCD12864_write_data(unsigned int dat)
{
 unsigned int dat_init=0xfa;
 unsigned int dat_h,dat_l;
 dat_h = dat & 0xf0;
 dat_l = (dat<<4) & 0xf0;
 
 LCD12864_write_one_byte(dat_init);
 LCD12864_write_one_byte(dat_h);
 LCD12864_write_one_byte(dat_l);
}


********************************************************************************
     初始化函数(一些必须要设置的地方)
   command         function                 
    0x30                    基本指令集                
    0x01                      清屏                     
    0x06                    传送一个字符,光标右移,AC+1,显示不移动          
    0x0c                      显示开
    0x0f                    显示开,游标开,游标闪动
********************************************************************************
void LCD12864_Init(void)
{
 LCD12864_write_command(0x30);
 LCD12864_write_command(0x01);
 LCD12864_write_command(0x06);
 LCD12864_write_command(0x0f);
}

 

**************************************************
       字符串传送函数
   设定字符串的首位置,然后对写入的字符串进行显示
**************************************************
void LCD12864_write_string(char adress,char *str)
{
 __delay_cycles(1000);
 LCD12864_write_command(adress);
 while(*str!='\0')
 {
   LCD12864_write_data(*str);
   str++;
 }
}
*************************************************************************************************


关键字:msp430g2553  双线  12864库 引用地址:msp430g2553:双线12864库程序

上一篇:128*64液晶显示功能实现
下一篇:12864_8线库程序

推荐阅读最新更新时间:2024-03-16 15:25

MSP430G2553测试程序(呼吸灯)
//****************************************************************************** //修改者 http://jiwm.blog.163.com //MSP430G2553 呼吸灯演示程序 - 使用Timer_A,Up Mode, DCO SMCLK // // 介绍: 该程序利用TIMER A 的 UP模式 在P1.6脚产生PWM输出 // 将CCR0设置为1500来定义PWM的周期,利用循环不断改变CCR1的值, // 实现利用改变PWM的占空比来改变LED亮度. // ACLK = na, SMCLK = MCLK = TACLK =
[单片机]
MSP430G2553测试程序(串口程序,定时器模式)
// // // MSP430G2xx3 // ----------------- // /|| XIN|- // | | | // --|RST XOUT|- // | | // | CCI0B/TXD/P1.1|-------- // | | 9600 8N1 // | CCI0A/RXD/P1.2| -------- // Built with IAR Embedded Workbench Version: 5.40 //串口调试助手,下载地址:http://www.sudt.com/download/AccessPort137.zip //***************************************
[单片机]
MSP430G2553定时器中断实验
/////////////////////////////////////////////////////////////////// // msp430G2553的定时器中断控制LED每秒钟进行亮熄变化 /////////////////////////////////////////////////////////////////// #include void led_init(); void timer_init(); void delay(int); //---------------------------------- void led_init() { P1DIR|=(1 6); //P1.6为LED }
[单片机]
MSP430G2553系统学习之系统时钟
把MSP430G2553的系统时钟作为系统学习的一篇讲解可见他的重要性,那为什么要把时钟放到第一位呢?学过FPGA的朋友都能体会得到,如果把CPU的所有工作任务作为纵坐标(y轴),那么时钟就是他的横坐标(x轴)了,如下图1 时钟概念所示。 图 1 时钟概念 也就是说时钟就是一个微机(小到8位的51单片机大到32位的S3C2440等)在时域上的一个衡量标准。如果学过FPGA的朋友都很清楚,微机是以对输入的时钟源的脉冲计数的方式来确定时域参数的。所以,MSP430单片机也一样,拿到他之后首先从时钟入手,一定要养成这种系统学习的好方法,否则再学一百款单片机也是感觉再学新的,做不到举一反三,事半功倍的效果。如果能够把握这其中的通
[单片机]
<font color='red'>MSP430G2553</font>系统学习之系统时钟
节能设计的双线4×4按键键盘接口
  可以用带有 ADC 的微控制器设计一个双线加接地组成的键盘接口。例如,可以用一个电阻分压器判定一个按下的键(参考文献 1)。微控制器的整合 ADC, 其输入电阻一般在数百千欧量级,为了有足够的精度,键盘分压器应该具有相对较低电阻值,一般为数十千欧量级。但是,在电池供电系统中,电阻分压器会消耗数百毫安电流,这迫使设计者选择经典的数字矩阵开关和多条 I/O 线作替代。此外,便携设备设计通常也限制了元件的数量。   为满足这两个要求,图 1 中的电路采用了一个矩阵键盘和一个分为两行、两列的电阻网络。对于 4 X 4 按键的键盘,7 只电阻器就足以为所有按键编码,电路只在一个键保持闭合时消耗能量。而当没有按下任何按键时,待机电流
[嵌入式]
双线同步示波器的业余制作
  本文介绍的一款简单易制的示波器,是基于旧式的电子管双线示波器SBR-1制作,Y轴频率响应为O—1MHz,灵敏度为2mV/cm—20V/cm(按1-2-5进制分档),输入电阻1MΩ,×轴扫速为l u s/cm~5s/cm(按1—2-5进制分档)。读者如果有其它型号的旧式示波器零件,也可使用本电路作为参考。   电路原理      本示波器的电路分为如下几个部分:   1、垂直通道(Y轴),见图1;      2、水平通道(X轴)与时基电路,见图2、3;      3、高压电源和示波管电路,见图5;      4、中低压电源,见图4。   下面逐一介绍各部分电路原理。   垂直通道由输入衰减器、前置放大器和输出放大器组
[测试测量]
<font color='red'>双线</font>同步示波器的业余制作
电设工作小结之——MSP430G2553学习笔记——2
(四),ADC10 1,ADC10是十位的AD,在g2553上有A0~A7八个可以外接的AD通道,A10接到片上的温度传感器上,其他的通道都接在内部的VCC或GND上。因为是10为的AD所以计算公式如下: 2 ,ADC参考电压的选择:ADC的参考电压可以为: 由ADC控制寄存器0 ADC10CTL0控制。但是要提高ADC的精度的话,尽量不要用内部的参考电压,最好外接一个比较稳定的电压作为参考电压,因为内部的产生的参考电压不是特别稳定或精度不是特别的高。例如我在使用时遇到的情况如下: Vref设为2.5V 但实际的值大概为2.475V, 选择VCC VSS作为参考,用电压表测得大概为3.58V 还是不小的偏差的。
[单片机]
户储及光伏双线延伸,解码锦浪、固德威、古瑞瓦特和首航等逆变器厂商的全球视野和高价值性
光伏大潮,浩荡而来。 潜藏着深厚新能源技术基因的中国逆变器业者,经历了起初的不确定性,但就是凭借着对行业潜力和爆发力的深信不疑,将整体的业务构建和执行深深落实于行动中,如今在全球逆变器市场中光速挺进。 无论是早期的光伏逆变器业务,还是对已吹响集结号、正处于上升势头的户用储能(下称“户储”)市场脉动的精准把握与机会捕捉,在华逆变器厂商的高价值性都逐步浮出水面,这群舰队已全速驶向新能源时代的星辰大海。 海外市场是各大逆变器厂商的必争之地 投资界的顶流人物查理.芒格曾说:明智的人能耐心等待,让时间流逝,体会其中的妙处。 事实上,这几年逆变器厂商可以在资本市场上获得较高的估值,还是由于它们长期在海外市场不断耕耘、发展,迎来了强劲的增长
[新能源]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
502 Bad Gateway

502 Bad Gateway


openresty
设计资源 培训 开发板 精华推荐

502 Bad Gateway

502 Bad Gateway


openresty
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
随便看看
    502 Bad Gateway

    502 Bad Gateway


    openresty
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
502 Bad Gateway

502 Bad Gateway


openresty