|
IMG20220424192923.jpg (2.98 MB, 下載次數(shù): 24)
下載附件
2022-4-24 21:01 上傳
TTFN3U`9[CQN0%8}28KZN1D.png (48.3 KB, 下載次數(shù): 31)
下載附件
2022-4-24 21:01 上傳
單片機源程序如下:
#include <STC12C5A60S2.H>
sbit EN=P2^0; //定義LCD使能信號端
sbit RW=P2^1; //定義LCD讀/寫選擇端
sbit RS=P2^2; //定義LCD數(shù)據(jù)/命令選擇端
#define uchar unsigned char
void delay_ms(unsigned int z);//聲明延時毫秒函數(shù)
void LCD1602_Init(); //聲明LCD初始化函數(shù)
void check(); //聲明測忙函數(shù)
void LCD1602_Write_com(uchar com); //聲明LCD確定顯示位置函數(shù)
void LCD1602_Write_dat(uchar dat); //聲明LCD確定顯示內(nèi)容函數(shù)
void main()
{
LCD1602_Init();
while(1)
{
LCD1602_Write_com(0x80);
LCD1602_Write_dat(0x34);
}
}
/**********LCD1602初始化函數(shù)**********/
void LCD1602_Init()
{
LCD1602_Write_com(0x38); //設(shè)置顯示模式:兩行字符,5*7點陣字符體,8位數(shù)據(jù)接口
LCD1602_Write_com(0x08); //畫面開
LCD1602_Write_com(0x01); //顯示清屏
LCD1602_Write_com(0x0c); //顯示開,光標(biāo)關(guān)
LCD1602_Write_com(0x06); //操作數(shù)據(jù)后地址+1,禁止光標(biāo)移動
}
/**********測忙函數(shù)**********/
void check()
{
uchar busy;
P0=0xff;
RS=0;
RW=1;
do
{
EN=1;
busy=P0;
EN=0;
}while(busy&0x80);
}
/**********LCD1602確定顯示位置函數(shù)**********/
void LCD1602_Write_com(uchar com)
{
check(); //檢測LCD是否為忙碌狀態(tài),1為繁忙,0為空閑
RS=0;
RW=0;
P0=com;
delay_ms(10);
EN=1;
delay_ms(1);
EN=0;
}
/**********LCD1602確定顯示內(nèi)容函數(shù)**********/
void LCD1602_Write_dat(uchar dat)
{
check(); //檢測LCD是否為忙碌狀態(tài)
RS=1;
RW=0;
P0=dat;
delay_ms(10);
EN=1;
delay_ms(1);
EN=0;
}
/**********延時毫秒函數(shù)**********/
void delay_ms(unsigned int z)
{
unsigned int x,y;
for(x=0;x<z;x++)
for(y=0;y<200;y++);
}
|
|