历史上的今天
返回首页

历史上的今天

今天是:2024年12月21日(星期六)

2020年12月21日 | 基于51单片机的流水灯实验

2020-12-21 来源:51hei

K1键流水灯交替闪烁。
K2键流水灯从两边向中间移动闪烁。
K3键流水灯全部闪烁。
K4键流水灯从LED7到LED0流水闪烁。

单片机源程序如下:

#include

sbit S5=P1^4;

sbit S6=P1^5;

sbit S7=P1^6;

sbit S8=P1^7;

unsigned char keyval;

void key_scan(void);

void forward(void);

void backward(void);

void Alter(void);

void blink(void);

void led_delay(void);

void delay10ms(void);

void main(void)

{

    keyval=0;

        while(1)

        {

           key_scan();

           switch(keyval)

           {

               case 5:Alter();

                          break;

           case 6:forward();

                          break;

                   case 7:blink();

                          break;

           case 8:backward();

                          break;

           }

        }

}

void key_scan(void)

{

    P1=0xff;

        if((P1&0xf0)!=0xf0)

        {

           delay10ms();

           if(S5==0)

           keyval=5;

           if(S6==0)

           keyval=6;

           if(S7==0)

           keyval=7;

           if(S8==0)

           keyval=8;

    }

}

void Alter(void)

{

    P3=0xaa;

        led_delay();

        P3=0x55;

        led_delay();

}


void forward(void)

{

    P3=0x7e;

        led_delay();

        P3=0xbd;

        led_delay();

        P3=0xdb;

        led_delay();

        P3=0xe7;

        led_delay();

        P3=0xe7;

        led_delay();

        P3=0xdb;

        led_delay();

        P3=0xbd;

        led_delay();

        P3=0x7e;

        led_delay();

}


void blink(void)

{

    P3=0xff;

        led_delay();

        P3=0x00;

        led_delay();

}


void backward(void)

{

    P3=0x7f;

        led_delay();

        P3=0xbf;

        led_delay();

        P3=0xdf;

        led_delay();

        P3=0xef;

        led_delay();

        P3=0xf7;

        led_delay();

        P3=0xfb;

        led_delay();

        P3=0xfd;

        led_delay();

        P3=0xfe;

        led_delay();

}


void led_delay(void)

{

    unsigned char i,j;

        for(i=0;i<220;i++)

        for(j=0;j<220;j++);

}

  

void delay10ms(void)

{   

    unsigned char i,j;

        for(i=0;i<100;i++)

        for(j=0;j<100;j++);

}



推荐阅读

史海拾趣

Custom Mmic Design Services Inc公司的发展小趣事

近年来,随着电子行业的快速发展和市场竞争的加剧,CMDS也面临着诸多挑战。例如,原材料价格波动、人工成本上升、环保要求提高等都给公司的生产和经营带来了压力。然而,CMDS凭借其强大的技术实力和市场竞争力,积极应对这些挑战。通过优化生产流程、提高生产效率、加强成本管理等措施,CMDS不仅成功克服了这些困难,还实现了稳健的发展。同时,公司还注重环境保护和社会责任,积极推动可持续发展战略的实施。

Elprotronic Inc.公司的发展小趣事

随着电子行业的不断发展,客户对电子元器件的需求也在不断变化。Elprotronic Inc.紧跟市场趋势,不断推出具有创新性的产品和技术。其中,一项名为“高速数据传输技术”的创新成果引起了业界的广泛关注。这项技术可以大幅提高数据传输速度,同时保证数据的稳定性和安全性。这一突破性的技术创新为Elprotronic Inc.赢得了更多客户的信赖和支持,也进一步巩固了公司在行业中的地位。

全智景(Allvision)公司的发展小趣事

全智景公司自成立以来,一直致力于电子视觉技术的研发。早期,公司面临激烈的市场竞争和技术瓶颈,但全智景团队凭借坚韧不拔的精神,成功研发出了一款具有划时代意义的高清摄像头芯片。这款芯片以其出色的图像质量和稳定性,迅速获得了市场的认可,并推动了整个电子视觉行业的进步。这一技术突破不仅让全智景公司在市场上站稳了脚跟,也为公司后续的发展奠定了坚实的基础。

Hi-Optel Technologly Co Ltd公司的发展小趣事

全智景公司自成立以来,一直致力于电子视觉技术的研发。早期,公司面临激烈的市场竞争和技术瓶颈,但全智景团队凭借坚韧不拔的精神,成功研发出了一款具有划时代意义的高清摄像头芯片。这款芯片以其出色的图像质量和稳定性,迅速获得了市场的认可,并推动了整个电子视觉行业的进步。这一技术突破不仅让全智景公司在市场上站稳了脚跟,也为公司后续的发展奠定了坚实的基础。

帝特(DTECH)公司的发展小趣事

帝特在国内市场取得一定成绩后,开始积极拓展国际市场。公司在中国区开设了广州、深圳分公司,并在泰国和马来西亚等地设立了分公司和专卖店。通过全球化的战略布局,帝特的产品销售网络遍布东南亚、中东、非洲和美洲等国家和地区,公司的知名度和市场份额均得到了显著提升。

CTS [CTS Corporation]公司的发展小趣事

随着电子技术的不断进步和广泛应用,CTS敏锐地捕捉到了电子元器件和传感器市场的巨大潜力。于是,公司开始逐步转型,将业务重心转向这些领域。通过不断的研发和创新,CTS成功设计并生产出一系列高性能的电子元器件和传感器产品,赢得了市场的广泛认可。

问答坊 | AI 解惑

请高手帮忙!

      本人大四学生 毕业设计做用AT89S52为核心的单片机数据采集与控制     主要实现的功能有:控制前级电路中的激励、检测极板的选择、反馈至前级电路与反馈值的确定、模拟信号的采集以及与上位机的 ...…

查看全部问答>

显示器开关电源的维修

       如今显示器中的电源绝大部分采用的是开关型稳压电源(简称开关电源)。所谓开关电源,是指开关电源中的调整管工作在截止区和饱和区。调整管截止时,相当于机械开关的断开,调整管饱和时,相当于机械开关闭合。这种起开 ...…

查看全部问答>

如何将3G移动商务应用于直销行业

直销作为一种新型的营销方式,主要具有目标市场层面的选择性、沟通对象的个别性、沟通过程的连续性、沟通效果的可测试性等优点。随着现代社会的发展和市场竞争的加剧,直销手段已经逐步显现出巨大的市场营销潜力。 如何将3G移动商务运用于直销行业 ...…

查看全部问答>

又遇到个奇怪的读注册表问题,郁闷。

我在虚拟串口驱动中加入了如下代码,在com_init中可以读出,但是在COM_Open中 lResult = RegQueryValueEx(hKey, REG_MAP_PORT_NAME, NULL, &dwType, (LPBYTE)vtBuf,&dwsize); 死活都失败,不知道咋回事,莫非我人品有问题?汗,咋回事,大伙帮忙 ...…

查看全部问答>

请问各位大侠关于wince5.0系统的中英转换问题

我想问问,我现在的WINCE5。0系统加载了中文字体后,好像设置不到英文界面了,在PB中,默认语言是中文,在wince的控制面板-》区域设置中,区域射中选项卡的选中英文美国(其中还有一个是中文中华人民共和国),用户界面语言选项卡中,是阴影,选择 ...…

查看全部问答>

OpenStore的用法

hFlash = OpenStore(L\"MSFlash\"); hFlash = OpenStore(L\"DSK0:\"); 这两句话有什么区别,为什么我在multi-bin的情况下,只能用第一句;而在非multi-bin的情况下只能用第二句?? 请教高手~~ …

查看全部问答>

求助用MMU映射方式启动bootrom或vxworks的BSP

有谁成功用MMU映射方式启动bootrom或vxworks的BSP,小弟那一份自己刚刚完成的at91rm9200bsp换. 也可以详细说明一下思路,高分相送,谢谢了.…

查看全部问答>

版主!这个帖子里的链接都失效了

STM32相关讨论帖子汇总(集锦) 想办法补救一下吧。…

查看全部问答>

FPGA 语法描述风格对综合电路可靠性影响!

 FPGA 入门容易, 精通难! 难的原因在在于,FPGA 的语法是描述语言(描述电路的语言), 用语言描述的电路越接近电路本身的特性,则综合后电路则越可靠!越简单的原始语言产生电路越符合电路实际特性!   探讨下面几种表达方法产生的电路可靠性 ...…

查看全部问答>