#include<reg52.h>
sbit p30=P3^0;
sbit p31=P3^1;
sbit p32=P3^2;
sbit p07=P0^7;
const s=1;
/*****************
延時函數(shù)
*****************/
delaynms(unsigned int m)
{
unsigned char i,j;
for(;m!=0;m--)
for(i=0;i<4;i++)
for(j=0;j<32;j++)
;
}
/******************
1602busy jump
******************/
busyjump()
{
bit result;
p30=0;
p31=1;
p32=1;
result=p07;
p32=0;
return result;
}
/******************
1602讀指令
******************/
readinstruction(unsigned char ins)
{
while(busyjump())
p30=0;
p31=0;
P0=ins;
p32=1;
p32=0;
}
/**************
1602讀數(shù)據(jù)
**************/
readdata(unsigned char dat)
{
while(busyjump());
p30=1;
p31=0;
P0=dat;
p32=1;
p32=0;
}
/*************
1602初始化
*************/
chush()
{
delaynms(15);//模塊熱啟動
readinstruction(0x36);
readinstruction(0x36);
readinstruction(0x0c);
readinstruction(0x01);
readinstruction(0x06);
}
/****************
顯示地址轉(zhuǎn)換
***************/
showaddr(unsigned char addr)
{
readinstruction(addr|0x80);
}
/***************
定位
***************/
char dingwei (char n)
{
char i;
n=~n;
switch(n)
{
case 0xf0:i=-1; break;
case 0xf1:i=0; break;
case 0xf2:i=1; break;
case 0xf4:i=2; break;
case 0xf8:i=3; break;
}
return i;
}
/****************
主函數(shù)
***************/
main()
{
char h,l,j,k,flag;
unsigned char temp;
chush();
while(1)
{
temp=0xfe;
flag=0;
for(j=0;j<4;j++,temp=(temp<<1)+0x01)
{
P1=temp;
h=P1/16;
l=P1&0x0f;
k=dingwei(l)*4+dingwei(h)+1;
if(dingwei(h)+1)
{
delaynms(1);
if(dingwei(h)+1)//去抖動
{
readinstruction(0x01);
showaddr(0x00);
readdata(k/10+0x30);
readdata(k%10+0x30);
delaynms(2);
delaynms(1500);
flag=1;
}
}
if(j==3&&flag==0)
{
readinstruction(0x01);
showaddr(0x00);
readdata('n');delaynms(2);
readdata('o');delaynms(2);
readdata(' ');delaynms(2);
readdata('k');delaynms(2);
readdata('e');delaynms(2);
readdata('y');delaynms(2);
readdata(' ');delaynms(2);
readdata('p');delaynms(2);
readdata('u');delaynms(2);
readdata('t');delaynms(2);
readdata(' ');delaynms(2);
readdata('o');delaynms(2);
readdata('n');delaynms(2);
delaynms(150);
}
}
}
}
不是很懂
i,m都是什么變量呀!
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |