51单片机怎么用汇编实现流水灯循环点亮,要求亮1秒熄灭,等待一秒后下一个才点亮

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-24
怎么用51单片机实现前4个灯为流水灯,再全灭1秒,如此循环

啥具体型号的51?用汇编还是c?用个延时子程序或者函数,然后用赋值指令,没几行。

嘿嘿 这个俺可以帮你解答
1 利用定时计数器0 工作在方式2 定时50毫秒 结合软件计数器(初始值选20)
允许定时计数器中断
2 设计一个定时器0的中断服务程序 每50毫秒 就中断 在中断程序中软件计数器减1
当减到0时,表示1秒时间到 (重新送初始值20)
判断拨动开关状态 如果为低低电平 则选择控制LED的端口内容左移一位
如果为高低电平 则选择控制LED的端口内容右移一位
即可实现对流水灯的方向控制。

呵呵 满意 就选满意回答哦

嘿嘿 俺可以帮你噢
1 给你一个算法:
可以利用定时计数器0 定时50毫秒 允许中断 再设置一个软件计数器(初始值为20)
每当定时器定时时间到即50毫秒 计入中断服务程序后 软件计数器减1
等于0时 表示1秒钟到( 要重新给软件计数器送初值) 同时根据用户标志FAL1=1 则
显示内容左移 同时显示 并将用户标志FAL1取反
否则 显示全灭 并将用户标志FAL1取反。具体指导,可以参见右上角的百度私信。

呵呵 满意就选满意回答

  • 51单片机流水灯程序
    答:程序如下:include <reg52.h> sbit led1 = P2^0;sbit led2 = P2^1;sbit led3 = P2^2;sbit led4 = P2^3;sbit led5 = P2^4;sbit led6 = P2^5;sbit led7 = P2^6;sbit led8 = P2^7;void main(){ int i,j;//点亮第一个灯 led1 = 1;led2 = 0;led3 = 0;led4 = ...
  • 怎么用汇编编写一个程序控制51系列单片机流水灯的循环次数?
    答:流水灯还要什么电路图?阴极随便接2 个IO口,阳极串一小电阻(320~510)到+5V 。ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#8 MOV A,#0FEH DISP: MOV P0,A ACALL DLY200 RL A DJNZ R0,DISP MOV R0,#8 MOV P0,#0FFH DISP1: MOV P1,A ACALL DLY200 RL A DJNZ R0,DISP1 M...
  • 求一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...
  • 51单片机怎么用汇编实现流水灯循环点亮,要求亮1秒熄灭,等待一秒后下...
    答:嘿嘿 俺可以帮你噢 1 给你一个算法:可以利用定时计数器0 定时50毫秒 允许中断 再设置一个软件计数器(初始值为20)每当定时器定时时间到即50毫秒 计入中断服务程序后 软件计数器减1 等于0时 表示1秒钟到( 要重新给软件计数器送初值) 同时根据用户标志FAL1=1 则 显...
  • 用MCS-51单片机设计从左到右,再从右到左的流水灯设计,这样循环5次,然后...
    答:include<reg52.h> include<intrins.h> void delay(unsigned char i){ unsigned char m,n;for(m=i;m>0;m--)for(n=125;n>0;n--);} void main(){ unsigned char k,i;while(1){ P1=0xfe;for(i=5;i>0;i--){ for(k=0;k<8;k++){ delay(2000);P1=_crol_(P1,1);} P1=...
  • 单片机流水灯程序 汇编
    答:51单片机?下列程序,经过了编译、仿真,可以满足要求。;--- ORG 0000H MOV R2, #0 M_LOOP:MOV A, R2 INC R2 ANL A, #07H MOV C, P1.0 MOV ACC.3, C MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A CALL DL5KT SJMP M_LOOP TAB:DB 0xFF, 0xE7, 0xC...
  • 51单片机流水灯依次点亮循环两次怎么实现?只循环两次!
    答:include<reg52.h> // 这是下图的程序,可以仿真 试试 define uchar unsigned char define uint unsigned int uchar i,t;uchar code table[]={0xf6,0xed,0xdb,0xf6,0xed,0xdb}; // 发光二极管循环点亮可以有很多方法 uchar code tabled[]={0xaa,0x55,0xaa,0x55,0xfe,0xfd,0xfb,...
  • 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
    答:单片机流水灯C语言程序的源代码如下:include //51系列单片机定义文件 define uchar unsigned char //定义无符号字符 define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) //8个流水灯...
  • 单片机89C51用汇编制作跑马灯P1控制8个LED(D1~D8)灯实现流水灯的...
    答:很酷的流水灯 include <reg51.h> typedef unsigned char uchar;define Ton 40 define LED P0 sbit leds=P1^4;sbit LED0 = P0^0;sbit LED1 = P0^1;sbit LED2 = P0^2;sbit LED3 = P0^3;sbit LED4 = P0^4;sbit LED5 = P0^5;sbit LED6 = P0^6;sbit LED7 = P0^7;unsigned ...
  • 如何用单片机实现流水灯,从一依次亮到八,再从八依次亮?
    答:单片机流水灯C语言程序的源代码如下:include //51系列单片机定义文件。define uchar unsigned char //定义无符号字符。define uint unsigned int //定义无符号整数。void delay(uint); //声明延时函数。硬件特征 1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分...