找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1099|回复: 0
打印 上一主题 下一主题
收起左侧

430单片机-1602液晶显示

[复制链接]
跳转到指定楼层
楼主
ID:350005 发表于 2018-7-17 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*                        1602液晶程序        */
#include<msp430x14x.h>
#define RS_1        P6OUT|=BIT3         //数据、命令选择选择端
#define RS_0        P6OUT&=~BIT3
#define RW_1        P6OUT|=BIT4        //读写选择端
#define RW_0        P6OUT&=~BIT4
#define E_1        P6OUT|=BIT5        //使能信号
#define E_0        P6OUT&=~BIT5
#define P2        P2OUT        //数据,传输端口
unsigned char zi[]="ok";        
/*-----------------------------设置主时钟--------------------------------------------*/
void CLOCK_INIT()//设置主时钟        MCLK=8M
{   
     unsigned int i;

      BCSCTL1&=~XT2OFF;//开启TX2振荡器
    do
    {
      IFG1 &=~ OFIFG;//清除振荡器失效标志位(晶体出错中断标志位。1时有中断产生、0没有)
      for(i=0xff; i>0; i--);//至少等待 50 us
    }   
      while((IFG1 & OFIFG) !=0 );//(IFG1 & OFIFG)==0时 中断位关闭 则表达式为假  为假则退出
    BCSCTL2 |= SELM1;//使MCLK = XI2  8MHZ  0x80  最高主频8MHz
}
void delay()
{
        unsigned int x;
        for(x=0;x<4000;x++)
          _NOP();
}
void zhil(unsigned char zhil)           //写指令
{
        RS_0;
        RW_0;
        P2=zhil;                 //P2口赋值
        delay();         //等待指令写入
        E_1;                 //拉低  (送一次脉冲)
        delay();
        E_0;        
}

void shuj(unsigned char shuj)          //写数据
{
        RS_1;
        RW_0;
        P2=shuj;
        delay();
        E_1;
        delay();
        E_0;
}

void init1602()                          //液晶初始化
{         
  unsigned int q;
  P2DIR=0XFF;
  P6DIR|=(BIT3+BIT4+BIT5);
        E_0;
        zhil(0x38);  //设置显示方试16*2,5*7点阵,8位数据接口
        zhil(0x0c);  //设置开显示,显示光标,0c不现实光标
        zhil(0x06);  //写一字符光标+1  整屏不左移
        zhil(0x01);        //显示清屏数据指针清零,所有显示清零        
//        zhil(0x80);        //设置第一行指针
        zhil(0x80+0x40);  //设置第二行指针
        for(q=0;q<2;q++)
                shuj(zi[q]);
        zhil(0x80);

}
void main()
{
          WDTCTL = WDTPW + WDTHOLD;//关看门狗
        CLOCK_INIT();//设置主时钟        MCLK=8M
        init1602();
        while(1);
}


评分

参与人数 1黑币 +15 收起 理由
564654654 + 15 回帖助人的奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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