51单片机流水灯循环2次
求!! 如何用C51单片机中断系统实现循环五遍流水灯以后再循环10次闪烁...
这个程序很简单的,只要掌握了循环表达方式就可以实现。首先,编写流水灯的循环函数,其次使用for语句进行循环。完成后可以修改画质后同样方法实现闪烁。
单片机流水灯从上往下循环一次再从下往上循环一次再关闭。运行一次后再...
本来加while(1)是为了防止程序自动执行时出错,并不是你不加while 它就不会循环,单片机在你以上电之后就开始工作,不会停止。所以重复执行,你可以在末尾加 while(1); 程序就会一直执行这条语句,达到你所说的效果。
在做51单片机流水灯时候,程序卡在一部分,成死循环
估计是你的延时子程序用了全局变量a和b ,与主程序冲突 应该在子程序里再声明两个局部变量就可以了
c51单片机循环显示如下:(倒计时30s后流水灯右依次点亮)点亮一次再30...
单片机流水灯的程序很简单,常用延时子程序来实现。现在改为用定时器实现定时,完成30秒倒计时。在主程序中先初始化定时器,启动定时后计中断次数,再计秒。以下面仿真图为例。下面是主程序 把红框内的延时改为秒计数就行了。
51单片机怎么让一个流水灯闪三次啊?
你是想闪了3次以后就停止了吗?把while(1)改成while(1);\/\/加一个分号,并移到for循环下面的大括号的下面。这样的
单片机实验流水灯
; 要求按1号键八个灯循环亮,跟流水灯样的,; 按下2号键灯先从左亮到右,然后从右亮到左,这样一次循环,; 按下3号键,先两端两个灯亮,两端灭,然后次两端的亮,直到中间两个亮,; 然后高低四位交替亮一次,再奇偶亮一次,一次循环;; 按下4号键就各位棒棒忙想出一个方案。; 头疼啊,...
求一c51单片机,8位流水灯程序
下列程序调试成功。使用晶振为12M。\/\/软件延时,使P1口外接的8个发光二极管,以每秒1位的速度,轮流发光。\/\/发光顺序:0123,1234,2345,3456,4567,5670,6701,7012。循环。\/\/--- include<reg52.h> include<intrins.h> unsigned char a;void main(){ unsigned char i, j, k;a = 0x0f...
怎么用单片机按键控制循环跑马灯???
我刚好写过一个这样的程序,参考一下吧,希望对你有帮助 \/*硬件电路连接:流水灯接在P0口, 阳极接高电平,阴极接P0口,4个按键分别接P3.4,P3.5, P3.6,P3.7 ,按下时是低电平 *\/ include <regx51.h> sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;int a[...
关于单片机流水灯的问题,求高手求解
首先我不明白你的i是什么参数,i<0;i<8,这个循环是什么逻辑含义?然后,你的程序是想实现流水灯先循环左移吗?如果是的话,在开始,P1已经设置成0xfe了,也就是最低位的灯是亮着的,设想一下,要是没有P1|0X01,那么,在第一次左移之后,P1=1111 1100 ,因为P1<<=1之后最低位变成0,而...
单片机流水灯的汇编程序看不懂~~~
ORG 0030H ;主程序开始地址 MAIN: MOV SP,#2FH ;堆栈初始地址设定为0x2F MOV A,#0FEH ;对A 赋值 LOOP:MOV P2,A ;P2口输出寄存器A中数据 LCALL DELAY ;延时 LCALL DELAY LCALL DELAY RR A ;循环右移一位 RR A ;循环右移一位 LJMP LOOP ;跳转到loop, 实现...
察布查尔锡伯自治县星元回答: #include#include #define uchar unsigned char uchar led=0xfe; void delay(uchar a) { uchar i; while(a--)for(i=0;i<120;i++); } main() { while(1) { P1=led; delay(200); P1=0xff; delay(200); P1=led; delay(200); P1=0xff; led=_crol_(led,1); } }
柴义15139545467问: 单片机编程,按下S1,流水灯一只灯亮,从D1到D8,循环两次. - ?
察布查尔锡伯自治县星元回答: #include "reg52.h" sbit S1=P1^0; /**延时1ms函数**/ void delay_ms(unsigned int x) {unsigned int m,n;for(m=x;m>0;m--)for(n=115;n>0;n--); }void main(void) {unsigned char i,j;while(1){if(S1==0){delay_ms(5);if(S1==0){while(!S1);...
柴义15139545467问: 求51单片机驱动32盏LED流水灯(单向流水,全部亮时闪烁两次,双向流水,全部亮时闪烁两次)的C程序!谢谢 - ?
察布查尔锡伯自治县星元回答: 这个比较简单吧uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delay();//自己写吧 延迟一秒 void led_blink();//~~~~~~~~~~~~ void single_stream();//单向流水函数声明 void double_stream();//~~~~~~~~void led_...
柴义15139545467问: 51单片机 流水灯 1.3.5.7.2.4.6.8循环亮 - ?
察布查尔锡伯自治县星元回答: 你不都写出来怎么写了吗?哈哈 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) 以此类推
柴义15139545467问: 51单片机程序:按键控制流水灯 - ?
察布查尔锡伯自治县星元回答: 低电平点亮START:MOV R0,#8 MOV R1,#8 SETB C MOV A,#0FEH MOV P1,A S1:RLC A CALL DELAY MOV P1,A DJNZ R0,S1 SETB C MOV A,#0FEH MOV P2,A S2:RLC A CALL DELAY MOV P2,A DJNZ R1,S2 AJMP START DELAY:MOV R5,#0FFH //改变值变延时时间 LOOP2: MOV R4,#0FFH//改变值变延时时间 LOOP1:DJNZ R4,LOOP1DJNZ R5,LOOP2RET END
柴义15139545467问: 51单片机中 什么i变量能定义两次?我给你看个例子 led流水灯 - ?
察布查尔锡伯自治县星元回答: 这两次所用的变量 i 都是局部变量,一个是在延时函数void delay(u16 i)中作形参,当这个延时函数调用完了,这个变量就取消了.而第二次用是在主程序中,也是局部变量,只在主程序中起作用,对其它无影响. 如果这个变量 i 是在主程序和子函数以外定义的,就是全局变量了,那两次使用会互相影响了.
柴义15139545467问: 51单片机8位流水灯8种变化程序 - ?
察布查尔锡伯自治县星元回答: 第一种:1个LED发光,循环右移. 第二种:2个LED发光,循环右移. 第三种:3个LED发光,循环右移. 第四种:4个LED发光,循环右移.再改成左移,就又有四种. 这就有八种了.一边移动,一边闪烁; 再改变一下速度;这能有多少种了?
柴义15139545467问: 51单片机怎么让一个流水灯闪三次啊? - ?
察布查尔锡伯自治县星元回答: 你是想闪了3次以后就停止了吗? 把while(1)改成while(1);//加一个分号,并移到for循环下面的大括号的下面. 这样的
柴义15139545467问: 51单片机,控制流水灯的两种状态程序 - ?
察布查尔锡伯自治县星元回答: #include<reg51.h> #include<intrins.h> #define uchar unsigned char sbit key=P2^0; bit flag=0; uchar cnt; void t1isr() interrupt 3 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; cnt++; if(cnt>=5){cnt=0;if(flag)P1=_crol_(P1,1);else P1=_cror_...
柴义15139545467问: 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(...