lcd1602对应芯片管脚
1602 | P1.0 | PB9 | RS | P1.1 | PB8 | R/W | P2.5 | PB1 | E | P0.0 | PA0 | DB0 | P0.1 | PA1 | DB1 | P0.2 | PA2 | DB2 | P0.3 | PA3 | DB3 | P0.4 | PA4 | DB4 | P0.5 | PA5 | DB5 | P0.6 | PA6 | DB6 | P0.7 | PA7 | DB7 |
利用自摸提取软件,得到想要显示汉字的字模。
主函数代码
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd1602.h"
- int main(void)
- {
- //u8 str[] = "ATOM@ALIENTEK";
- int i;
- u8 sheng[]={0x04,0x14,0x1f,0x14,0x0e,0x04,0x1f,0x00}; //“生”
- u8 ri[]={0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00}; //“日“
- u8 kuai[]={0x0a,0x0a,0x1f,0x1b,0x1f,0x0a,0x0d,0x00}; //“快”
- u8 le[]={0x1e,0x10,0x14,0x1f,0x04,0x15,0x15,0x00}; //"乐"
- delay_init();
- NVIC_Configuration();
- uart_init(9600);
- GPIO_Configuration();
- LED_Init();
- LCD1602_Init();
- // LCD1602_Show_Str(1, 0, str);
- //LCD1602_Show_Str(2, 1, "I love STM32");
- //1
- for(i=0;i<8;i++) //1第一行“生”
- {
- lcd_w_cmd(0x40+i);
- lcd_w_dat(sheng[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80);
- lcd_w_dat(0x00);
- for(i=0;i<8;i++) /2第一行“日”
- {
- lcd_w_cmd(0x48+i);
- lcd_w_dat(ri[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+1);
- lcd_w_dat(0x01);
- for(i=0;i<8;i++) //3第一行“快” {
- lcd_w_cmd(0x50+i);
- lcd_w_dat(kuai[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+2);
- lcd_w_dat(0x02);
- for(i=0;i<8;i++) /4第一行“乐”
- {
- lcd_w_cmd(0x58+i);
- lcd_w_dat(le[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+3);
- lcd_w_dat(0x03);
- //1I
- for(i=0;i<8;i++) /5第一行第五列“生”
- {
- lcd_w_cmd(0x40+i);
- lcd_w_dat(sheng[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+4);
- lcd_w_dat(0x00);
- for(i=0;i<8;i++) //5第一行第六列“日”
- {
- lcd_w_cmd(0x48+i);
- lcd_w_dat(ri[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+5);
- lcd_w_dat(0x01);
- for(i=0;i<8;i++) //5第一行第七列“快”
- {
- lcd_w_cmd(0x50+i);
- lcd_w_dat(kuai[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+6);
- lcd_w_dat(0x02);
- for(i=0;i<8;i++) //5第一行第八列“乐”
- {
- lcd_w_cmd(0x58+i);
- lcd_w_dat(le[i]);
- //Delay(100);
- }
- lcd_w_cmd(0x80+7);
- lcd_w_dat(0x03);
- //2
- for(i=0;i<8;i++) //1 第二行“生”
- {
- lcd_w_cmd(0x40+i);
- lcd_w_dat(sheng[i]);
- //Delay(100);
- }
- lcd_w_cmd(0xc0);
- lcd_w_dat(0x00);
- for(i=0;i<8;i++) //1 第二行“日”
- {
- lcd_w_cmd(0x48+i);
- lcd_w_dat(ri[i]);
- //Delay(100);
- }
- lcd_w_cmd(0xc0+1);
- lcd_w_dat(0x01);
- for(i=0;i<8;i++) //1 第二行“快”
- {
- lcd_w_cmd(0x50+i);
- lcd_w_dat(kuai[i]);
- //Delay(100);
- }
- lcd_w_cmd(0xc0+2);
- lcd_w_dat(0x02);
- for(i=0;i<8;i++) //1 第二行“乐”
- {
- lcd_w_cmd(0x58+i);
- lcd_w_dat(le[i]);
- //Delay(100);
- }
- lcd_w_cmd(0xc0+3);
- lcd_w_dat(0x03);
-
-
- while(1)
- {
- LED0 = 0;
- delay_ms(200);
- LED0 = 1;
- delay_ms(200);
- }
- }
复制代码
下载:
基于STM32的1602液晶汉字显示程序.rar
(321.35 KB, 下载次数: 80)
|