|
無標(biāo)題.png (14.33 KB, 下載次數(shù): 49)
下載附件
2018-6-16 22:46 上傳
#include <avr/io.h>
//******* LCD 1602地址數(shù)據(jù)端口定義 *********
#define lcd_bus PORTA // 1602數(shù)據(jù)口
#define lcd_con PORTC // 1602控制口
#define rs0 lcd_con & 0xfe // rs=0
#define rs1 lcd_con | 0x01 // rs=1
#define rw0 lcd_con & 0xfd // rw=0
#define rw1 lcd_con | 0x02 // rw=1
#define e0 lcd_con & 0xfb // e=0
#define e1 lcd_con | 0x04 // e=1
//************************************************
// 顯示延時(shí)子程序
//************************************************
void lcddelay()
{
unsigned int j;
for (j=400;j>0;j--);
}
//************************************************
// 初始化延時(shí)子程序
//************************************************
void inidelay()
{
unsigned int j;
for (j=20000;j>0;j--);
}
//************************************************
// lcd1602寫指令子程序
//************************************************
void enable_lcd()
{
lcd_con=rs0; //寫指令時(shí)序rs=0
lcd_con=rw0; //rw=0
lcd_con=e0; //e=0
lcddelay(); //調(diào)顯示延時(shí)子程序
lcd_con=e1; //e=1
}
//************************************************
// lcd1602寫數(shù)據(jù)子程序
//************************************************
void data_lcd()
{
lcd_con=rs1; //寫數(shù)據(jù)時(shí)序rs=1;
lcd_con=rw0; //rw=0
lcd_con=e0; //e=0
lcddelay(); //調(diào)顯示延時(shí)子程序
lcd_con=e1; //e=1
}
//************************************************
// lcd1602初始化子程序
//************************************************
void init_lcd()
{
lcd_bus=0x01; //清屏
enable_lcd();
lcd_bus=0x38; //顯示功能,2行顯示 ,5*7
enable_lcd();
lcd_bus=0x0c; //顯示開關(guān)
enable_lcd();
lcd_bus=0x06; //顯示模式 ,光標(biāo)移動(dòng)
enable_lcd();
}
//************************************************
// 顯示數(shù)據(jù)子程序
//************************************************
void lcd_show()
{
lcd_bus=0x80; //設(shè)置數(shù)據(jù)存儲(chǔ)器起始地址 ,第一行起始地址80h,
//第二行起始地址為C0H
enable_lcd(); //調(diào)寫指令子程序
lcd_bus='A';
data_lcd(); //調(diào)寫數(shù)據(jù)子程序
lcd_bus='V';
data_lcd();
lcd_bus='R';
data_lcd();
lcd_bus=' ';
data_lcd();
lcd_bus='s';
data_lcd();
lcd_bus='y';
data_lcd();
lcd_bus='s';
data_lcd();
lcd_bus='t';
data_lcd();
lcd_bus='e';
data_lcd();
lcd_bus='m';
data_lcd();
}
//***************** 主程序 ********************//
int main(void)
{
//****************初始化*****************************//
inidelay();
DDRA=0xff;
DDRC=0xff;
init_lcd(); //LCD初始化子程序
do
{
lcd_show();
}
while(1);
}
atmega8l-8pu.rar
(26.26 KB, 下載次數(shù): 9)
2018-6-16 22:47 上傳
點(diǎn)擊文件名下載附件
|
|