社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 182|回复: 0

[资料分享] MSP430G2553的1602液晶显示问题

[复制链接]

369

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-2-17 09:42:43 | 显示全部楼层 |阅读模式
#include"msp430g2553.h"


#define CPU_F ((double)1000000)//主时钟的频率1MHz
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))//__delay_cycles()延时函数为系统自带库函数
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
//频率是物体1秒钟时间内震动的次数
//频率为1MHz就是说,1秒的时间内震动1000 000次
//也就是说要想得到1秒的延时,必须震动100 000次
//要想得到1ms的延时震动1000次
//要想得到1us的延时震动1次
//在MSP430中计一个数,需要时钟震动一次,上面的延时函数就是这样实现的


#define uchar unsigned char
#define uint unsigned int


#define RS_HIGN P2OUT|=BIT0 //P2.0-rs
#define RS_LOW P2OUT&=~BIT0
#define RW_HIGN P2OUT|=BIT1 //P2.1-rw
#define RW_LOW P2OUT&=~BIT1
#define E_HIGH P2OUT|=BIT2 //P2.2-e
#define E_LOW P2OUT&=~BIT2
//注意:接线时,1602的Vo引脚要接可调电阻或者直接接地
//不然对比度太低,看不到显示的字符


void write_com(uchar com) //写指令函数
{
RS_LOW;
RW_LOW;
P1OUT=com;
delay_ms(5);
E_HIGH;
delay_ms(5);
E_LOW;
}


void write_data(uchar data) //写数据函数
{
RS_HIGN;
RW_LOW;
P1OUT=data;
delay_ms(5);
E_HIGH;
delay_ms(5);
E_LOW;
}


void Init_lcd(void)
{
write_com(0x38);//设置485528-1-1.html" target="_blank" class="relatedlink">8位格式,2行,5x7
delay_ms(5);
write_com(0x0c);//整体显示,关光标,不闪烁
delay_ms(5);
write_com(0x06);//设定输入方式,增量不移位
delay_ms(5);
write_com(0x01);//清除屏幕显示
delay_ms(5);
}
void display_xy(unsigned char x,unsigned char y)
{
if(y==0x01)
{
x = x+0x80; }
else
{
x = x+0xC0; //数据指针设置 80H+地址码 (0-27H,40H-67H)
}
write_com(x);
}
void Disp1Char(uchar x,uchar y,uchar data)
{
display_xy(x,y);
write_data(data); ////输出数据
}

void main(void)
{
WDTCTL = WDTPW + WDTHOLD;

//系统默认主时钟Mclk为1MHz左右,这里使用校正数据进行校正
//也可以不进行校正,为了得到精确一点的延时,建议进行校正
DCOCTL = CALDCO_1MHZ;
BCsctL1 = CALBC1_1MHZ;

P1DIR=0XFF;
P2DIR=0xFF;
Init_lcd();
Disp1Char(0,1,'A');
Disp1Char(1,1,'B');
Disp1Char(2,1,'C');
Disp1Char(3,1,'D');
Disp1Char(4,1,'E');
Disp1Char(5,1,'F');
Disp1Char(6,1,'G');
while(1)
  {
  }
}

此帖出自MSP430论坛


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-11-19 20:24 , Processed in 1.720633 second(s), 16 queries , Redis On.

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