搜索
bottom↓
回复: 7

LPC2136 SSP 接口驱动 NOKIA 6610 LCD 成功 发帖祝贺

[复制链接]

出0入0汤圆

发表于 2010-3-27 15:48:22 | 显示全部楼层 |阅读模式

(原文件名:电路图.gif)


(原文件名:NOKIA 6610 LCD 显示效果图.gif)

#include "LPC213X.H"
#include "delay.h"
#define SCK1 (2<<2)
#define MOSI1 (2<<6)
#define PWM (1<<21)
#define CS (1<<20)
#define RST (1<<18)
//GPIO功能初始化
void GPIO_Init(void)
{
  //PCONP外设功率控制寄存器,复位值为1,默认打开所有模块
  PINSEL0=0x00000000;
  PINSEL1=SCK1|MOSI1;
  IOSET0|=(PWM|CS|RST);
  IODIR0|=(PWM|CS|RST);
  IOCLR0|=RST;
  delay(10000);
  IOSET0|=RST;
  delay(10000);
}
void SPI_Init(void)
{
  //SCK1=PCLK/(CPSDVSR*(SCR+1))=60MHz/(2*(59+1))=0.5MHz,常态为0,第1个时钟跳变沿捕获串行数据,上升沿有效,SPI,9Bit
  SSPCR0=0x3b08;
  //CPSDVSR=2分频(2~254)
  SSPCPSR=2;
  //SSP主机使能
  SSPCR1=0x02;
}
unsigned int SSP_RD(void)
{
  SSPDR=0xff;
  while((SSPSR&0x01)!=0x01);
  return SSPDR;
}
void SSP_WR(unsigned int data)
{
  SSPDR=data;
  while((SSPSR&0x01)!=0x01);
  data=SSPDR;
}
void LCD_WR_DATA(unsigned int data)
{
  SSP_WR(0x100|data);
}
void LCD_WR_CMD(unsigned int cmd)
{
  SSP_WR(0x0ff&cmd);
}
void LCD_Init(void)
{
  unsigned int i;
  GPIO_Init();
  SPI_Init();

  //颜色模式
  IOCLR0|=CS;
  LCD_WR_CMD(0x3a);
  LCD_WR_DATA(0x05);//RGB565
  IOSET0|=CS;
  //
  IOCLR0|=CS;
  //Sleep_OUT
  LCD_WR_CMD(0x11);
  //display on
  LCD_WR_CMD(0x29);
  //booster voltage on
  LCD_WR_CMD(0x03);
  //all pixel on
  LCD_WR_CMD(0x23);
  IOSET0|=CS;

  //设置显示区大小
  IOCLR0|=CS;
  LCD_WR_CMD(0x2A);
  LCD_WR_DATA(0x00);
  LCD_WR_DATA(0x83);
  LCD_WR_CMD(0x2B);
  LCD_WR_DATA(0x00);
  LCD_WR_DATA(0x83);
  IOSET0|=CS;

  //显示模式,正常
  IOCLR0|=CS;
  LCD_WR_CMD(0x13);
  IOSET0|=CS;

  //设置显示区大小
  IOCLR0|=CS;
  LCD_WR_CMD(0x2A);
  LCD_WR_DATA(0x00);
  LCD_WR_DATA(0x83);
  LCD_WR_CMD(0x2B);
  LCD_WR_DATA(0x00);
  LCD_WR_DATA(0x83);
  IOSET0|=CS;

  //显示数据
  IOCLR0|=CS;
  LCD_WR_CMD(0x2C);
  for(i=0;i<132*44;i++)
    {
    LCD_WR_DATA(0xf8);
    LCD_WR_DATA(0x00);
    }
  for(i=0;i<132*44;i++)
    {
    LCD_WR_DATA(0x07);
    LCD_WR_DATA(0xe0);
    }
  for(i=0;i<132*44;i++)
    {
    LCD_WR_DATA(0x00);
    LCD_WR_DATA(0x1f);
    }
  IOSET0|=CS;
}

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-3-27 22:05:22 | 显示全部楼层
LZ好人啊

出0入0汤圆

发表于 2012-5-27 16:14:10 | 显示全部楼层
unsigned int SSP_RD(void)
{
  SSPDR=0xff;
  while((SSPSR&0x01)!=0x01);
  return SSPDR;
}
void SSP_WR(unsigned int data)
{
  SSPDR=data;
while((SSPSR&0x01)!=0x01);
  data=SSPDR;
}
这两个怎么一样了呀?

出0入0汤圆

发表于 2012-5-27 16:47:36 | 显示全部楼层
愚昧了

出0入0汤圆

发表于 2013-4-24 22:09:01 | 显示全部楼层
高手太多,没人顶

出0入0汤圆

发表于 2013-4-24 23:19:35 | 显示全部楼层
祝贺楼主

出0入0汤圆

发表于 2013-4-26 12:15:04 | 显示全部楼层

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-8-26 03:21

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

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