⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd显示中英文.c

📁 CVAVR编写的1602LCD显示中英文
💻 C
字号:
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.9 Standard
Automatic Program Generator
?Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 2009-2-28
Author  : WangHui
Company : HoHai University
Comments: 


Chip type           : ATmega16L
Program type        : Application
Clock frequency     : 4.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/
#include <mega16.h> 
#include <stdio.h>        //sprintf函数
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x1B
#endasm
#include <lcd.h>

typedef unsigned char byte;
flash byte char0[8]={31,4,4,31,4,4,10,17};  	//天的字型
flash byte char1[8]={4,4,7,4,4,4,4,31};         //上的字型
flash byte char2[8]={15,9,15,9,15,9,9,19};		//月的字型
flash byte char3[8]={4,15,18,15,10,31,2,2};		//年的字型
flash byte char4[8]={31,4,4,14,4,4,31,32};		//王的字型
flash byte char5[8]={21,14,4,31,10,10,11,18}; 	//光的字型
flash byte char6[8]={31,21,15,10,31,2,31,2}; 	//军的字型
flash byte char7[8]={4,8,31,17,31,27,31,17};    //向的字型
flash unsigned char dis_str[]="HoHai University,welcome you! *_*";

void define_char(byte flash *pc,byte char_code)          //自定义字符子程序
{
	byte i,a;
	a=(char_code<<3) | 0x40;
	for (i=0; i<8; i++) lcd_write_byte(a++,*pc++);
}  

void main(void)                                 //主程序
{   
    char lcd_buffer[20];                    //定义20字节的LCD缓冲区
	unsigned char flash *str;               //定义指针变量
	str = dis_str;                          //指针str指向数组dis_str首字母
	lcd_init(16);			// initialize the LCD for 2 lines & 16 columns

	define_char(char0,0);  // define user character 0//天的字型
	define_char(char1,1);  // define user character 1//上的字型
	define_char(char2,2);  // define user character 2//月的字型
    define_char(char3,3);  // define user character 3//年的字型
    define_char(char4,4);  // define user character 4//王的字型
    define_char(char5,5);  // define user character 5//光的字型
    define_char(char6,6);  // define user character 6//军的字型
    define_char(char7,7);  // define user character 7//向的字型
	    
	    
	while (1)
	{   
	    lcd_clear();                     //清空LCD
	    lcd_gotoxy(0,0);                 // 光标定位在第1行第1列
	    sprintf(lcd_buffer,"%4d",2009);  //输出数字2009
        lcd_puts(lcd_buffer); //显示
    	
    	lcd_putchar(3);             //输出“年”
    	lcd_putchar('x');           //输出“x”
    	lcd_putchar(2);             //输出“月”
	    lcd_putchar(' ');           //输出空格
	
	    lcd_putchar(0);			    //接在后面显示"天天向上"
	    lcd_putchar(0);
	    lcd_putchar(7);
	    lcd_putchar(1);
    
        lcd_putchar(' ');
	    lcd_putchar(4);	             //接在后面显示"王辉"		   
	    lcd_putchar(5);
	    lcd_putchar(6);
    	
    	lcd_gotoxy(0,1);              //光标定位在第2行第1列
	    lcd_putsf(str);	              //显示内容
	    if (*str++ == 0) str = dis_str; //判断是否结束,结束则从头开始
    	delay_ms(1000);                //延时1秒                               

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -