临文乍了了,彻卷兀若无。这篇文章主要讲述51单片机linux环境LED数码管开关循环判断演示相关的知识,希望能为你提供帮助。
【51单片机linux环境LED数码管开关循环判断演示】示例程序如下,有bug,能运行但效果可提升:
文章图片
#include < 8052.h>
#define LSA P1_5
#define LSB P1_6
#define LSC P1_7
char SEG[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void init0(void)
{
LSA = 1;
LSB = 0;
LSC = 0;
}
void init1(void)
{
LSA = 1;
LSB = 0;
LSC = 0;
}
void init2(void)
{
LSA = 0;
LSB = 1;
LSC = 0;
}
void init3(void)
{
LSA = 1;
LSB = 1;
LSC = 0;
}
void init4(void)
{
LSA = 0;
LSB = 0;
LSC = 1;
}
void ledsplus(unsigned char leds,unsigned int delay)
{
P0=leds;
while(delay--);
delay=10000;
}
void seg1(unsigned char leds,unsigned int delay)
{
P0=SEG[leds];
//delay=50000;
while(delay--);
}
intmain(void)
{
init1();
unsigned char leds=0xff;
unsigned char cnt=0x00;
unsigned int delay=10000;
while(1)
{
if(P3_2==0)
{
for(leds=0xff; leds> 0x00; leds--)
{
ledsplus(leds,delay);
if(P3_4==0)
{
break;
}
}
}
if(P3_3==0)
{
for(leds=0x00; leds< 11; leds++)
{
seg1(leds,10000*cnt);
}
}
if(P3_4==0)
{
cnt++;
if(cnt> 7)
{
cnt=0x00;
}
}
P0=0xff;
delay=10000;
}
}
推荐阅读
- Kafka性能篇(为何Kafka这么"快"())
- nginx启停脚本
- 还不懂shell脚本核心(这一篇就够了。)
- ROS交叉编译——protobuf/yaml-cpp/opencv
- STM32FreeRTOS 系统配置
- STM32FreeRTOS 系统内核控制函数
- STM32FreeRTOS 任务切换
- nc用法——探测端口
- LFS 系列从零开始 DIY Linux 系统(构建临时系统 - Expect-5.45)