| 本帖最后由 duzhongliang 于 2014-4-18 01:46 编辑 
 楼主 帮忙看看为什么不显示呢
 /* Includes ------------------------------------------------------------------*/
 #include "stm32f10x.h"
 
 void delay(unsigned int ms)
 {
 unsigned int x,y;
 for(x=0;x<ms;x++)
 for(y=0;y<8000;y++);
 }
 #define BF 0x80
 unsigned char mingzi[]={"我非常喜欢大闸蟹"};
 uint8_t number =8;
 void RDBF(void){
 uint8_t temp;
 //GPIO_Write(GPIOE,0x0008);
 GPIO_ResetBits(GPIOE,GPIO_Pin_7);
 GPIO_SetBits(GPIOE, GPIO_Pin_8);
 while(1){
 GPIO_SetBits(GPIOC, GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
 //GPIO_Write(GPIOC,0xFF00);
 GPIO_SetBits(GPIOE, GPIO_Pin_9);
 temp=GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_15);
 GPIO_ResetBits(GPIOE,GPIO_Pin_9);
 if( (temp&BF)== 0 ) break;
 }
 }
 void WRCommand(uint16_t temp){
 RDBF();
 GPIO_ResetBits(GPIOE, GPIO_Pin_7|GPIO_Pin_8);
 GPIO_Write(GPIOC,temp);
 GPIO_SetBits(GPIOE, GPIO_Pin_9);
 delay(10);
 GPIO_ResetBits(GPIOE, GPIO_Pin_9);
 }
 void WRData(uint8_t temp){
 RDBF();
 GPIO_SetBits(GPIOE, GPIO_Pin_7);
 GPIO_ResetBits(GPIOE,GPIO_Pin_8);
 GPIO_Write(GPIOC,temp<<8);
 GPIO_SetBits(GPIOE, GPIO_Pin_9);
 delay(10);
 GPIO_ResetBits(GPIOE, GPIO_Pin_9);
 }
 void  LCDInit(void){
 delay(10);
 // GPIO_SetBits(GPIOE, GPIO_Pin_10);
 GPIO_ResetBits(GPIOE, GPIO_Pin_10);
 delay(10);
 GPIO_SetBits(GPIOE, GPIO_Pin_10);
 
 WRCommand(0x3000);
 // WRCommand(0x0600);
 WRCommand(0x0100);
 WRCommand(0x0C00);
 // WRCommand(0x0200);
 }
 void ShowQQChar(uint16_t addr,uint8_t *english,uint8_t count){
 uint8_t i;
 WRCommand(addr);
 for(i=0;i<count;){
 WRData(english[i*2]);
 WRData(english[i*2+1]);
 i++;
 }
 }
 void ShowNUMChar(uint16_t addr,uint8_t i,uint8_t count){
 uint8_t j;
 for(j=0;j<count;){
 WRCommand(addr);
 WRData(i+j);
 j++;
 WRData(i+j);
 addr++;
 j++;
 }
 }
 int main(void)
 {
 GPIO_InitTypeDef GPIOD_InitStructure;//定义GPIO的结构体
 GPIO_InitTypeDef GPIOC_InitStructure;
 GPIO_InitTypeDef GPIOE_InitStructure;
 
 SystemInit();
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);//打开GPIOA时钟
 
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
 
 //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
 GPIOD_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
 GPIOD_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIOD_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 
 GPIOC_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
 GPIOC_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIOC_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 
 GPIOE_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
 GPIOE_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIOE_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 
 GPIO_Init(GPIOD, &GPIOD_InitStructure);  //初始化IO口
 GPIO_Init(GPIOC, &GPIOC_InitStructure);  //初始化IO口
 GPIO_Init(GPIOE, &GPIOE_InitStructure);  //初始化IO口
 LCDInit();
 ShowQQChar(0x8000,mingzi,number);
 // ShowNUMChar(0x9000,0x01,0x0F);
 GPIO_SetBits(GPIOD, 0x80<<7);
 while (1);
 
 }
 
 
 |