欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
結(jié)合4X4矩陣鍵盤(pán)與LCD液晶屏顯示器,將矩陣按鍵號(hào)顯示在液晶屏上。在液晶屏的第一...
[打印本頁(yè)]
作者:
yichangtangguo
時(shí)間:
2019-4-30 10:04
標(biāo)題:
結(jié)合4X4矩陣鍵盤(pán)與LCD液晶屏顯示器,將矩陣按鍵號(hào)顯示在液晶屏上。在液晶屏的第一...
結(jié)合4X4矩陣鍵盤(pán)與LCD液晶屏顯示器,將矩陣按鍵號(hào)顯示在液晶屏上。在液晶屏的第一行顯示實(shí)驗(yàn)者的姓名英文拼寫(xiě),第二行顯示:“KEY VALUE:矩陣按鍵號(hào)”
單片機(jī)源程序如下:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define key P1
sbit rw=P2^5;
sbit rs=P2^6;
sbit ep=P2^7;
uchar pose;
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<100;y++);
}
bit lcd_bz()
{
bit result;
rw=1;
rs=0;
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
result=(bit)(P0&0x80);
ep=0;
return result;
}
void lcd_wdat(uchar dat)
{
while(lcd_bz());
rs=1; //rs為1表示數(shù)據(jù)
rw=0;
ep=0;
_nop_();
_nop_();
P0=dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep=1;
delay(1);
ep=0;
}
void lcd_w(uchar cmd)
{
while(lcd_bz());
rs=0;//rs為0表示指令
rw=0;
ep=0;
_nop_();
_nop_();
P0=cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep=1;
delay(1);
ep=0;
}
void lcd_pos(uchar lie,uchar hang)
{
if(hang==1)
lcd_w(lie+0x80);
else
lcd_w(0x40+lie+0x80);
}
//液晶屏設(shè)置初始化
void lcd_init()
{
lcd_w(0x01);//清除顯示內(nèi)容
delay(1);
lcd_w(0x38);//功能設(shè)置:雙行顯示 //數(shù)據(jù)位為8,字形大小為5X7
delay(1);
lcd_w(0x38);
delay(1);
lcd_w(0x0c);//顯示開(kāi)關(guān)控制
delay(1);
lcd_w(0x06);//輸入方式設(shè)置
delay(1);
}
uchar scankey()
{
uchar hang,lie;
key=0xf0;
if(key!=0xf0)
{
switch(key)
{
case 0x70: hang=3;break;
case 0xb0: hang=2;break;
case 0xd0: hang=1;break;
case 0xe0: hang=0;break;
default:break;
}
delay(5);
key=0x0f;
if(key!=0x0f)
{
switch(key)
{
case 0x07: lie=3;break;
case 0x0b: lie=2;break;
case 0x0d: lie=1;break;
case 0x0e: lie=0;break;
default:break;
}
pose=hang*4+lie;
return 1;
}
else
return 0;
}
else
return 0;
}
void main()
{
char i;
uchar code str1[]="xiaoming";
uchar code str2[]="KEY VALUE: ";
uchar c[ ]={48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70};
lcd_init(); //液晶初始化
delay(10);
lcd_pos(0,1);
i=0;
while(str1[i]!='\0')
{
lcd_wdat(str1[i]);
i++;
}
//換行顯示
lcd_pos(0,2);
i=0;
while(str2[i]!='\0')
{
lcd_wdat(str2[i]);
i++;
}
while(1)
{
if(scankey())
{
lcd_pos(12,2);
lcd_wdat(c[pose]);
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
lcd.rar
(1.02 KB, 下載次數(shù): 39)
2019-4-30 10:03 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
難說(shuō)
時(shí)間:
2019-6-21 14:12
沒(méi)有仿真原理圖么?
作者:
難說(shuō)
時(shí)間:
2019-6-21 14:12
原理圖有么
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1