这个- -!看来你是单片机没学好啊。
挺简单的找你同学写一个就行 我给你一个我练习的程序,你自己看看吧。不符合你要求,你参考参考吧。
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define BIT(x) (1 << (x))
uchar num;
void delayms(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<110;j++);
}
uchar KEY_PRESS()
{
uchar temp;
P3=0XF0;
temp=P3;
temp&=0XF0;
if(temp!=0XF0)
delayms(10);
if(temp!=0XF0)
{
return 1;
}
else
{
return 0;
}
}
uchar KEY_SCAN()
{
uchar key;
delayms(10);
if(KEY_PRESS())
{
key=P3;
key&=0XF0;
switch(key)
{
case 0XE0:
key=1;
break; //注意不能漏 break;
case 0XD0:
key=2;
break;
case 0XB0:
key=3;
break;
case 0X70:
key=4;
break;
default:
key=0;
}
while(KEY_PRESS());
}
else
{
key=5;
}
return key;
}
void LED_control()
{
uchar temp;
temp=KEY_SCAN();
if(temp==1)
{
num=_crol_(num,1); //循环左移
P1=num;
}
if(temp==2)
{
num=_cror_(num,1); //循环右移
P1=num;
}
}
void SYSTEM_INIT()
{
P1=0XF0;
num=P1;
}
void main()
{
SYSTEM_INIT();
while(1)
{
LED_control();
}
}
温馨提示:内容为网友见解,仅供参考