搜索
bottom↓
回复: 3

最简洁的LCD1602四线显示程序(仅需6个I/O口且为同一个p口)基于msp430

[复制链接]

出0入0汤圆

发表于 2011-4-25 21:45:15 | 显示全部楼层 |阅读模式
#include "io430.h"

void LcdWriteCommand(char cmd);
void LcdWriteData( char data );

//P2.4--P2.7为数据口
#define CLR_RS P2OUT&=~BIT0;        //RS = P2.0  RW接地
#define SET_RS P2OUT|=BIT0;     

#define CLR_EN P2OUT&=~BIT1;    //EN = P2.1
#define SET_EN P2OUT|=BIT1;       

void Delay(void)
{
    int i=200;
    while (i != 0)
    {i--;}
}

void LCD_init(void)
{
    P2SEL = 0x00;   
    P2DIR = 0xFF;
    P2OUT = 0x00;
    Delay();
    LcdWriteCommand(0x38);            //规定的复位操作
    Delay();
    LcdWriteCommand(0x38);               
    Delay();
    LcdWriteCommand(0x38);
    Delay();
    LcdWriteCommand(0x28);                //显示模式设置  四线
    LcdWriteCommand(0x80);                //关闭显示
    LcdWriteCommand(0x06);                //写字符时整体不移动
    LcdWriteCommand(0x0c);                //显示开,不开光标,不闪烁
    LcdWriteCommand(0x01);                    //显示清屏
}

void LcdWriteCommand(char cmd)
{
   Delay();
   CLR_RS;       
P2OUT=(cmd & 0xF0);                     //清低四位
    SET_EN;                             //产生使能脉冲信号
    CLR_EN;
P2OUT=(cmd<<4) & 0xF0;                  //清高四位
    SET_EN;                              //产生使能脉冲信号
    CLR_EN;                       
}

void LcdWriteData( char data )
{
    Delay();
    SET_RS;                                //P2.0-->RS
P2OUT=(data & 0xF0) | BIT0 ;              //清低四位
    SET_EN;                               //产生使能脉冲信号
    CLR_EN;       
P2OUT=((data<<4) & 0xF0) | BIT0;  
    SET_EN;                              //产生使能脉冲信号
    CLR_EN;       
}

void main( void )
{
    WDTCTL=WDTPW+WDTHOLD;
    LCD_init();
    LcdWriteCommand(0x80+0x00);     //设置显示地址
      LcdWriteData('t');            //地址自动累加
      LcdWriteData('e');
      LcdWriteData('a');
      LcdWriteData('s');
      LcdWriteData('h');
      LcdWriteData('a');
      LcdWriteData('r');
      LcdWriteData('k');

while(1);
      
}


**********************************************************************************************************************
说明:以上程序已测,完全没问题。其中接线方法已经标注,P2口可换成其他P口,但应注意对应关系。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2011-5-11 10:32:34 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2011-5-18 10:26:58 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-5-19 08:22:27 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 14:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表