初级会员
- 积分
- 94
- 金钱
- 94
- 注册时间
- 2014-12-26
- 在线时间
- 29 小时
|
3金钱
程序我自己看没有问题就是不能显示
/* 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);
}
|
|