哪位大哥做过 ST7565 (LCD)控制芯片,小弟调了一个星期了 一点反映也没
#include "config.h"
#define A0 0x1000
#define RESLCD 0x2000
#define LCDaddress 0x82100000
#define VPint *(volatile unsigned int *)
#define outl(data, addr) (VPint(addr) = (data))
void delay (void)
{
uint32 i;
for(i=0;i <=0x1000;) //ÑÓʱ
{
i++;
}
}
void LCD_ResetB(void)
{
IO0SET = RESLCD;
delay();
IO0CLR = RESLCD;
delay();
IO0SET = RESLCD;
}
void LCD_ADC_Select_Reverse(void)
{
IO0CLR = A0;
outl(0xa0 ,LCDaddress );
}
void LCD_SHL_Select_Normal(void)
{
IO0CLR = A0;
outl(0xCF ,LCDaddress );
}
void LCD_BIAS_Select(void)
{
IO0CLR = A0;
outl(0xa2,LCDaddress);
}
void LCD_FIVE_VOLTAGE_Select(void)
{
IO0CLR = A0;
outl(0xF8,LCDaddress);
IO0CLR = A0;
outl(0x03,LCDaddress);
}
void LCD_SET_INTERNEL_UP_VOLTAGE(void)
{
IO0CLR = A0;
outl(0x24,LCDaddress);
}
void LCD_SET_COMPARE(void)
{
IO0CLR = A0;
outl(0x81,LCDaddress);
IO0CLR = A0;
outl(0x41,LCDaddress);
}
void LCD_VOLTAGE_DRIVER(void)
{
IO0CLR = A0;
outl(0x2c,LCDaddress);
IO0CLR = A0;
outl(0x2e,LCDaddress);
IO0CLR = A0;
outl(0x2f,LCDaddress);
delay();
}
void LCD_DISPLAY_ON(void)
{
IO0CLR = A0;
outl(0xAF,LCDaddress);
}
void LCD_DISPLAY_LINE(void)
{
IO0CLR = A0;
outl(0x40,LCDaddress);
}
void LCD_SET_PAGE(uint32 first_line)
{
IO0CLR = A0;
outl(0xB0+first_line , LCDaddress);
}
void LCD_HILOW_COLUMN_ADDRESS(void)
{
IO0CLR = A0;
outl(0x00,LCDaddress);
IO0CLR = A0;
outl(0x10,LCDaddress);
}
void LCD_DISPLAY_start(void)
{
uint32 i,j;
for(i=1;i <=8;i++)
{
for(j=1;j <=128;j++)
{
LCD_DISPLAY_LINE();
LCD_SET_PAGE(i-1);
LCD_HILOW_COLUMN_ADDRESS();
LCD_Write(0xAA);
}
}
}
int main (void)
{
LCD_ResetB();
LCD_ADC_Select_Reverse();
LCD_SHL_Select_Normal();
LCD_FIVE_VOLTAGE_Select();
LCD_SET_INTERNEL_UP_VOLTAGE();
LCD_SET_COMPARE();
LCD_VOLTAGE_DRIVER();
LCD_DISPLAY_ON();
LCD_DISPLAY_start();
// add user source code
}
麻烦帮小弟看看 在LPC2210 ADS1。2下 调试的 麻烦各位看看
告诉我哪出的问题
发表时间:2006年8月15日11:36:17