51单片机流水灯左右循环

  • 用51单片机写了一个流水灯程序,有一点问题,请高手解惑
    答:单片机的流水灯程序,因为程序就这么写的,决定了流水灯左移7次,再右移7次,结束两个循环后,才能执行下面的while(!key),按键才有效,而在循环过程中,不执行while(!key),所以按键无效。下图画红框内的两个循环。要想按键随时有效,应该把两个移位函数_cror_,_crol_ 放在主程中,检测key也放在...
  • 51单片机如何用C程序中的_crol_和_cror_实现流水灯来回显示
    答:include<intrins.h> define uchar unsigned char define uint unsigned int //延时 void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } //主程序 void main(){ uchar i;P2=0x01;while(1){ for(i=0;i<7;i++){ P2=_crol_(P2,1); //P2 的值向左循环移动...
  • 51单片机流水灯 单片机 流水灯的问题 C51程序
    答:{ //--- for(i=0;i<8-j;i++) //内循环8、7、6...0次 { P1=a; //第一次,只有右边1个发光 delay(200);a=_crol_(a,1); //左移一位 } //以上单个LED发光,移位8、7、6...次 //--- a = _crol_(a, j); //左移,第一次,移动0位,以后渐多 //前...
  • 用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
    答:include<reg51.h> voiddelay(void){ unsignedinti,j;for(i=0;i<200;i++)for(j=0;j<1000;j++);} voidmain(void){ while(1){ P3=0xfe;//第一个灯亮 delay();//延时 P3=0xfd;//第二个灯亮 delay();P3=0xfb;//第三个灯亮 delay();P3=0xf7;//第四个灯亮 delay();P3=0x...
  • 51单片机流水灯,第一轮每次亮一个灯流水,第二轮每次亮两个灯流水...
    答:include<reg52.h> include<intrins.h> define unit unsigned int define uchar unsigned char void delay(unit z){ unit x, y;for(x = 100; x > 0; x--) for(y = z; y > 0; y--);} void main(){ uchar temp, i;temp = 0xfe;while(1) { for (i = 0; i < 8...
  • 51单片机从中间到两边逐个点亮再从两边到中间逐个点亮程序?
    答:这个流水灯程序最好用数组定义8个状态的灯,这样用for循环就可以实现了。简洁明了,易读性强,也容易理解。include<reg51.h> define uchar unsigned char code uchar ledtab[10]= { 0xff,0xe7,0xc3,0x81,0x00,//中间开始逐渐点亮 0xff,0x7e,0x3c,0x18,0x00//两边开始逐渐点亮 } void ...
  • 51 单片机一个左右同时向中间流动的流水灯,keil编译通过,就是实现不了...
    答://上面这段改完也不是两边同时向中间流水,只是左到右,左到右的来回流水灯 两边向中间流水,直接用查表法,//11111111B, 01111110B, 10111101B, 11011011B, 11100111B uchar MB[]={0xFF, 0x7E, 0xBD, 0xDB, 0xE7};uchar i=0;while(1){ P1 = MB[i++];if(i>=5) i=0;delayms(...
  • 单片机流水灯怎么实现的?
    答:单片机流水灯代码:#include<reg51.h>//51头文件void delay(int t)//定义延时函数{int j;while(t--){for(j=0;j<500;j++);}}void main(){int i;while(1){for(i=0;i<7;i++)//循环点亮LED,到第7个LED延时一会就结束循环。在这个单片机流水灯代码中,假设使用的是8051...
  • 51单片机8个流水灯,一个按键从左到右,一个按键从右到左,用汇编语言_百 ...
    答:KEYR EQU P1.0//改下端口 忘记 p3口 是低还是高了KEYL EQU P1.1LED EQU P0ORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN: MOV TMOD,#01H MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB ET0 SETB EA MOV A,#0FEH MOV LED,A MOV...
  • 51单片机制作一个由一个按钮控制的8盏流水灯程序,要求按下按钮后流水...
    答:include<reg51.h> define uchar unsigned char sbit key=P1^0;uchar led;void delay(uchar x){ uchar i,j;for(i=0;i<x;i++)for(j=0;j<125;j++);} void disled(){ uchar i,j;led=0xfe;for(j=0;j<2;j++){ for(i=0;i<8;i++){ P0=led;delay(200);P0=0xff;delay(...

  • 网友评论:

    胡熊18957317818: 51 单片机一个左右同时向中间流动的流水灯,keil编译通过,就是实现不了.这是为什么? -
    68302庄行 : 逻辑错误了,把两个while中的相等改为不相等: a=0xfe; //<<P1 = a; //<< while(1){while(a!=0x7f) //主要错误 while(a==0x7f){//P1=0xfe; //<< //a=P1; //<< delayms(500);a=_crol_(a,1);P1 = a; //<< }while(a != 0xfe) //主要错误 while(a...

    胡熊18957317818: 求一个用c语言编译的流水灯程序,要求灯从中间向两边亮 -
    68302庄行 : #include<reg52.h> #define uchar unsigned char void delay(z); uchar code t[]={0x18,0x24,0x42,0x81};//这是编码表 void main() {int i=0;while(1)//死循环{for(i=0;i<4;i++)P1=t[i];//取码,我用的P1口,你要用其他的端口你就把取出来的码送给你要用的端口delay(5);}} void delay(z) { int a,i; for(a=0;a<z;a++) for(i=0;i<110;i++); }

    胡熊18957317818: 求51单片机C语言定时中断流水灯(先左移后右移,一直循环),不要延迟的,只能定时中断 -
    68302庄行 : 那就是用定时器啊,定时器计数器累加,到达一定时间就去对串口处理,就是对LED灯做处理

    胡熊18957317818: 51单片机我写的流水灯程序,效果是灯亮依次向左传递无限循环,想知道这段代码哪错了. -
    68302庄行 : 每次都是第二个灯亮,不流动?是因为你的temp没有保存移位后的值.这样改改: for(i=1;i<8;i++){temp<<=1;P0=temp;delay()}

    胡熊18957317818: 51单片机8位流水灯8种变化程序 -
    68302庄行 : 第一种:1个LED发光,循环右移. 第二种:2个LED发光,循环右移. 第三种:3个LED发光,循环右移. 第四种:4个LED发光,循环右移.再改成左移,就又有四种. 这就有八种了.一边移动,一边闪烁; 再改变一下速度;这能有多少种了?

    胡熊18957317818: 51单片机流水灯程序 -
    68302庄行 : 程序4102错1653误回 #include <reg51.h> #define uchar unsigned char; #define uint unsigned int; void delay(uint x) {uchar i;while(x--){for(i=0;i<120;i++);} } void main() {uchar a=0xfe;while(1){P0=0xfe;for(i=0;i<7;i++){P0=_crol_(P0,1);delay(150) ;}if(a==0xff)答 a=0xfe;}

    胡熊18957317818: 51单片机 流水灯 1.3.5.7.2.4.6.8循环亮 -
    68302庄行 : 你不都写出来怎么写了吗?哈哈 D1,2,3,4,5,6,7,8 =OFF; D1,8=ON; Delay(5S); D1,2,3,4,5,6,7,8 =OFF; D2,7=ON; Delay(5S) 以此类推

    胡熊18957317818: 51单片机流水灯右移?我只知道怎么样左移. -
    68302庄行 : c语言的话,左移用<<,右移用>> 循环移位可以调用函数.

    胡熊18957317818: 求教大婶们~51单片机单个按键控制流水灯C程序 -
    68302庄行 : 很简单啊,只提供一个简单思路, 所以只提供简单的程序,自己理解 char flag=0;viod main() { while(1) { if(key==0 ) //假设0 按下按键 { flag=~flag; } if(flag==0) { leds(); //流水灯函数 } } }

    胡熊18957317818: 51单片机用独立按键控制不同流水灯,那个流水灯的循环放哪里?我放流水灯里,不能正常工作?求大神指教 -
    68302庄行 : 重点是你要在 “那个流水灯的循环放” 里 放上检测按键的语句,没按键正常循环,有按键要根据按键的值 去做别的(例如转到另外一种流水灯的循环,或者是改变流水模式,具体咋样与你的程序编写方式有关)

    热搜:plc流水灯1到8依次亮 \\ 如何用c51做一个流水灯 \\ 单片机位移流水灯循环 \\ 八个流水灯循环点亮 \\ 怎么让流水灯左右循环 \\ 流水灯循环三次后停止 \\ 汇编流水灯1到8依次亮 \\ 51左移右移流水灯代码 \\ 基于51单片机花样流水灯 \\ 双灯右移流水点亮 \\ 八个流水灯两个亮 \\ 单片机流水灯1到8依次亮 \\ 8个花样流水灯51程序 \\ plc 8个流水灯梯形图 \\ c51流水灯程序8种 \\ c51八个流水灯程序 \\ 8个led流水灯依次点亮 \\ stm32控制8个流水灯 \\ 如何让流水灯连续两个点亮 \\ 流水灯循环三次后停止代码 \\

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网