关于单片机流水灯左移右移的问题?
51单片机的左移右移,首先在开始要调用"intrins.h"的文件包,这个文件包含_cror_(右移),_crol_(左移);然后通过for语句来控制;for(m=20;m>0;m--)for(n=20;n>0;n--)for(k=250;k>0;k--);理解这三句,第一句是指:m=20;m>0然后m--是真就执行:for(n=20;n>0;n--)for(k=...
51单片机C程序实验LED灯:[2]左到右的流水灯
程序清单 说明:本例有两种程序写法 第一种是入门级别比较基础的写法 先是依旧延时子程序,然后主程序利用直接赋值,与“”循环 第二种是稍微高级一些的写法,调用了其他头文件 主要是利用了一个intrins.h文件下的右循环语句”P0=_cror_(P0,1); “另也有左循环_crol_(),括号里面是要循环移位的值。
请问金沙滩51单片机中,先是左移到头,然后再右移到头的花样流水灯程序该...
\/*单片机,用定时中断实现每隔0.2秒让接在P1口的8个小灯从左往右循环点亮。*\/ #include #include #define uchar unsigned char uchar a,b; uchar b=1; uchar a=0xfe; void main() { EA=1;IT1=1;ET0=1; TH0=-5000\/256; TL0=-5000%256; TMOD=0x01;...(火星人)2086 ...
如何实现51单片机的按键k1按下,LED流水灯向右移动,按键k2被按下,LED...
对控制LED口的寄存器进行位操作,按k1左移,按K2就是右移了。51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。51单片机的特点:同样的一段程序,在各个单片机...
51单片机的c语言 左移右移怎么用?想用来控制流水灯,请帮忙写个完整的c...
\/\/ 延时0.2s j= j<<1; \/\/ 左移1位 } j=0x80; \/\/ 设置右移初始值j为0x80 for (i=0;i<8;i++){ P1= ~ j;delay02s( );j= j>>1; \/\/ 右移1位 } } }
很简的51单片机C语言流水灯程序
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z...
一个用C语言做51单片机做流水灯控制向左移动一位,右边补0的一段程序...
\/\/右边补0,直接移位就可以temp<,=1; 如果流水灯只有一个亮,下面的程序就是对的,移位之后补1.include "reg51.h"void delay(unsigned char m);main(){ unsigned char temp;temp=0xfe; \/\/temp=1111 1110,使得P1口的某个引脚为低电平(亮)while(1){ P1=temp; \/\/P1口的数据来自...
单片机中流水灯如何控制
主要靠软件控制,简单的可以使用左移或右移指令,将低电平0 逐渐移入寄存器中,即控制LED指示灯逐渐一个一个地点亮或一个一个地熄灭。复杂点: 可以进行花式流水控制。例如: 可以由两边逐渐向内点亮 然后再由内逐渐向外一个一个熄灭。还可以由由内逐渐向两边内点亮 然后再由两边渐向内逐一个一...
用51单片机写了一个流水灯程序,有一点问题,请高手解惑
决定了流水灯左移7次,再右移7次,结束两个循环后,才能执行下面的while(!key),按键才有效,而在循环过程中,不执行while(!key),所以按键无效。下图画红框内的两个循环。要想按键随时有效,应该把两个移位函数_cror_,_crol_ 放在主程中,检测key也放在主程中,而不能这样放一个子程序中。
51单片机用定时器实现流水灯左右移动?
bit flag;void main(){ TMOD = 0x10;TH1 = 0x3c;TL1 = 0xb0;TR1=1;ET1=1;EA=1;P0 = a;while(1);} void tm()interrupt 3 { TH1 = 0x3c;TL1 = 0xb0;n++; n %= 10;if(n == 0) { if(flag) a = _cror_(a, 1);else a = _crol_(a, 1);k++; k %=...