這是我的程式
.h檔案
#ifndef _LCD12864_H_
#define _LCD12864_H_
#define LCD_PORT P3
sbit lcd_rs = P1^0;
sbit lcd_rw = P1^2;
sbit lcd_e = P1^3;
sbit lcd_rst =P2^5;
sbit lcd_change=P2^7;
extern void busy();
extern void cmd_write12864(uchar cmd);
extern void dat_write12864(uchar dat);
extern void LCD12864_Init();
extern void display_12864(uchar y,uchar x,uchar *z);
extern void displayDigital_12864(uchar y,uchar x,uchar shu);
#endif
.c檔案
//檢查忙
void busy()
{
lcd_rs=0; lcd_rw=1; lcd_e=1;
delayms(5);
while((LCD_PORT&0x80)==0x80);
lcd_e=0;
}
/** 寫命令*/
void cmd_write12864(uchar cmd)
{
busy();
lcd_rs = 0;//RS埠置0
lcd_rw = 0;//RW埠置0
lcd_e=0;
LCD_PORT = cmd;
lcd_e = 1;//E埠置1
delayms(10);//延時
lcd_e = 0;//E埠置0
}
/** 寫資料*/
void dat_write12864(uchar dat)
{
busy();
lcd_rs = 1;//RS埠置1
lcd_rw = 0;//RW埠置0
lcd_e = 0;//E埠置0
LCD_PORT = dat; //填充資料
lcd_e = 1;//E埠置1
delayms(10);
lcd_e = 0;//E埠置0
}
void LCD12864_Init()
{
lcd_change=1;
lcd_rst=0;
LCD_PORT = 0;
delayms(15);
lcd_rst=1;
cmd_write12864(0x30); //選擇基本指令操作
cmd_write12864(0x0c); //顯示開,關游標
cmd_write12864(0x01); //清除LCD12864的顯示內容
}
/****************************顯示部分*****************************/
//lcd顯示數字程式
void displayDigital_12864(uchar y,uchar x,uchar shu)
{
uchar a,b,Address;
a=shu/10;
b=shu%10;
if(y==1){Address=0x80+x;} //Y判斷第幾行,X判斷第幾列,0x80為液晶行初始地址
if(y==2){Address=0x90+x;}
if(y==3){Address=0x88+x;}
if(y==4){Address=0x98+x;}
cmd_write12864(Address); //寫入地址命令到LCD12864
dat_write12864(0x30+a);
dat_write12864(0x30+b);
}
//lcd顯示程式
void display_12864(uchar y,uchar x,uchar *z)
{
uchar Address;
if(y==1){Address=0x80+x;} //Y判斷第幾行,X判斷第幾列,0x80為液晶行初始地址
if(y==2){Address=0x90+x;}
if(y==3){Address=0x88+x;}
if(y==4){Address=0x98+x;}
cmd_write12864(Address); //寫入地址命令到LCD12864
while(*z!='\0') //寫入顯示資料的大小
{
dat_write12864(*z++); //寫入顯示資料到LCD12864
}
}
void main(){
LCD12864_Init();
display_12864(3,1,"時");
while(1);
}
uj5u.com熱心網友回復:
補充一下,延時函式void delayus(uint t) //延時微妙函式
{
while(t--);
}
void delayms(uint t) //延時毫秒函式
{
uint i,j;
for(i=t;i>0;i--)
for(j=0;j<120;j++);
}
還有lcd_change是PSB腳
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
照著別人的去抄轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278661.html
標籤:單片機/工控
