历史上的今天
今天是: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++); }
下一篇:单片机根据温湿度控制风速
史海拾趣
|
如今显示器中的电源绝大部分采用的是开关型稳压电源(简称开关电源)。所谓开关电源,是指开关电源中的调整管工作在截止区和饱和区。调整管截止时,相当于机械开关的断开,调整管饱和时,相当于机械开关闭合。这种起开 ...… 查看全部问答> |
|
直销作为一种新型的营销方式,主要具有目标市场层面的选择性、沟通对象的个别性、沟通过程的连续性、沟通效果的可测试性等优点。随着现代社会的发展和市场竞争的加剧,直销手段已经逐步显现出巨大的市场营销潜力。 如何将3G移动商务运用于直销行业 ...… 查看全部问答> |
|
我在虚拟串口驱动中加入了如下代码,在com_init中可以读出,但是在COM_Open中 lResult = RegQueryValueEx(hKey, REG_MAP_PORT_NAME, NULL, &dwType, (LPBYTE)vtBuf,&dwsize); 死活都失败,不知道咋回事,莫非我人品有问题?汗,咋回事,大伙帮忙 ...… 查看全部问答> |
|
我想问问,我现在的WINCE5。0系统加载了中文字体后,好像设置不到英文界面了,在PB中,默认语言是中文,在wince的控制面板-》区域设置中,区域射中选项卡的选中英文美国(其中还有一个是中文中华人民共和国),用户界面语言选项卡中,是阴影,选择 ...… 查看全部问答> |
|
hFlash = OpenStore(L\"MSFlash\"); hFlash = OpenStore(L\"DSK0:\"); 这两句话有什么区别,为什么我在multi-bin的情况下,只能用第一句;而在非multi-bin的情况下只能用第二句?? 请教高手~~ … 查看全部问答> |
|
求助用MMU映射方式启动bootrom或vxworks的BSP 有谁成功用MMU映射方式启动bootrom或vxworks的BSP,小弟那一份自己刚刚完成的at91rm9200bsp换. 也可以详细说明一下思路,高分相送,谢谢了.… 查看全部问答> |
|
FPGA 入门容易, 精通难! 难的原因在在于,FPGA 的语法是描述语言(描述电路的语言), 用语言描述的电路越接近电路本身的特性,则综合后电路则越可靠!越简单的原始语言产生电路越符合电路实际特性! 探讨下面几种表达方法产生的电路可靠性 ...… 查看全部问答> |




