在做51单片机流水灯时候,程序卡在一部分,成死循环

作者&投稿:柞承 (若有异议请与网页底部的电邮联系)
51单片机流水灯程序~

来自理科生的浪漫,用51单片机制作心形流水灯

51单片机比较简单,自己可以在空板子上焊一个最小子系统,然后再加一个流水灯模块就行了,这些线路比较简单,可以自己动手焊。如果说画PCB板,然后开板子的话比较贵,不足以平米按一平米计,一平米大概三四百块,不过如果你要大批量生产的话,可以开板子。还有就是尽量吧最小子系统和流水灯模块焊在两块小板子上,然后拿排线相连,做到功能模块化。

估计是你的延时子程序用了全局变量a和b ,与主程序冲突
应该在子程序里再声明两个局部变量就可以了

你这个变量这么定义不行啊,都主函数,延时函数都用同一个变量?这你都不知道会发生什么情况


单片机流水灯代码
单片机流水灯代码:#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...

利用Proteus和keil仿真51单片机流水灯
这里我们利用Proteus绘制单片机流水灯的电路图,keil c51编写流水灯的程序。仿真既可以帮助我们学习,也可以检验电路是否合理。防止电路已经焊接完成,但设计不合理的情况。我们打开Proteus软件,点击左边菜单栏的P按钮 然后再搜索框里输入80c51,选择第一个就是80c51单片机 同理,我们在搜索框里面输入led 找到O...

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
void delay(uint); \/\/声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个流水灯反向逐个闪动 { P1=~temp;delay(100);...

51单片机八个灯的流水灯代码
51单片机八个灯的流水灯代码:1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。2、#include "reg51.h"首先写出单片机的头函数。3、#include "intrins.h"输入位移函数。4、unsigned int count=0,led;定义函数。5、输入主函数,定义单片机的端口,写入延时函数。编辑推荐 对于刚接触...

51单片机中如何用汇编语言编写流水灯
流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下: ORG 0000H;复位启动AJMP START;ORG 001BH;T1中断AJMP T1INT; ;定义变量===YSJSEQU 30H;延时计数器LEDEQU 31H;LED控制缓冲器 ;主程序===START:MOV LED,#0FEH;初始化数据MOV YSJS,#0;MOV TMOD,#10H;定时器1工作...

单片机51按下按键key1流水灯从上到下亮3次代码怎么写
可以采用以下步骤:1、要定义按键输入口和流水灯输出口。使用单片机51的P1和P2口,分别定义按键输入口和流水灯输出口。2、要初始化按键输入口为低电平。当按键没有被按下时,按键输入口就处于低电平状态。3、在主函数中,使用一个无限循环,不断检查按键输入口是否被按下。按下按键,则点亮第一个灯...

51单片机按键控制流水灯程序怎样写?
掌握51单片机按键控制流水灯的编程艺术,如同点亮科技世界的魔法灯塔,只需几步就能实现。在浩瀚的知识海洋中,按键输入与流水灯的结合是入门者最常探索的课题。只需借助搜索引擎的力量,如百度,输入关键词,丰富的教程和实例便会映入眼帘。以中断方式为例,按键的触发就像一场无声的指挥,它在程序的深处...

51单片机流水灯用C语言编写的设计程序???
include<intrins.h> define uchar unsigned char define uint unsigned int void delay(uint z);main(){ uchar aa;while(1){ aa=0xfe;P1=aa;delay(100);while(1){ aa=_crol_(aa,1);P1=aa;delay(100);} } } void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0...

单片机原理流水灯实验报告
单片机原理流水灯实验报告: 一、实验目的:进一步熟习keil仿真软件、proteus仿真软件的使用。认识并熟习单片机I\/O口和LED灯的电路构造,学会建立简单的流水灯电路。掌握C51中单片机I\/O口的编程方法和使用I\/O口进行输入输出的注意事项。二、实验原理:MCS-51系列单片机有四组8位并行I\/O口,记作P0、P1、P2...

用51单片机写了一个流水灯程序,有一点问题,请高手解惑
单片机的流水灯程序,因为程序就这么写的,决定了流水灯左移7次,再右移7次,结束两个循环后,才能执行下面的while(!key),按键才有效,而在循环过程中,不执行while(!key),所以按键无效。下图画红框内的两个循环。要想按键随时有效,应该把两个移位函数_cror_,_crol_ 放在主程中,检测key也放在...

平顶山市18881428660: 51单片机把流水灯程序写在中断里为什么不能流了?哪里错了? -
薄魏复方: void main() { init(); while(1); //少了这条 }

平顶山市18881428660: 请问单片机 程序出错 流水灯不动了? 已经知道是while循环出错 要怎么改? sbit LS1 -
薄魏复方: void main() { uint i; temp=0xfe; P2=temp; while(1) { for( i = 0; itemp=_crol_(temp,1);//再流水一次 P2=temp; // lsd(); } }

平顶山市18881428660: 51单片机中断要怎么样才能实现控制流水灯等,为什么我把程序写在while(1)里就是不执行 -
薄魏复方: 流水灯的动态效果是要用定时(至少几百毫秒)来打开和关闭LED来实现的,如果放在循环里,就要用延时函数,如 while(1) { P1=0XFF;P10=0;delay(500); P1=0XFF;P11=0;delay(500); P1=0XFF;P12=0;delay(500); ...... P1=0XFF;P17=0;delay(500); }

平顶山市18881428660: 51单片机心形流水灯为什么不会按照程序亮 -
薄魏复方: 直接轮流输出0x80 0x20 0x08 0x02即可 假设LED接P1口 高电平灯亮 程序语句如下: P1=0x02; delayms(200); P1=0x08; delayms(200); P1=0x20; delayms(200); P1=0x80; delayms(200);

平顶山市18881428660: 51单片机的流水灯程序.求修改(有错误) -
薄魏复方: 你的程序不是很合理,定时器的值错误,定时器,中断都配置了,但是没用到,可能对这些还不是很了解,给你个程序,是流水灯的,很短,自己去研究下,不明白的地方去查资料,不知道怎么查的话联系我也可以,祝成功. #include "reg52....

平顶山市18881428660: 这个51单片机流水灯代码有什么问题,他一直都是常亮,都没有闪烁过 -
薄魏复方: //51单片机流水灯代码,可以参考这个,试试 #include #define uchar unsigned char #define uint unsigned int unsigned char TAB[]= {0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e}; // 改变这里 LED 各种花...

平顶山市18881428660: 51单片机c语言编写一个流水灯程序,要求如下(不能用数组,8个led指示灯从两边往中间移动,然后再分开) -
薄魏复方: 简单点的,用表格,事先计算好,放到ROM中,用的时候逐行编译输出就可以. 复杂点的,开一个缓冲区,用循环程序,根据花样的不同,每次填充一行,并输出,然后再计算一下行.除非表格太大,不建议这样用. #define len 8 char tablelist[][len] = { "", "", "", "", "", } outline( char * s ) { int i; for(i=0; i{ if ( s[i] == '0' ) { // 对应的灯亮 } else { // 对应的灯灭 } } } main() { for(;;) { outline( tablelist[i]); delay(..); } }

平顶山市18881428660: C51单片机花样流水灯问题 -
薄魏复方: 单片机主程序中需要死循环,不然程序顺序执行完就停止了.所以这程序不是不停止,而是停止了.主程序应修改 void main() {uchar temp;temp = 0xfe;while(1){P2 = temp;delay(1000);temp = _crol_(temp, 1); } }

平顶山市18881428660: 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_...

平顶山市18881428660: 52RC单片机流水灯程序烧写不进是咋了..STC显示.停止下载,重新选择 RS - 232 串口, 接好电缆 -
薄魏复方: 其实已经提示你了呀,可能的问题是:串口可能坏了,选别的串口 单片机可能坏了.USB-232的线可能存在不兼容 等等.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网