流水灯左右循环程序
答:……void main(){ //……初始化 while(1) { if(num >= 20) { num = 0;a++;if (a <= 7) b = _crol_(b, 1);else if (a < 14) b = _cror_(b, 1);else a = 0;P1 = b;} } } 试试看。
答:include<reg51.h>#include<intrins.h> //头文件中的循环移动函数void SoftDelay(unsigned int us);void main(void){unsigned char temp;temp=0x3f; //先点亮1,2 while(1) { P1=temp; SoftDelay(2000); P1=_crol_(temp,1); //循环右移 } }void SoftDelay(...
答:include<reg51.h> include<intrins.h> void delay(int a){ while(a--);} main(){ unsigned char led=0xfe;while(1){ P0=led;led=_crol_(led,1);delay(30000);P0=0xff;delay(30000);} }
答:用定时器实现流水灯,跳动频率为1秒。用定时器定时50ms,采用中断方式,对定时中断计数,计数20次就是1秒。如下仿真图,P1口接8个LED灯。
答:include"reg51.h"unsigned char a[10]={0xff,0xFE,0xFC,0xF8,0xF0,0xE0, 0xC0,0x80,0x00,0xff};unsigned char tick_flag;unsigned char delay_cnt;unsigned char num;void UserInital(){ delay_cnt=0;num=0;TMOD |= 0x01;//T0模式选择:模式1 TH0 = 0xec; //定时5MS(12mhz...
答:以此类推,直到最后一个LED灯亮起为止。最后,我们需要在程序中定义delay函数,以便实现LED灯的亮灭延迟。这个函数可以通过使用while循环来实现,需要注意的是,在实际应用中,需要根据不同的单片机型号和硬件环境来进行相应的调整和修改。单片机流水灯的定义 单片机流水灯是一种常见的电子装置,通过单片机控制...
答:Y0-Y7是分别控制1-8号指示灯 程序如图
答: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...
答:说一下思路吧。主程序做一个标志位A(初始赋值0),一个判断语句(if之类的)判断此标志位A,A为0时,流水灯右移,否则,流水灯左移。中断程序里,让A自加1,然后判断,等于2时,将A赋值为0,其他情况不变。希望能帮到你。
答:include<reg52.h> void delay(void) //误差 0us { unsigned char a,b,c;for(c=23;c>0;c--)for(b=152;b>0;b--)for(a=70;a>0;a--);} void main(){ unsigned char cnt=0;while(1){ P1=~(0x01<<cnt);delay();cnt++;if(cnt>7){ cnt=0;} } } ...
网友评论:
左定15096053936:
求一个用c语言编译的流水灯程序,要求灯从中间向两边亮 -
15035令制
: #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++); }
左定15096053936:
求修改流水灯程序,要求左右来回循环 -
15035令制
: ;ORG 0000HLJMP STARTORG 0030H START:MOV A, #0FEHMOV R2, #8 OUTPUT:MOV P1, ARL A ;这是左移ACALL DELAYDJNZ R2, OUTPUT ;---------------------------加上下面这一段即可MOV R2, #8 OUT:MOV P1, ARR A ;...
左定15096053936:
关于流水灯左移和右移的程序问题 -
15035令制
: LED灯右移到最右边后向左移时是这样的:右移一位→第二个延时程序→第一个延时程序→右移右移一位→第二个延时程序→第一个延时程序,这样不断循环,循环到最左边,就开始了右移的程序. 这样左移的延迟大一点的!
左定15096053936:
用C语言如何实现左右来回的流水灯 -
15035令制
: #include<avr/io.h> #include<util/delay.h> #define INT8U unsigned char int main() { INT8U b=0,direction=0; DDRA=0xFF; while(1) { if(direction==0) PORTA=0x01<<b; else PORTA=0x80>>b; if(++b==8) { b=0; direction=!direction; } _delay_ms(60); } }
左定15096053936:
流水灯程序! -
15035令制
: #include#include //包含有左右循环移位子函数的库 #define uint unsigned int #define uchar unsigned char void delay(uint z) //延时函数,z的取值为这个函数的延时ms数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() //主函数 { uchar a,i,j...
左定15096053936:
如何编写单片机上流水灯来回流的程序 -
15035令制
: /*-----------------------------------------------名称:流水灯内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果 ------------------------------------------------*/ #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义...
左定15096053936:
关于花样流水灯单片机程序. -
15035令制
: #include<reg51.h> unsigned char a=0x80; void delay(unsigned int t) {unsigned int i,j; for(i=t;i>0;i--) for(j=110;j>0;j--);} void main() {while(1){P2=_crol_(a,1); if(P3.3==0) {delay(10); if(P3.3==0) {while(!P3.3) {P2=0xaa;delay(200);P2=0x...
左定15096053936:
设计8个流水灯灯从中间依次向两边闪烁的C语言程序,不胜感激 -
15035令制
: 假设你的数码管是共阴极的 11100111 11011011 10111101 01111110 1、传递这个给它就从中间往两边走了 2、循环上面的就能不停地流水
左定15096053936:
谁能帮我写一个循环流水灯的c语言编程 -
15035令制
: #include<reg51.h> //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main() { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水...
左定15096053936:
流水灯循环点亮的程序 -
15035令制
: #includevoid delay(void) //误差 0us { unsigned char a,b,c; for(c=23;c>0;c--) for(b=152;b>0;b--) for(a=70;a>0;a--); } void main() { unsigned char cnt=0; while(1) { P1=~(0x01< delay(); cnt++; if(cnt>7) { cnt=0; } } }