用C51写按键控制数码管显示test和循环显示0-9的代码
时间: 2023-12-03 11:42:54 浏览: 30
以下是用C51实现按键控制数码管显示"test"和循环显示0-9的代码:
```
#include <reg52.h>
//定义数码管显示的端口
#define LED P0
//定义按键的端口
#define KEY P1
//定义延时函数
void delay(unsigned int t)
{
unsigned int i, j;
for(i = 0; i < t; i++)
{
for(j = 0; j < 125; j++);
}
}
void main()
{
unsigned char i = 0;
unsigned char key_value;
//初始化数码管
LED = 0xff;
while(1)
{
//判断按键是否按下
key_value = KEY & 0x07;
if(key_value != 0x07)
{
//按键按下,判断按键值
if(key_value == 0x01)
{
//按键1,数码管显示"test"
LED = 0xfc; //t
delay(100);
LED = 0x60; //e
delay(100);
LED = 0xdb; //s
delay(100);
LED = 0xf3; //t
}
else if(key_value == 0x02)
{
//按键2,数码管循环显示0-9
for(i = 0; i < 10; i++)
{
LED = ~(0x01 << i);
delay(100);
}
}
}
else
{
//按键未按下,数码管显示0
LED = 0xff;
}
}
}
```
注:本代码是基于STC89C52单片机开发的,如果使用其他型号单片机或其他开发板,请根据具体情况做相应修改。