硬件之路-串行LCD12864之MSP430简单实现

2019-10-19来源: eefocus关键字:硬件之路  串行LCD12864  MSP430

串行LCD12864引脚接法:

180144_s4QJ_1413857.jpg

180144_s4QJ_1413857.jpg


实现代码(MSP430):


/*

 * 12864.c

 *  Created on: 2014-7-15

 *      Author: bazingagain

 */

#include

#include "12864.h"

 

/**

 * 函数名:delay

 * 功能:延时函数,延时时间为100us * x

 * 参数:x

 * 返回值:无

 */

void delay(uint x)

{

uint i,j;

for(j=0;j

for(i=0;i<10;i++);

}

/**

 * 函数名:sendByte

 * 功能:向LCD12864串行发送1BYET数据

 * 参数:command

 * 返回值:无

 */

void sendByte(uchar command)

{

uchar i;

for(i=0;i<8;i++)

{

if((command<

{

P2OUT |= BIT1;  //sid=1;

}

else

{

P2OUT &= (~BIT1); //sid=0;

}

P2OUT &= (~BIT2);  //SCLK=0

P2OUT |= BIT2;  //SCLK=1

 

}

}

/**

 * 函数名:writeCom

 * 功能:向LCD1264写指令函数

 * 参数:command

 * 返回值:无

 */

void writeCom(unsigned char command)

{

// P2OUT |= BIT0;  //CS =P20  CS=1

sendByte(0xf8);  //传送指令

sendByte(command & 0xf0);

sendByte((command << 4) & 0xf0);

delay(2);

}

/**

 * 函数名:writeData

 * 功能:向LCD1286写数据函数

 * 参数:data

 * 返回值:无

 */

void writeData(unsigned char data)

{

// P2OUT |= BIT0;  //CS=1;

sendByte(0xfa);

sendByte(data & 0xf0);

sendByte((data << 4) & 0xf0);

delay(2);

}

/**

 * 函数名:lcd_init

 * 功能:初始化LCD12864函数

 * 参数:无

 * 返回值:无

 */

void lcd_init(void)

{

P2DIR |= BIT1 + BIT2; //SID , SCLK

/*delay(20000);

writeCom(0x30);  //设置8位数据接口,基本指令模式

delay(50);

writeCom(0x0c);  //整体显示开,游标关,反白关

delay(50);*/

writeCom(0x30);  //设置8位数据接口,基本指令模式

writeCom(0x20);  //清DDRAM

writeCom(0x06);  //游标及显示右移一位

writeCom(0x0c);  //整体显示开,游标关,反白关

writeCom(0x01);  //写入空格清屏

writeCom(0x80);  //设置首次显示位置

 

}

/**

 * 函数名:displayOn12864

 * 功能:LCD12864显示字符函数

 * 参数:*s, addr

 * 返回值:无

 */

void displayOn12864(char *s, unsigned char addr)

{

writeCom(addr);

while(*s>0)

{

writeData(*s);

s++;

delay(50);

}

}

51 mcu 写法:


#include

 

/*

 * 12864.c

 *  Created on: 2015-3-31

 *      Author: bazingagain

 */

#include "12864.h"

 

sbit RW = P1^0;

sbit EN = P1^1;

 

/**

 * 函数名:delay

 * 功能:延时函数,延时时间为100us * x

 * 参数:x

 * 返回值:无

 */

void delay(uint x)

{

    uint i,j;

    for(j=0;j

        for(i=0;i<10;i++);

}

/**

 * 函数名:sendByte

 * 功能:向LCD12864串行发送1BYET数据

 * 参数:command

 * 返回值:无

 */

void sendByte(uchar command)

{

    uchar i;

    for(i=0;i<8;i++)

    {

        if((command<

        {

            RW = 1;  //sid=1;

        }

        else

        {

            RW = 0; //sid=0;

        }

        EN = 0;  //SCLK=0

        EN = 1;  //SCLK=1

 

    }

}

/**

 * 函数名:writeCom

 * 功能:向LCD1264写指令函数

 * 参数:command

 * 返回值:无

 */

void writeCom(unsigned char command)

{

RW = 1;

    sendByte(0xf8);  //传送指令

    sendByte(command & 0xf0);

    sendByte((command << 4) & 0xf0);

    delay(2);

}

/**

 * 函数名:writeData

 * 功能:向LCD1286写数据函数

 * 参数:data

 * 返回值:无

 */

void writeData(unsigned char ddata)

{

    RW = 1;

    sendByte(0xfa);

    sendByte(ddata & 0xf0);

    sendByte((ddata << 4) & 0xf0);

    delay(2);

}

/**

 * 函数名:lcd_init

 * 功能:初始化LCD12864函数

 * 参数:无

 * 返回值:无

 */

void lcd_init(void)

{

    

    /*delay(20000);

    writeCom(0x30);  //设置8位数据接口,基本指令模式

    delay(50);

    writeCom(0x0c);  //整体显示开,游标关,反白关

    delay(50);*/

    writeCom(0x30);  //设置8位数据接口,基本指令模式

    writeCom(0x20);  //清DDRAM

    writeCom(0x06);  //游标及显示右移一位

    writeCom(0x0c);  //整体显示开,游标关,反白关

    writeCom(0x01);  //写入空格清屏

    writeCom(0x80);  //设置首次显示位置

 

}

/**

 * 函数名:displayOn12864

 * 功能:LCD12864显示字符函数

 * 参数:*s, addr

 * 返回值:无

 */

void displayOn12864(char *s, unsigned char addr)

{

    writeCom(addr);

    while(*s>0)

    {

        writeData(*s);

        s++;

        delay(50);

    }

}


关键字:硬件之路  串行LCD12864  MSP430 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic477699.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:TI MSP430 如何使用 DCO 倍频
下一篇:MSP430F5529&LCD1602程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

除了硬件业务,索尼大法的音乐之路顺不顺
音乐在自己的音乐道路上似乎一直都在用“买买买”这种简单粗暴的方式进行的扩张。2015年,宣布收购发行公司The Orchard余下股份,交易完成后将100%拥有这家公司。去年8月,更是通过大价钱收购了世界最大的舞曲独立厂牌Ministry of Sound。这次又与Believe Digital达成协议,看来索尼音乐的扩张之路依旧继续。索尼公司总裁兼CEO平井一夫此前提到:“娱乐业务早已是索尼的核心组成部分,亦是我们未来增长的关键驱动力。”的确,这些协议与收购也进一步证明了索尼对娱乐业务的坚守和承诺。不过,原本硬件为主业务的索尼如今把娱乐业务摆在核心的位置这不免让人怀疑其硬件业务真的就不能“起死回生了”吗?始终复兴,却从未复兴的硬件
发表于 2017-07-24
除了硬件业务,索尼大法的音乐之路顺不顺
音乐在自己的音乐道路上似乎一直都在用“买买买”这种简单粗暴的方式进行的扩张。2015年,宣布收购发行公司The Orchard余下股份,交易完成后将100%拥有这家公司。去年8月,更是通过大价钱收购了世界最大的舞曲独立厂牌Ministry of Sound。这次又与Believe Digital达成协议,看来索尼音乐的扩张之路依旧继续。索尼公司总裁兼CEO平井一夫此前提到:“娱乐业务早已是索尼的核心组成部分,亦是我们未来增长的关键驱动力。”的确,这些协议与收购也进一步证明了索尼对娱乐业务的坚守和承诺。不过,原本硬件为主业务的索尼如今把娱乐业务摆在核心的位置这不免让人怀疑其硬件业务真的就不能“起死回生了”吗?始终复兴,却从未复兴的硬件
发表于 2017-07-20
智能硬件和物联网新创公司的差异化成功之路
最近两年风险投资和新创公司纷纷涉足VR硬件和可穿戴智能硬件的产品开发,但成功者寥寥无几。除了市场不成熟的原因外,同质化严重是失败的主要因素。如何增加人工智能时代的创业成功概率呢?业界专家认为,订制化设计自己的SoC是一条可以尝试和探索的途径。ARM推出的DesignStart项目使得低成本快速订制化SoC成为现实。下面就随网络通信小编一起来了解一下相关内容吧。 智能硬件和物联网新创公司的差异化成功之路最近两年风险投资和新创公司纷纷涉足VR硬件和可穿戴智能硬件的产品开发,但成功者寥寥无几。除了市场不成熟的原因外,同质化严重是失败的主要因素。如何增加人工智能时代的创业成功概率呢?业界专家认为,订制化设计自己的SoC是一条可以尝试和探索
发表于 2017-04-28
谷歌的智能硬件之路是如何走得
 在智能硬件领域,我们看到 Facebook、谷歌先后登场,BAT 们纷纷入局,巨头们都不愿错过这场会改变未来生活的征战。下面就随网络通信小编一起来了解一下相关内容吧。智能硬件这个领域里,谷歌其实已经是一个「老炮」了。从最早的 Nexus Q,到之后的 Fiber、Trekker、Glass 等产品,每一款硬件产品无不吸引着用户的注意,但很多产品「叫好不叫座」,抑或「出师未捷身先死」,这逐渐成了谷歌智能硬件产品的定律。从谷歌智能硬件产品进入人们视野的这几年里,我们来细数谷歌这些年在智能硬件领域都有哪些失败案例:谷歌 TPU 难以颠覆 GPU 市场优势谷歌的智能硬件之路是如何走得随着人工智能尤其是机器学习应用大量涌现,处理器市场群雄
发表于 2017-04-20
说一说谷歌屡败屡战的硬件之路
将继续使用CPU和GPU。  谷歌云服务副总裁DianeGreene也表示,谷歌并没有对外销售TPU的打算——抛开TPU本来就是为了谷歌自己设计的这个事实以外,谷歌对外销售芯片的可能性很低,就像Facebook主张全球提供免费互联网,也并不是自己要做运营商。  因此,TPU虽好,但仅限谷歌内部,而且在近未来即便使用TPU,也是用作辅助CPU和GPU。  屡败屡战的硬件之路  还记得谷歌眼镜(Google Glass)吗?这款Google于2012年推出的智能硬件,直接引发了新一波可穿戴智能设备的热潮。这款售价超过万元的“土豪玩具”,虽然不再是当年的概念原型产品,开始上市叫卖,但依然只能被Google藏之深闺而乏人问津。说一说谷歌屡败屡战
发表于 2017-04-17
单片机LCD12864无限扩展多级菜单源码
;       SystemInit();                //系统初始化        delay_init(72);             //延时初始化        LCD12864_InitPort(); //端口初始化        LCD12864_Init();        
发表于 2019-11-18
小广播
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved