...程序实现用一个按键控制8个灯的亮和灭(按下按键全部灯亮,按下...
发布网友
发布时间:2024-09-28 09:56
我来回答
共1个回答
热心网友
时间:2024-10-16 16:59
你首先要确定你的电路。选择什么单片机和数码管,8个按键最简单8个IO口控制。一般简单的是用三极管驱动数码管。如果你会C语言的话,很容易上手。自己先从控制1个数码管学,在控制2个数码管(2个数码管基本上可以完成上面试验,8个就可以类推)\r\n\r\n1、初始值为0:上电复位后,单片机驱动数码管显示0.(如果不会,百度里搜51控制数码管等关键字,特别多试验电路和程序。)\r\n2、按第一个键:原理就是按键中断,直接跳到中断程序里,中断程序就是显示12345678(程序里是二进制码,单片机只认识0和1)。\r\n3、数码管移动显示,其实就是data脚的数据给的不一样,这个地方注意延时,你可以尝试改变延时时间看看效果。\r\n4、同3;\r\n5、12345678和ABCDEFGH的二进制码不同而已;\r\n6、同5.\r\n7、数码管全亮就相当于给data脚全为高(或者为低),和电路有关。\r\n8、同7.\r\n9、点阵显示按键键号。(数码管有小数点,只是也是一个data脚而已)\r\n\r\n----------------------------------------------------------------------自己多去百度找找学学,对个技能还是有点用的。
在51单片机中用c语言keil写程序实现用一个按键控制6个灯的亮和灭(按...
main(){ while(1)if(key==0)P0=0xc0;else P0=0xff;}
...程序实现用一个按键控制8个灯的亮和灭(按下按键全部灯亮,按下...
自己先从控制1个数码管学,在控制2个数码管(2个数码管基本上可以完成上面试验,8个就可以类推)\r\n\r\n1、初始值为0:上电复位后,单片机驱动数码管显示0.(如果不会,百度里搜51控制数码管等关键字,特别多试验电路和程序。)\r\n2、按第一个键:原理就是按键中断,直接跳到中断程序里,中断程序...
单片机怎么实现一个开关控制八个灯按一下亮一个按八下八个灯都亮汇编...
LED1_ON: MOV P0,#0FEH //亮一个灯 LJMP LOP LED2_ON: MOV P0,#0FDH //亮一个灯 LJMP LOP LED3_ON: MOV P0,#0F8H //亮一个灯 LJMP LOP LED4_ON: MOV P0,#0F0H //亮一个灯 LJMP LOP LED5_ON: MOV P0,#0E0H //亮一个灯 LJMP LOP LED6_ON: MOV P0,...
...亮灭,按一下第一个亮,再按一下第二个亮第一个灭,怎么写?
单片机中只用一个开关控制8个LED轮流亮灭,这很容易实现,也是最简单的控制方法,只要识别了按键按下了,就可以控制。轮流点亮更容易,用移位函数_crol_或_cror_就行了。是要仿真吗,给你个仿真图。
...循环切换,一个开关控制8个灯 默认第1个亮 按一下下一个亮前一个灭...
{ P2=led_data;//默认第一位亮 if(key==0)Delay_ms(10);if(key==0){ while(!key);Delay_ms(500); //延时0.5s led_data=_crol_(led_data,1);//移位函数,使led_date向左循环移动1位 } } } 已通过仿真,符合你的要求!
求单方向顺序通断控制,8个灯亮依次从第一个亮,灭从第8个倒起灭回来,间...
X0---接亮灯按键---优先级分配到0 X1---接灭灯按键---优先级分配到1 X2---接复位按键---优先级分配到2 Y0到Y7接8个灯 程序如下 只要打勾.添加即可.傻瓜式---附件可以下载软件试试
51单片机 用1个按键控制8盏灯,进行花样显示
P1=P1<<1; //左移或右移,这个自己试一下 delay(1000);.//继续移动到最后一个灯亮 if(P1=0x80) //判断最后一个灯是否亮了,亮了就全部灭 { P1=0xff;} } } void key3(){ if(key==0){ P1=0x00; //全亮 delay(1000);P1=~P1; //全灭 这里灭亮几次可以用for循环,...
C语言如何编程让一个按键轮流点灯。按一下1灯亮,在按下1灯灭2灯亮,在...
while(BY1==0);//等待按键释放,如果键未释放则一直在此等待。} } move() //广告灯向下移动移动函数 { a=temp<<count; //这三句为一个循环移位,相当于前面提到的 b=temp>>(8-count);// _crol_()函数 P1=a|b;} main(){ count=0; //初始化参数设置 temp=0xfe;P1=0xff...
使用单片机I/O口控制8只LED灯。 1)点亮8个中的的第任意个LED灯。 使...
当p1 = 0xff; p2 = 0xfe的时候,就是P2.0那个小灯点亮,其他7个灭,p2 = 0xfe的这个F就是8+4+2+1 =15,对应16进制里的f, 同理E=8+4+2+0 =14,对应16进制里的e。闪烁的话需要用到定时器,时间到了把当前P2对应的引脚取反一下就行了,比如当前P2.0 = 1; 定时器时间到了...
...一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部熄灭后重复前...
void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } //主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); //P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);...