搜索
bottom↓
回复: 1

菜鸟请教一个430的IO口的问题

[复制链接]

出0入0汤圆

发表于 2011-4-8 15:15:20 | 显示全部楼层 |阅读模式
小弟刚接触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_DIR  P2DIR
#define LCD_5110_OUT  P2OUT


#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);
  }

请问能不能我又应该怎么修改呢?谢谢!

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

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

出0入0汤圆

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

本版积分规则

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

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

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

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