MSP430单片机控制1602液晶显示

发布者:740322lwj最新更新时间:2021-06-18 来源: eefocus关键字:MSP430  单片机控制  1602液晶显示 手机看文章 扫描二维码
随时随地手机看文章



字符型 LCD1602 通常有 14 条引脚线或 16 条引脚线的 LCD , 多出来的 2 条线是背光电

源线 VCC(15 脚 ) 和地线 GND(16 脚 ) , 其控制原理与 14 脚的 LCD 完全一样 , 引脚定义如下表

所示:



在这里要特别注意了:MSP430端口输出电压是3.3v的,不是5v的,所以2和15脚要另找5伏电压接上,否则虽然能显示但不清楚而且会出现乱码。


2脚相当于清晰度调节,一般接地就可以,但最好接上可变电阻调节一下。


下面是端口连接:



不多解释了,接上线就行了,下面是C语言程序:


#include

/*

必要操作:正确连接1602

*/

#define uint unsigned int //定义常用数据类型替代码

#define uchar unsigned char

#define dat P2OUT //定义LCD1602的数据口为P2


#define CLR_RS P1OUT&=~BIT0; //置零P1.0位,也就是置零RS

#define SET_RS P1OUT|=BIT0; //置壹P1.0位,也就是置壹RS

#define CLR_RW P1OUT&=~BIT1; //置零P1.1位,也就是置零RW

#define SET_RW P1OUT|=BIT1; //置壹P1.1位,也就是置壹RW

#define CLR_EN P1OUT&=~BIT2; //置零P1.2位,也就是置零EN

#define SET_EN P1OUT|=BIT2; //置壹P1.2位,也就是置壹EN

uchar busy; //1602判忙标志

void delay_1ms(void); //延时程序

void delay_1s(void); //延时程序

void display(void); //显示程序

void busy_1602(void); //液晶查忙程序

void shj_1602(uchar a); //液晶写数据程序

void init_1602(void); //液晶初始化

void zhl_1602(uchar a); //液晶写指令程序



void main(void) //主程序开始

{

WDTCTL=WDTPW+WDTHOLD;

P1DIR=0xff;

P2DIR=0xff;

while(1)

{

display(); //在大循环内调用显示函数,一直显示

}

}


void delay_1ms(void) //延时程序

{

uchar i,j;

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

for(j=0;j<20;j++);

}


void delay_1s(void) //延时程序

{

int i,j;

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

for(j=0;j<1000;j++);

}


void display(void) //液晶显示程序

{

uchar i; //定义计数值

uchar table0[16]={"What do you want"}; //定义LCD1602显示2行的字符

uchar table1[16]={"I want you now.."};

init_1602(); //初始化1602

zhl_1602(0x80); //写指令

for(i=0;i<16;i++) //发送数据第一行

{

shj_1602(table0[i]);

}

zhl_1602(0xc0);

for(i=0;i<16;i++) //发送数据第二行

{

shj_1602(table1[i]);

}

}


void busy_1602(void) //查询忙碌标志信号程序

{

do

{

CLR_EN;

SET_RW;

CLR_RS;

SET_EN;

busy=dat;

CLR_EN;

delay_1ms();

}

while(busy&&0x10==1);

}


void zhl_1602(uchar a) //写指令到LCM程序

{

busy_1602();

CLR_EN;

CLR_RW;

CLR_RS;

SET_EN;

dat=a;

CLR_EN;

}


void shj_1602(uchar a) //写数据到LCM程序

{

busy_1602();

CLR_EN;

CLR_RW;

SET_RS;

SET_EN;

dat=a;

CLR_EN;

}


void init_1602(void) //启动LCM程序

{

zhl_1602(0x38);

zhl_1602(0x0c);

zhl_1602(0x06);

}


关键字:MSP430  单片机控制  1602液晶显示 引用地址:MSP430单片机控制1602液晶显示

上一篇:在MSP430F1611上实现周期图谱分析及校正
下一篇:MSP430学习笔记——FLASH

推荐阅读最新更新时间:2024-11-13 13:26

MSP430系列教程(一) 开发环境搭建(IAR for MSP430 v7.10.1)
最近开发用到了MSP430F169,重新熟悉了一遍430的开发流程,做个记录。 本教程仅供个人使用,请勿用作商业用途。 软件下载 我用的是IAR For MSP430 v7.10.1版本,下载链接见文章末尾。 安装流程 执行安装程序,依次下一步即可 破解流程 感谢一位叫“雷锋”的好心人。 启动IAR以后,菜单栏- Help- License Manager,如下图所示: License Manager打开以后,弹出如下窗口: 菜单栏- Licencse- Offline Activation: 打开离线注册机注册工具,“Product”选择MSP430,将生成的License Number拷贝
[单片机]
<font color='red'>MSP430</font>系列教程(一) 开发环境搭建(IAR for <font color='red'>MSP430</font> v7.10.1)
msp430程序丢失问题分析及解决方法
   TI 的MSP430系列是一款功耗低、市面流行的SOC结构的CPU,适合做智能仪表。IAR对其支持得很好,下面就以IAR调试为例来说说MSP430调试过程中一些问题。   1、接上仿真器,发现不能下载,IAR提示找不到目标。   (1)并口驱动能力不足,在电脑的BIOS界面下设置成ECP或者ECP+EPP模式;(2)JTAG线太长,一般超过20CM不推荐,而且这个线最好不要交叉缠绕,会影响实时在线调试;   (3)负载太大,一般功耗相对比较大,电流超过20MA以上的板子,建议用外接电源,光靠并口的电源,MCU的电压被拉低到不能写FLASH。   2、程序下载到一半,突然告警并报错,说某某地址写不进去。   (
[单片机]
<font color='red'>msp430</font>程序丢失问题分析及解决方法
使用Code Composer Studio开发MSP4301602图形显示屏的使用
本文是使用Code Composer Studio对MSP430进行编程的系列教程的延续。在上一篇文章中介绍了使用MSP430上GPIO引脚的外部中断。本篇文章将主要介绍如何将关于将显示屏连接到MSP430,我们选择的是1602图形点阵液晶屏,这是电子爱好者的首选。在之前的帖子中,我们介绍了使用Arduino IDE将液晶屏连接到MSP430,在本文中,我们将使用Code Composer Studio平台而不是使用Arduino IDE,这样作为设计者,我们将获得更大的灵活性。 1602字符型液晶显示屏 通用的1602显示屏内置了驱动芯片hd44780(下图用红色圆圈圈出),可以存储传递给它的命令和数据。 LCD模块具有16
[单片机]
使用Code Composer Studio开发<font color='red'>MSP430</font>之<font color='red'>1602</font>图形显示屏的使用
msp430f5529 RC522射频卡程序
/* 波特率设置为9600 特别说明: 单片机与PC的通讯: PC与单片机的连接:需要一个usb转ttl调试器B,B的RXD接P4.5口,TXD接4.4口,VCC接5v电压,GND接地即可。 PC端使用的串口调试助手是X—COM,将调试器B连接好单片机。单片机的数据线接到电脑上,编译好程序后,点击CCS上的开始调试。 然后将调试器插入电脑,在X-COM中 设置波特率为9600,停止位1,数据位8,串口选择调试器B的usb接口!(这步很重要)打开串口,即可开始串口调试。 此刻能实现的功能: 1.PC发送除A, F外的字符,单片机发送给电脑菜单信息。 单片机与RC522的通讯: SDA p2.2 SCK P2.7
[单片机]
PIC16C54单片机控制的电话扩音器
本控制器以P IC 16C54 单片机 作控制器,使用非常简便:只需将一条电话线经该控制器与扩音器相连,便可在任何一部电话机上遥控扩音器的开闭,进行喊话及宣传,适宜广大农村基层、安装地点相对固定的广播喇叭使用。 电路 见附图。L1、L2接电话线。使用时在任何一部双音频电话机上拨打该线路号码,电话拨通后振铃信号经C1、R2、B2及R4触发VT1,再由R7、C12 滤波 后送到IC3的RB7,IC3计数到连续七次振铃后,RB6端输出高 电平 ,触点JK1吸合,同时,RB3端发出一串“嘀——嘀”回馈信号经B1送回线路提示使用者,完成摘机。 听到摘机提示音后1分钟内,顺序拨完5180(意为:我要发令)四个开机代码,经B1耦合由C
[单片机]
PIC16C54<font color='red'>单片机控制</font>的电话扩音器
MSP430串口接收控制LED
/********************************************** *程序描述:单片机的P3.4、P3.5作为串口接收字符,将接受到的字符再发送出去 *并且根据接受到的字符‘1’‘2’‘3’‘4’分别点亮LED1、LED2、LED3、LED4 P2.0- LED1 ,P2.1- LED2, P2.2- LED3 ,P2.3- LED4 ***********************************************/ #include void usartInit(void); //串口初始化 void main(void) { WDTCTL =
[单片机]
基于MSP430的智能自适应间断光控系统
0 引言 传统的温室大棚光照系统,在光照强度不够的情况下就进行补光,补光的时间不能调节,是一直亮着的,而且补光的程度都一致,不能调节。这样在有些情况下,不仅会浪费多余的光照,浪费了宝贵的电能,不利于节能减排,而且如果外界环境中的光照强度加上补光产生 的光照强度的总和超过了植物的光饱和点,这样对于植物的生长不但没有帮助,还会由于光照强度过强对植物的光合作用产生抑制作用。传统补光灯通常为白光,白光中大部分光谱能量都不能被光合作用利用。传统补光灯的成本,以满足1 mx1 mx1 m空间补光,电费以0.6元/度,一个月以30天计算,一盏普通功率40 W,持续照射1个月耗能28.8度,需要5盏,合计电费86元,5盏灯售价约400元,支架
[单片机]
基于<font color='red'>MSP430</font>的智能自适应间断光控系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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