菜鸟请教一个430的IO口的问题
小弟刚接触msp430,想用它来做一个lcd的显示,lcd用的是nokia 5110的那种,找到一个别人写的程序来参考,io定义如下:pin description i/o
1 VCC(3.3V) --
2 GND --
3 CE P2.3
4 RST P2.4
5 DC P2.2
6 DIN P2.1
7 CLK P2.0
8 Vlcd(+5V) 3~6V
但我的板子上的io是这样的:
pin description i/o
1 VCC(3.3V) --
2 GND --
3 CE P5.2
4 RST P5.1
5 DC P5.0
6 DIN P4.7
7 CLK P4.6
8 Vlcd(+5V) 3~6V
ok,别人的程序是这样写的:
main.c
只是显示函数的调用,不贴了…
关键是nokia5110.h这个文件里的初始化有疑问:
#ifndef __nokia_5110_h_
#define __nokia_5110_h_
#include "msp430x14x.h"
//P4DIR = 0xC4;
#define LCD_5110_DIRP2DIR
#define LCD_5110_OUTP2OUT
#define LCD_RST 4
#define LCD_CE 3
#define LCD_DC 2
#define LCD_DIN 1
#define LCD_CLK 0
我想他这是定义了LCD_5110_DIR作为p2dir的别名,然后把下面分别定义了引脚吧,那请问我应该怎么改成符合我的板子的代码呢?因为我这涉及了p4、p5两组io。
谢谢各位大哥!!!!
我还看到他在初始化lcd的程序是这样写的:
void LCD_init(void)
{
// 产生一个让LCD复位的低电平脉冲
// LCD_RST = 0;
LCD_5110_DIR |= (0x01 << LCD_RST) + (0x01 << LCD_CE) + (0x01 << LCD_DC)
+ (0x01 << LCD_DIN) + (0x01<< LCD_CLK);
LCD_5110_OUT &= ~(0x01 << LCD_RST);
delay_1us();
// LCD_RST = 1;
LCD_5110_OUT |= (0x01 << LCD_RST);
// 关闭LCD
//LCD_CE = 0;
LCD_5110_OUT &= ~(0x01 << LCD_CE);
delay_1us();
// 使能LCD
//LCD_CE = 1;
LCD_5110_OUT |= (0x01 << LCD_CE);
delay_1us();
LCD_write_byte(0x21, 0); // 使用扩展命令设置LCD模式
LCD_write_byte(0xc8, 0); // 设置偏置电压
LCD_write_byte(0x06, 0); // 温度校正
LCD_write_byte(0x13, 0); // 1:48
LCD_write_byte(0x20, 0); // 使用基本命令
LCD_clear(); // 清屏
LCD_write_byte(0x0c, 0); // 设定显示模式,正常显示
// 关闭LCD
LCD_5110_OUT &= ~(0x01 << LCD_CE);
}
请问能不能我又应该怎么修改呢?谢谢! 改用一个P口吧 不要搞得那么复杂
页:
[1]