搜索
bottom↓
回复: 2

请马老师指点一下思路:51上能显示的12864的程序,改成AVR mega16就不能运行,请大家帮忙

[复制链接]

出0入0汤圆

发表于 2009-9-23 15:39:56 | 显示全部楼层 |阅读模式
这是从杜洋老那里的PG12864的51测试程序,我把改成在AVR上运行,再总是调试不通,请大家帮看一下,指出屏不显示的问题,以给我一点思路
在ICC-AVR 6.30调试,8M外部晶振
//PG12864参考程序(st7920) 主程序
/********************************************/
/* PG12864系列测试程序 1.0for mega16 */
/* Designed by ourembed.com */
/* 2009.09.23 */
/********************************************/
//ICC-AVR application builder : 2009-9-17 18:33:11
// Target : M16
// Crystal: 8.0000Mhz

#include <iom16v.h>
#include <macros.h>

#include "12864.H"

void port_init(void)
{
PORTA = 0xFF;
DDRA  = 0xFF;
PORTB = 0xFF;
DDRB  = 0xFF;
PORTC = 0xFF; //m103 output only
DDRC  = 0xFF;
PORTD = 0xFF;
DDRD  = 0xFF;
}

//call this routine to initialise all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();

MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialised
}

void main(void)
{
unsigned  char lx  = 32,i;
init_devices();
init_lcd();                  // LCM12864 初始化
while(1){
LCM12864_Disp_Bitmap_12864(60,doyleee);      //显示 LOGO 图像
Delay(1000);                                   //延时 1 秒
Clear_Screen();                       //清除屏幕
for(i=0;i<7;i++)
{                             //显示字符串“Dy12864”
LCM12864_Disp_Char_x_16(8,8,1,lx+8*i,nAsciiDot+16*i);  //显示“Dy12864”,从第 1 页第 32 列
}
Delay(1000);
LCM12864_Disp_Char_x_16(12,16,4,46,huan1);   //显示“欢”,在第 4 页第 46 列
Delay(1000);
LCM12864_Disp_Char_x_16(12,16,4,66,ying2);    //显示“迎”,在第 4 页第 66 列
Delay(1000);
}
}

12864.H头文件
#include "font.h"

#define        LCD_E (1 <<7)                                    // PD7----E
#define        LCD_DI (1 <<6)                                    //PD6----DI
#define        LCD_RW (1 <<5)                                        // PD5----RW
#define        LCD_RST (1 <<4)                                    // PD4----RST
#define        LCD_CS2 (1 <<3)                 // PD3----CS2
#define        LCD_CS1 (1 << 2)                           // PD2----CS1

#define LCD_PORT  PORTD                //PD口连接到了5个控制脚,具体定义如上
#define LCD_DDDR        DDRD
#define        LCD_SET_CS1()    (LCD_PORT |= LCD_CS1)        // 位置位,输出1
#define        LCD_SET_CS2()    (LCD_PORT |= LCD_CS2)
#define        LCD_SET_RST()    (LCD_PORT |= LCD_RST)
#define        LCD_SET_DI()     (LCD_PORT |= LCD_DI)
#define        LCD_SET_RW()     (LCD_PORT |= LCD_RW)
#define        LCD_SET_E()      (LCD_PORT |= LCD_E)

#define        LCD_CLEAR_CS1()  (LCD_PORT &= ~LCD_CS1)                        // 位清零,输出0
#define        LCD_CLEAR_CS2()  (LCD_PORT &= ~LCD_CS2)
#define        LCD_CLEAR_RST()  (LCD_PORT &= ~LCD_RST)
#define        LCD_CLEAR_DI()   (LCD_PORT &= ~LCD_DI)
#define        LCD_CLEAR_RW()   (LCD_PORT &= ~LCD_RW)
#define        LCD_CLEAR_E()    (LCD_PORT &= ~LCD_E)
#define        LCD_DATA_OUT         PORTA                   //LCD数据输出口
#define        LCD_DATA_IN          PINA                                //LCD数据输出口
#define        LCD_DDR              DDRA                        //LCD数据口方向
/* Define the register command code */
#define Disp_On  0x3f
#define Disp_Off 0x3e
#define  LCM12864_START_ROW    0xc0   //  显示起始行 0,可以用 LCM12864_START_ROW+x 设置起始行。(x<64)
#define  LCM12864_PAGE_START_ADDR    0xb8  //  页起始地址,可以用 LCM12864_PAGE_START_ADDR+x 设置当前页。(x<8)
#define  LCM12864_COL_START_ADDR     0x40  //  列起始地址,可以用 LCM12864_COL_START_ADDR+x 设置当前列。(x<64)

/*定义 LCM12864 的状态屏蔽码
在 BUSY 和 REST 状态时,除读状态指令外,其他指令均不对 LCM12864 产生作用。
在对 LCM12864 操作之前要查询 BUSY 状态,以确定是否可以对 LCM12864 进行操作。*/

#define  LCM12864_STATUS_BUSY        0x80                 // LCM12864 忙状态屏蔽码
#define  LCM12864_STATUS_DISP_OFF    0x20                 // LCM12864 显示关闭状态屏蔽码
#define  LCM12864_STATUS_REST        0x10                 // LCM12864 复位状态屏蔽码


void Delay(unsigned int t);  //延时程序
void write_com(unsigned char cmdcode);   //写命令到LCD
void write_data(unsigned char Dispdata); //写数据到LCD
unsigned char LCM12864_TestBusy(void); //测试忙
void Clear_Screen(void);      //清除屏幕
void init_lcd(void);    //初始化LCD屏
unsigned char read_data(void);//读LCD数据
void  LCM12864_Fill_Screen(unsigned  char t,unsigned  char LCM12864_FillData);
void  LCM12864_Disp_Bitmap_12864( unsigned  char t,unsigned  char const *bitmap_12864);//设置涮屏速度(为 1 不涮屏,默认为 60)
void  LCM12864_Disp_Char_x_16(unsigned  char t, //设置书写速度(为 1 直接显示,默认为 12)
                              unsigned  char b,   //输入 8:8*16 字符,16:16*16 字符
                              unsigned  char LCM12864_page,     //LCM12864 的页地址(0~7)
                              unsigned  char LCM12864_col,   //LCM12864 的列地址(0~128)注意:右半屏起始是 64
                              unsigned  char const *Char_x_16);
/*------------------延时子程序-----------------------------*/
void Delay(unsigned int t)
{

while(t--);
}
/*----------------LCM12864 测忙函数  LCM12864_TestBusy()---*/
unsigned char LCM12864_TestBusy(void){
char check;
LCD_DDR=0x00;
LCD_DATA_IN=0xff;
LCD_CLEAR_DI();
LCD_SET_RW();

LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_SET_E();
while(LCD_DATA_IN& LCM12864_STATUS_BUSY);
check=LCD_DATA_IN;
LCD_DDR=0xff;
return(check);
}

/*------------------写命令到LCD------------------------------*/
void write_com(unsigned char cmdcode)
{
LCM12864_TestBusy();
LCD_DDR=0xff;
LCD_DATA_OUT=cmdcode;
LCD_CLEAR_DI();
LCD_CLEAR_RW();
LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_SET_E();
return;
}

/*-------------------写数据到LCD----------------------------*/

void write_data(unsigned char Dispdata)
{
LCM12864_TestBusy();
LCD_DDR=0xff;
LCD_DATA_OUT=Dispdata;
LCD_SET_DI();
LCD_CLEAR_RW();
LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_SET_E();
return;
}

/*-------------------读LCD数据----------------------------*/

unsigned char read_data(void)
{
unsigned char tmpin;
LCM12864_TestBusy();
LCD_DDR=0x00;
LCD_SET_DI();
LCD_SET_RW();
LCD_SET_DI();
LCD_SET_RW();
LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_CLEAR_E();
LCD_SET_E();
LCD_SET_E();
tmpin=LCD_DATA_IN;
return tmpin;
}



/*----------------LCM12864 清屏-------------------------*/
void  Clear_Screen(void){
LCM12864_Fill_Screen(60,0x00);             //写入 0 到每个显示区
}


/*----------------向 LCM12864 填充数据-------------*/

void  LCM12864_Fill_Screen(    unsigned  char t, //设置涮屏速度(为 1 不涮屏,默认为 60)
                               unsigned  char LCM12864_FillData)  //欲写入的数
{
unsigned  char x,y;
LCD_CLEAR_CS1();LCD_CLEAR_CS2();                                  //  选中左半屏及右半屏
write_data(LCM12864_START_ROW+0);                       //  设置显示起始行为 0
for(x=0;x<8;x++)
{
  Delay(t);                                                                             //  涮屏速度延时
write_data(LCM12864_PAGE_START_ADDR+x);     //  设置页地址
  write_data(LCM12864_COL_START_ADDR);     //  设置列地址
  for(y=0;y<64;y++)
        {write_data(LCM12864_COL_START_ADDR+y);
     write_data(LCM12864_FillData);}
}
LCD_SET_CS1();                         //  不选中右半屏
LCD_SET_CS2();                         //  不选中右半屏
}

/*---------------显示 128*64 图片-----------------------*/

void  LCM12864_Disp_Bitmap_12864( unsigned  char t,          //设置涮屏速度(为 1 不涮屏,默认为 60)
                                  unsigned  char const *bitmap_12864)   //128*64 点阵图像所在数组表
{
unsigned  char j,k;
for(k=0;k<8;k++){                          //设置 8 页的显示
Delay(t);
LCD_CLEAR_CS1();LCD_SET_CS2();       //半屏选中
write_data(LCM12864_PAGE_START_ADDR+k);      //选中页
write_data(LCM12864_COL_START_ADDR+0);       //选中列
for(j=0;j<64;j++){
write_data(bitmap_12864[k*128+j]);    //开始写入数据
}
LCD_SET_CS1();LCD_CLEAR_CS2();
write_data(LCM12864_PAGE_START_ADDR+k);
write_data(LCM12864_COL_START_ADDR+0);
for(j=64;j<128;j++)
{
write_data(bitmap_12864[k*128+j]);
}
}
}
/*------------------在 LCM12864 的指定点显示 16*16 点阵汉字---------------*/
void  LCM12864_Disp_Char_x_16(unsigned  char t,    //设置书写速度(为 1 直接显示,默认为 12)
                              unsigned  char b,   //输入 8:8*16 字符,16:16*16 字符
                              unsigned  char LCM12864_page,     //LCM12864 的页地址(0~7)
                              unsigned  char LCM12864_col,   //LCM12864 的列地址(0~128)注意:右半屏起始是 64
                              unsigned  char const *Char_x_16)  //16*16 点阵汉字字模(纵向取模,字节倒序
{
unsigned  char j=0,i=0;
if(LCM12864_col  < 64  )
{
LCD_CLEAR_CS1();LCD_SET_CS2();            //判断屏幕使能
}
else
  {
LCD_SET_CS1();LCD_CLEAR_CS2();
LCM12864_col  = LCM12864_col  - 64;
  }
for(j=0;j<2;j++)
{
write_data(LCM12864_PAGE_START_ADDR+LCM12864_page+j);
write_data(LCM12864_COL_START_ADDR+LCM12864_col);
for(i=0;i<b;i++)
{
write_data(Char_x_16[b*j+i]);
Delay(t);
}
}
}
/*------------------初始化LCD屏--------------------------*/
void init_lcd(void)
{
LCD_DDR|=(1<<LCD_DI)|(1<<LCD_RW)|(1<<LCD_E);
LCD_DDDR=0xff;
LCD_DATA_OUT=0x00;
LCD_CLEAR_RST();
LCD_CLEAR_RST();
LCD_SET_RST();
LCD_SET_RST();

Clear_Screen();                                              //清除屏幕
LCD_CLEAR_CS1();  LCD_CLEAR_CS2();                          //选中双屏
write_com( Disp_Off);                      //关显示
  write_com(LCM12864_PAGE_START_ADDR+0);      //第 0 页位置
  write_com(LCM12864_START_ROW+0);                 //第 0 行
  write_com(LCM12864_COL_START_ADDR+0);        //第 0 列
  write_com(Disp_On);
//write_com(0X06);
//delay(100);
}

Font.h头文件

/****************液晶显示字库**********************/
/*********************************************************************************************/
/*--    文字:    欢    --*/
/*--    宋体 12;    此字体下对应的点阵为:宽 x 高=16x16    --*/
/*  纵向取模,字节倒序 */
unsigned  char const huan1[]={ 0x00,0x34,0xC4,0x04,0xC4,0xFC,0x3E,0x24,
      0x18,0x0E,0xEF,0xCA,0x48,0x38,0x1C,0x08,
      0x00,0x40,0x38,0x0F,0x07,0x3C,0x98,0x60,
      0x30,0x1C,0x0F,0x07,0x1C,0x70,0xE0,0x40
/*0x0C,0x6C,0xEC,0x8C,0xFC,0x3C,0x40,0x70,0x3F,0xCF,0xCC,0x0C,0x3C,0x3C,0x00,0x00,
0x10,0x38,0x1C,0x07,0x07,0x4C,0x60,0x30,0x18,0x0F,0x07,0x0C,0x18,0x30,0x20,0x00,*/
};
/*--    文字:    迎    --*/
/*--    宋体 12;    此字体下对应的点阵为:宽 x 高=16x16    --*/
/*  纵向取模,字节倒序 */
unsigned  char const ying2[]={
0x60,0x66,0xEE,0xE8,0x00,0xFE,0xFE,0x07,0x03,0xFE,0xFE,0x06,0xFE,0xFE,0x00,0x00,
0x40,0x60,0x3F,0x1F,0x30,0x67,0x67,0x62,0x60,0x6F,0x6F,0x62,0x67,0x67,0x60,0x00
};
///////////////////////////////////////////////////////////////////
//                                    ASCII 字模的数据表                                                //
//  码表从 0x20~0x7e                                                                                   //
//  字库:Asc8X16E.dat  纵向取模下高位                                                          //
///////////////////////////////////////////////////////////////////
unsigned  char const nAsciiDot[] =                        //  ASCII
{

0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,   //  -D-
0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,

0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,   //  -y-
0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,

0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,   //  -1-
0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,

0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,   //  -2-
0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,

0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,   //  -8-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,

0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,   //  -6-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,

0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,   //  -4-
0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,

};
/////////////////////////////////////////////////////////////////////////
// Bitmap 点阵数据表                                                                                                        //
//  图片:  C:\..鎈 doyleee.bmp,纵向取模下高位,数据排列:从左到右从上到下      //
//  图片尺寸:  128  * 64                                                                                          //
/////////////////////////////////////////////////////////////////////////
unsigned  char const doyleee[]  =                                 //  数据表
{
0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x81,0xF1,0xF1,0xF1,0x71,0x31,
0x31,0x71,0xF1,0xF1,0xE1,0xC1,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x81,0xF1,0xF1,0xF1,0x71,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,
0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x7F,0x00,
0x00,0xF0,0xFC,0xFE,0xFE,0x0F,0x03,0x03,
0x07,0xFF,0xFE,0xFE,0xF8,0x00,0xE0,0xE0,
0xE0,0xE0,0x00,0x03,0x3F,0xFF,0xFF,0xFC,
0xC0,0xF0,0xFE,0x3F,0x0F,0x03,0x00,0xF0,
0xFF,0xFF,0xFF,0x0F,0x00,0x00,0xF0,0xFC,
0xFE,0xFE,0x3F,0x33,0x33,0x33,0x3F,0x3F,
0x3E,0x38,0x00,0x00,0xF0,0xFC,0xFE,0xFE,
0x3F,0x33,0x33,0x33,0x3F,0x3F,0x3E,0x38,
0x00,0x00,0xF0,0xFC,0xFE,0xFE,0x3F,0x33,
0x33,0x33,0x3F,0x3F,0x3E,0x38,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,
0x8E,0x8F,0x8F,0x8F,0x8C,0x8C,0x8C,0x8C,
0x8E,0x8F,0x87,0x87,0x83,0x81,0x80,0x80,
0x80,0x81,0x87,0x87,0x8F,0x8E,0x8C,0x8C,
0x8F,0x87,0x87,0x83,0x80,0x80,0x80,0xC0,
0xC0,0xC0,0xC0,0xC0,0xC0,0xF3,0x7F,0x3F,
0x0F,0x03,0x00,0x00,0x00,0x00,0x0E,0x0F,
0x0F,0x0F,0x00,0x00,0x00,0x00,0x01,0x07,
0x07,0x0F,0x0E,0x0C,0x0C,0x0F,0x07,0x03,
0x01,0x00,0x00,0x00,0x01,0x07,0x07,0x0F,
0x0E,0x0C,0x0C,0x0F,0x07,0x03,0x01,0x00,
0x00,0x00,0x01,0x07,0x07,0x0F,0x0E,0x0C,
0x0C,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x00,0x00,0xFC,
0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x00,0xF0,
0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x40,
0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x10,
0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x18,
0x1C,0x84,0xC4,0x7C,0x38,0x00,0x00,0xB8,
0xFC,0x64,0xC4,0xFC,0xB8,0x00,0x00,0xE0,
0xF0,0x3C,0x2C,0xE4,0xC0,0x00,0x00,0x80,
0xFC,0x7C,0x00,0xF0,0xF0,0x00,0x00,0xFC,
0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,
0xFC,0x04,0x04,0x1C,0x18,0x00,0x00,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x07,0x04,0x06,0x03,0x01,0x00,0x20,0x23,
0x27,0x34,0x1C,0x0F,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x07,0x04,0x00,0x00,0x06,
0x07,0x05,0x04,0x04,0x04,0x00,0x00,0x03,
0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x03,
0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x01,
0x01,0x01,0x01,0x07,0x07,0x01,0x00,0x07,
0x07,0x04,0x04,0x04,0x04,0x00,0x00,0x03,
0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,
0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,
0x00,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,
0x10,0x10,0x90,0x50,0xF0,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x83,
0x86,0x8C,0x8C,0x86,0x83,0x81,0x80,0x80,
0x88,0x88,0x88,0x8F,0x8F,0x88,0x88,0x88,
0x80,0x80,0x8C,0x8C,0x80,0x80,0x87,0x8F,
0x8A,0x89,0x88,0x88,0x8F,0x87,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
};

点击此处下载 ourdev_484503.pdf(文件大小:1.33M) <font color=green>(原文件名:PG12864LRS-JNN-H_技术手册_完整版.pdf)</font

出0入0汤圆

发表于 2009-9-23 16:07:30 | 显示全部楼层
没看程序,初步猜一下,51的IO口不是标准IO,没有方向设置,AVR需要设置IO的方向,注意到这一点了吗?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-2 07:31

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

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