#define uint unsigned int
#define uchar unsigned char //宏定义,方便使用
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90}//数码管显示编码
uchar num,temp,num1//全局变量定义
/************************延时子函数***********************************/void delay(uint z)
{
uint x,y
for(x=zx>0x--)
for(y=110y>0y--)
}
/**************************主函数*************************************/uchar keyscan()//定义键扫描函数伏基铅void display(uchar aa)//定义显示函数 void main()
{
num=0
P0 = 0xc0
while(1)
{
display(keyscan())//调用键盘扫描子函数
}
}
/*************************显示子函数**********************************/void display(uchar aa)
{ P0=table[aa]
}/************************键盘扫描子函数*******************************/uchar keyscan()
{
P1=0xfe//P1赋值,低位送0
temp=P1//temp读回P1的值,
SCANPORT= ( SCANPORT&0XC0) | ( uca_LineScan[ucLine|0XC0) //运算, 高2位保持,低6位变成想要的。Temp=SCANPORT &0x07 //你要高山注意, SCANPORT里面的值戚昌中包括P2.6、P2.7
if(Temp!=0x07)
一般的与、或运算可以解决。可能我写的不太好,你可以用一个中间变量在运算那儿。迅派
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)