简单的单片机程序求助(c语言)

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:54:44
已知K1,K2,K3,K4四个按键分别对应51单片机上的P1^0,P1^2,P1^3,P1^4四个输入端子,4位动态数码管L1,L2,L3,L4分别依次对应单片机上P3^2,P3^3,P3^4,P3^5四个输出端口。
在按下K1时显示第一个数,在按下K2时显示第二个数,按下K3显示第三个数,按K4时显示第四个数。 用C语言。
只要满足以上条件就可以了。

我来好了,很简单:
#include<reg52.h>
sbit key1=P1^0;
sbit key2=P1^2;
sbit key3=P1^3;
sbit key4=P1^4;
sbit light1=P3^2;
sbit light1=P3^3;
sbit light1=P3^4;
sbit light1=P3^5;
#define uchar unsigned char
#define uint unsigned int;
display(uchar );
delay(uchar);
uchar scan();
void main()
{
while(1)
{
display(scan());
}

}

delay(uchar x) //延时小程序
{
uchar a,b;
for(a=x;a>0;a--)
for(b=200;b>0;b--);
}

uchar scan()
{
if(key1==0)
{
delay(50); //去抖动
if(key1==0)
P3^2=0; //段选你自己控制显示多少吧,在上一句加上
while(!key1);
}

if(key2==0)
{
delay(50);
if(key2==0)
P3^3=0; //段选你自己控制显示多少吧,在上一句加上
while(!key2);
}

if(key3==0)
{
delay(50);
if(key3==0)
P3^4=0