#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit CLK=P0^0;
sbit SH_LD =P0^2;
sbit QH =P0^3;
sbit CLKIN =P0^1;
//unsigned char flag,a;
unsigned char bdata Key;
sbit K0=Key^0; //붨òå
sbit K1=Key^1; //붨òå
sbit K2=Key^2; //붨òå
sbit K3=Key^3; //붨òå
sbit K4=Key^4;
sbit K5=Key^5;
sbit K6=Key^6;
sbit K7=Key^7;
//bit M0 ,K0J; //붨òå
uint read_int165(void)
{
uchar i=0;
uint read_data=0;
// CLKIN=1;
SH_LD=0; //Ëø′æêy¾Y
_nop_();
SH_LD=1;
_nop_();
// CLKIN=0;
i=8;
do
{CLK=0;
read_data<<=1;
if(QH){read_data|=0x01;}
_nop_();
CLK=1;
_nop_();
}while(i--);
return (read_data);
}
void main()
{
while(1)
{
unsigned long Input=read_int165();//μ÷óÃ165Çy¶ˉ3ìDò
Key=Input; //½«êy¾Y′«¸øÎ»±äá¿
P1 = 0xff; //Çå3y
//êμÏÖÂö3åêäèë ′ó¼ò×Dϸìå»á
// if(K0&K0J)M0=~M0;
// K0J=~K0;
//
// if(M0) { P2 = 0x7f; }//êμÏÖÂö3åêäèë
if(K0) { P1 = 0x7f; }
if(K1) { P1 = 0xbf; }//K1 Îa1걿aÆô·äÃùÆ÷oí2¸öμÆ
if(K2) { P1 = 0xdf; }
if(K3) { P1 = 0xef; }
if(K4) { P1 = 0xf7; }
if(K5) { P1 = 0xfb; }
if(K6) { P1 = 0xfd; }
if(K7) { P1 = 0xfe; }
}
}
|