<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 12864液晶(AVR_Mega128)的頭文件

12864液晶(AVR_Mega128)的頭文件

作者: 時(shí)間:2018-08-09 來(lái)源:網(wǎng)絡(luò ) 收藏

大家使用時(shí)把這段代碼保存成.h的頭文件,在主程序中包含這個(gè)頭文件就行

本文引用地址:http://dyxdggzs.com/article/201808/386090.htm

根據你們液晶電路更改下面的端口宏定義即可

//CPU:ATmega128; 時(shí)鐘頻率為16MHz

//編譯環(huán)境為ICCAVR

//頭文件

#include

#include

#include

//數據端口定義

#define Dat_Port_Write PORTA

#define Dat_Port_Read PINA

//控制端口及相應的位

#define RS_RW_EN_Control PORTG

#define LCM_RS 0

#define LCM_RW 1

#define LCM_EN 2

#define uchar unsigned char

#define uint unsigned int

//延時(shí)函數

void Delay_Ms(unsigned int ms)

{

for(;ms>1;ms--);

}

//寫(xiě)數據

void Write_Data_LCM(unsigned char WDLCM)

{

Read_Status_LCM(); //檢測忙

Delay_Ms(100);

RS_RW_EN_Control|=BIT(LCM_RS); //RS=1

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_RW); //RW=0

Delay_Ms(100);

RS_RW_EN_Control|=BIT(LCM_EN); //EN=1

Delay_Ms(100);

Dat_Port_Write=WDLCM; //輸出數據

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_EN); //EN=0

Delay_Ms(100);

}

//寫(xiě)指令

void Write_Command_LCM(unsigned char WCLCM)

{

Read_Status_LCM(); //根據需要檢測忙

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_RS); //RS=0

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_RW); //RW=0

Delay_Ms(100);

RS_RW_EN_Control|=BIT(LCM_EN); //EN=1

Delay_Ms(100);

Dat_Port_Write=WCLCM; //輸出指令

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_EN); //EN=0

Delay_Ms(100);

}

//讀狀態(tài):檢測忙

void Read_Status_LCM(void)

{

uchar temp;

uchar flag = 1;

while(flag==1)

{

DDRA=0x00; //端口A(yíng)改為輸入

Dat_Port_Write = 0xff;

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_RS); //RS=0

Delay_Ms(100);

RS_RW_EN_Control|=BIT(LCM_RW); //RW=1

Delay_Ms(100);

RS_RW_EN_Control|=BIT(LCM_EN); //EN=1

Delay_Ms(100);

temp = Dat_Port_Read; //讀端口A(yíng)

Delay_Ms(100);

DDRA=0xff; //端口A(yíng)改為

Delay_Ms(100);

RS_RW_EN_Control=~BIT(LCM_EN); //EN=0

Delay_Ms(100);

if(temp>>7==0)

flag = 0;

}

}

//LCM初始化

void LCM_Init(void)

{

Write_Command_LCM(0x38); //三次顯示模式設置,不檢測忙信號

Delay_Ms(1000);

Write_Command_LCM(0x38);

Delay_Ms(1000);

Write_Command_LCM(0x38);

Delay_Ms(1000);

Write_Command_LCM(0x38); //顯示模式設置,開(kāi)始要求每次檢測忙信號

Write_Command_LCM(0x08); //關(guān)閉顯示

Write_Command_LCM(0x01); //顯示清屏

Write_Command_LCM(0x06); //顯示光標移動(dòng)設置

Write_Command_LCM(0x0C); //顯示開(kāi)及光標設置

}

/



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>