程序我自己看没有问题就是不能显示
/* MAIN.C file
*
* Copyright (c) 2002-2005 STMicroelectronics
*/
#include"stm8s207mb.h"
#define uchar unsigned char
#define uint unsigned int
//#define DATA_IO
void delay_ms(unsigned int ms) //24MHZ 延时1ms
{
unsigned int ti;
while(ms--)
{
for(ti=0;ti<1420;ti++){} //1421
}
}
uchar table4[]={"ABCDEFJHIJKLMNOP"}; ///显示数据
_Bool LCD_RS @PC_ODR:0;///定义RE RW EN申明位
_Bool LCD_RW @PC_ODR:1;
_Bool LCD_EN @PC_ODR:2;
void write_lcd_com(uchar com)///写命令
{
LCD_RS=0;
LCD_RW=0;
//delay_ms(1);
LCD_EN=0;
PI_ODR=com;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}
void write_data(uchar dat)//写数据
{
LCD_RW=0;
LCD_EN=0;
PI_ODR=dat;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}
void lcd_init(void)///初始化
{
write_lcd_com(0x30);
delay_ms(5);
write_lcd_com(0x0f);
delay_ms(5);
write_lcd_com(0x01);
delay_ms(5);
}
main()
{
uchar num=0;
PI_DDR = 0XFF;//设置输出模式为推挽输出
PI_CR1 = 0XFF;//设置输入模式为上拉输入
PI_CR2 = 0X00;//设置不开中断
PG_DDR = 0XFF;//设置输出模式为推挽输出
PG_CR1 = 0XFF;//设置输入模式为上拉输入
PG_CR2 = 0X00;//设置不开中断
PC_DDR = 0XFF;//设置输出模式为推挽输出
PC_CR1 = 0XFF;//设置输入模式为上拉输入
PC_CR2 = 0X00;//设置不开中断
PG_ODR=0XFF;//测试用LED灯
lcd_init();///初始化LCD
write_lcd_com(0x81); ///地址
for(num=0;num<12;num++)write_data(table4[num]);//循环写入12个字符
while (1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>