📄 led.c
字号:
#include <AT89X52.h>
#include <intrins.h>
#include<math.h>
sbit DIN=P1^0;
sbit CLK=P1^1;
sbit LOAD=P1^2;
sbit KEY1=P1^3;
sbit KEY2=P1^4;
unsigned char KEYKEY=5;
void inputa(unsigned char aa)
{unsigned char i=0,j=0;
unsigned char aab;
float data_com[]={5.233,4.214,3.823,2.248,1.128};
for (i=1;i<=8;i++)
{CLK=0;
aab=aa;
aab&=0x80;
aab>>=7;
DIN=aab;
aa<<=1;
CLK=1;
for (j=0;j<2;j++)
_nop_();
CLK=0;
}
}
void input(unsigned char aa,unsigned char b)
{unsigned char i=0;
LOAD=0;
inputa(aa);
inputa(b);
LOAD=1;
for(i=0;i<2;i++);
}
void main()
{unsigned char i=0;
unsigned char c[]={1,1,3,5,1,5,4,6,0};
EA=1;
IE=0X84;
TCON=0X04;
CLK=0;
LOAD=0;
input(12,0);
input(9,255);
input(11,7);
input(10,15);
input(12,1);
//判断KEYKEY,即可知道按键情况
while(1)
{
switch (KEYKEY)
{case 5:
for(i=1;i<9;i++)input(i,KEYKEY);break;
case 4:
case 6: for(i=1;i<9;i++)input(i,i);break;
case 3:
case 7: for (i=1;i<9;i++)input(i,i+1);break;
case 2:
case 8: for(i=1;i<9;i++)input(i,i+2);break;
case 1:
case 9: for(i=1;i<9;i++)input(i,i+3);break;
default: KEYKEY=5;
}
}
}
//利用全局变量KEYKEY,按键1使KEYKEY加1,按键2使KEYKEY减1.
int_1()interrupt 2
{if (KEY1==0)
KEYKEY++;
if(KEY2==0)
KEYKEY--;
}
bcdma(char *point)
{
unsigned char ge,shifen,baifen,qianfen,i=1;
//unsigned char gg[5][10];
float mm;
for(i=0;i<5;i++)
mm=point[i];
ge=(char)mm%10;
mm*=10;
shifen=(int)mm%10;
mm*=10;
baifen=(int)mm%10;
mm*=10;
qianfen=(int)mm%10;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -