初级会员 
  
	- 积分
 - 95
 
        - 金钱
 - 95 
 
       - 注册时间
 - 2016-3-16
 
      - 在线时间
 - 30 小时
 
 
 
 | 
 
1金钱 
--------------------------------LCD6029.c------------------------------------------------------------ 
#include "stm32f10x.h" 
#include "lcd.h" 
 
void Delay(u16 xus) 
{ 
    u16 i; 
 
        for(;xus>0;xus--) 
                for(i=24000; i>0; i--); 
} 
 
void Delay1() 
{ 
                u8 i; 
                for(i=40; i>0; i--); 
} 
 
void LM6029_Init(void) 
{ 
                GPIO_InitTypeDef GPIO_InitStructure;                                                                                                                                                                                                                                              
                RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE);                                                                                                         
         
                GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                                                                                                                                 
                GPIO_InitStructure.GPIO_Pin=( GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);                                                                                                         
                GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;                                                                                                                                 
                GPIO_Init(GPIOB,&GPIO_InitStructure);                                                                                                                                                                         
         
                GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                                                                                                                                 
                GPIO_InitStructure.GPIO_Pin=( GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|        GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);                 
                GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;                                                                                                                                 
                GPIO_Init(GPIOD,&GPIO_InitStructure); 
         
                GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; 
                GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; 
                GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
                GPIO_Init(GPIOE,&GPIO_InitStructure); 
         
                GPIO_ResetBits(GPIOE,GPIO_Pin_0);                                                                                                                                                                                         
} 
 
void write_com(u8 com)                                  //写入命令子函数                                                                                                                                                                                                                                                 
{         
                if(com&0x01) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_7);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_7);         
                if(com&0x02) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_6);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_6);         
                if(com&0x04) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_5);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_5); 
                if(com&0x08) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_4);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_4);         
                if(com&0x10) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_3);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_3);         
                if(com&0x20) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_2);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_2);         
                if(com&0x40) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_1);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_1); 
                if(com&0x80) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_0);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_0);         
                 
                GPIO_ResetBits(GPIOB,GPIO_Pin_7);                                                                        //RS=0         
                GPIO_ResetBits(GPIOB,GPIO_Pin_9);                                                                        //CS=0                 
                GPIO_ResetBits(GPIOB,GPIO_Pin_6);                                                                        //WR=0 
                Delay1(); 
                GPIO_SetBits(GPIOB,GPIO_Pin_6);                                                                                //WR=1 
                GPIO_SetBits(GPIOB,GPIO_Pin_9);                                                                                //CS=1 
} 
 
void write_data(u8 date)                                                                             //写入数据子函数 
{ 
                GPIO_SetBits(GPIOB,GPIO_Pin_7);                                                                                                                                                                                        //RS=1 
                if(date&0x01) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_7);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_7);         
                if(date&0x02) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_6);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_6);         
                if(date&0x04) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_5);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_5); 
                if(date&0x08) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_4);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_4);         
                if(date&0x10) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_3);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_3);         
                if(date&0x20) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_2);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_2);         
                if(date&0x40) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_1);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_1); 
                if(date&0x80) 
                                GPIO_SetBits(GPIOD,GPIO_Pin_0);         
                else 
                                GPIO_ResetBits(GPIOD,GPIO_Pin_0);         
                 
                GPIO_SetBits(GPIOB,GPIO_Pin_7);                                                                          //RS=1         
                GPIO_ResetBits(GPIOB,GPIO_Pin_9);                                                                        //CS=0                 
                GPIO_ResetBits(GPIOB,GPIO_Pin_6);                                                                        //WR=0 
                Delay1(); 
                GPIO_SetBits(GPIOB,GPIO_Pin_6);                                                                                //WR=1 
                GPIO_SetBits(GPIOB,GPIO_Pin_9);                                                                                //CS=1                                                                                                                                                                                                 
} 
 
void Initialize(void) 
{ 
         
                GPIO_SetBits(GPIOB,GPIO_Pin_5);                                                                // 
                GPIO_ResetBits(GPIOB,GPIO_Pin_8);                                                        // 
                Delay(10); 
                GPIO_SetBits(GPIOB,GPIO_Pin_8);                                                                // 
                Delay(10); 
                GPIO_SetBits(GPIOB,GPIO_Pin_9);                                                                // 
                GPIO_SetBits(GPIOB,GPIO_Pin_6);                                                                // 
         
                write_com(0xa2);                                                                                                                         
                write_com(0xa0);                                                                                                                        // 
                write_com(0xc8);                                                                                                                         
                write_com(0x40);                                                                                                                 
                write_com(0x2c);                                                                                                                         
                Delay(20); 
                write_com(0x2e);                                                                                                                         
                Delay(20); 
                write_com(0x2f);                                                                                                                         
                Delay(20); 
                write_com(0x25);                                                                                                                         
//                write_com(0x81);                                                                                                                 
//                write_com(0x20);                                                                                                                         
                write_com(0xaf);                                                                                                                                                                                                                                         
                write_com(0xb0);                                                                                                                         
                write_com(0x10);                                                                                                                         
                write_com(0x00);                                                                                                                 
 
} 
 
void display(void) 
{ 
                write_data('Z'); 
} 
 
---------------------------主函数-------------------------------------------------------- 
#include "stm32f10x.h" 
#include "lcd.h" 
 
int main() 
{ 
                LM6029_Init();                                                                                                         
                 
                Initialize(); 
         
                GPIO_SetBits(GPIOE,GPIO_Pin_0);        //ê1PE0êä3ö¸ßμçÆ½ 
                display(); 
                while(1); 
} 
 
 |   
 
 
 
 
 
 |