您的位置 首页 IC

MSP430F2274 LCD1602显现模块

/***************************************************************************************************

/**********************************************************************************************************

* 功用: 完成LCD1602显现”Welcome to! “字符 *
* 描绘: LCD1602三根操控引脚由NPN三极管反向操控,D0~D7直接与MSP430相连接 *
* 制止 LCD1602读操作.三极管C极接LCD三根操控引接,三极管E极接地,三 *
* 极管B极由口线操控.如此完成 3V 反向操控 5V. *
* *
* LCD1602 *
* ————————- MSP430F2274 *
* | Welcome to! | —————– *
* | | | XIN|-\ ________ *
* ————————- | | | 32.768 |*
* | | | | | | | -|RSTXOUT|-/ *
* V R R E D ~D G | | *
* C S W N 0 7 N | | *
* C D | | *
* | |*
* —————– *
**
* 作者: Singel*
* 时刻: 2008年10月17日23时45分 *
* 此例在 IAR Embedded Workbench IDE for MSP430 v3.42a 调试经过 . *
*********************************************************************************************************/

#include<msp430x22x4.h>
#define uint unsigned int
#define uchar unsigned char

#define LCDRS BIT5
#define LCDRW BIT6
#define LCDE BIT7
#define LCDRW_out_low P2OUT &=~BIT6 // 置0
#define LCDRW_out_high P2OUT |= BIT6 // 置1
#define LCDRS_out_low P2OUT &=~BIT5
#define LCDRS_out_high P2OUT |= BIT5
#define LCDE_out_low P2OUT &=~BIT7
#define LCDE_out_high P2OUT |= BIT7

const char zifu[]={Welcome to!}; // 界说ASCII码字符数组

void delay(uint m)
{
unsigned int i;
for(i=0;i }

void lcd_write_command( uchar command ) // LCD1602 写指令
{
LCDRW_out_low;
LCDRS_out_low;
LCDE_out_high;
delay(1);
LCD_BUS_OUT = command;
LCDE_out_low;
delay(1);
}

void lcd_write_data( uchar datas ) // LCD1602 写数据
{

LCDRW_out_low;
LCDRS_out_high;
LCDE_out_high;
delay(1);
LCD_BUS_OUT = datas;
LCDE_out_low;
delay(1);
}

void lcd_initialization(void) // LCD1602初始化
{
delay(15);
lcd_write_command(0x01);//铲除一切的显现,并将DDRAM 地址计数器(AC)清零
lcd_write_command(0x02);//不改动DDRAM中的内容,只将DDRAM 地址计数器 AC 清零,光标回来至原始状况
lcd_write_command(0x06);//光标由左向右移动且AC 主动加一 制止翻滚
lcd_write_command(0x0c);//全体显现翻开 不显现光标 光标不闪耀
lcd_write_command(0x14);//光标右移,AC 加1,显现不动
lcd_write_command(0x38);//8位数据接口形式,DB0-DB7有用,5×7点阵显现形式,加光标
delay(5);
}

void lcd_display(void) // LCD1602显现
{
uchar count;
lcd_write_command(0x81);
for(count=0;count<11;count++)
{
lcd_write_data(zifu[count]);
}
}

void main ( void )
{
lcd_initialization();
lcd_display();
while(1);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/272592.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部