8盏灯可进行多种花样组合,内容自行选定。设计的任务要求采用边沿JK触发器(74LS112)、D触发器(74LS74)和3-8线译码器(74LS138)构成一个广告流水灯电路。要求系统共有8个灯,其效果始终是7亮1暗,且这1暗灯循环下移或者

74LS273是个8D触发器。给你个参考,满意请采纳哈

74ls74 D触发器组成模7加法器,三位输出ABC=000,100,010111,将ABC接到74ls138三个输入端就可以完成所要求电路。

IC3由4位2进制计数器74LS93接成16进制计数器,其4个输出端可分别输出对计数脉冲的2、4、8、16分频信号。IC4是双D触发器74LS74,在这里接成两位2进制加法计数器。IC5是双4选l数据选择器74LSl53,这里只用了它的一组

给你个参考,74LS273是8位数据/地址锁存器,它是一种带清除功能的8D触发器。

怎样用D触发器设计一个八位流水灯,求大佬给个电路图

for (i=0;i<8;i++){ P1=w; //循环点亮LED w<<=1; //点亮灯的位置移动,最低位补0 w=w|0x01; //将最低位置1 delay(500); //延时 } } } 或:include "reg51.h"//程序中使用_crol_

1.51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include //51单片机头文件#include //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsig

要让8个流水灯来回滚动,且至少亮3个,可用单片机仿真实现,P1口接8个LED灯,负极接P1口引脚,则P1口引脚输出低电平点亮流水灯,只要3个相邻引脚输出低电平,就可以点亮3个灯。用移位函数_crol_和_cror_实现来回滚动点亮

假设P1接8 个LED,高电平时LED点亮,主程序如下:void main(void){ uchar i;while(1){ for(i=0;i<7;i++){ P1=1<>i;delay_ms(500);} } }

delay(50000);//大约延时450ms led8=0;delay(100000);//大约延时900ms leda=1;//全部灯亮 } }

delay();P3=0xbf;//第七个灯亮 delay();P3=0x7f;//第八个灯亮 delay();} }

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

单片机C语言如何实现8个LED流水灯来回流动?

可以用 _crol_(),记得要家#include

这里是花样7的程序”} if(j==8){ “这里是花样8的程序”} if(j>8) j==1; //按键8次后把J归1 } } void delay(uchar z) //延时 { uchar x,y;fou(x=z;x>0;x--)fou(y=110;y>0;y--);}

MOVR1,#7;MOVA,#3FH LOOP2:MOVP1,A CALLDELAY RRA DJNZR1,LOOP2 MOVP1,#00H CALLDELAY SJMP MAIN DELAY:MOVR4,#4 MOVR5,#200 MOVR6,#248 DJNZR6,DJNZR5,$-2 DJNZR4,$-4 RET END 注:LED共阳接法

led[7]};//*b 2'b01: led<={led[0], led[

利用单片机控制8个发光二极管,实现8个灯同时闪烁的控制程序 - 以51位例,使用P1的八个IO口控制.先定义:sbit LED0=P1^0; sbit LED1=P1^1;以此类推,定义八个.然后在主循环中:LED0=0;延时一段时间;LED0=

RL A MOV P1,A ;1秒一变的花样流水灯。T0E:RETI END

ACALL DELAY_05s;延时0.5s MOV P0,#0FDH;P0.1灯亮 ACALL DELAY_05s;延时0.5s MOV P0,#0FBH;P0.2灯亮 ACALL DELAY_05s;延时0.5s MOV P0,#0F7H;P0.3灯亮 ACALL DELAY_05s;延时0.5s MO

实现8个LED花样流水灯 要求《1》2种以上的花样形式,花样表演并须有一定的规律:

每隔50ms从左到右不断依次循环点 速度够快的。人眼,辨别不出来。看起来,就是同时亮,全亮。

EA=1;//打开总中断 TR0=1;//打开定时器 } void main(){ Timer0Init();while(1);} void timer0() interrupt 1 { uchar i;for(i=0;i<8;i++){ P2=tab[i];delay(1);} for(i=0;i<8;i++){ P2=

//sbit d1=P1^0;void main(){ TMOD=0x10; //选择定时器 t0的工作方式为1 EA=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET1=1;TR1=1;aa=0xfe;while(1){ if(tt==2){ tt=0;P1=aa;aa=_crol

利用定时器T1产生定时时钟,由P1口控制8个发光二极管使8个灯依次闪烁,闪烁频率10次/秒,循环 - 用定时/计数器t1定时50ms,晶振频率取12mhz,定时器初值为3cb0h,采用中断方式,用变量计数中断次数.p1口控制8个发光二极管

LED负极接单片机IO口,本程序接P1,低电平点亮 include //52系列单片机头文件 include define uint unsigned int //宏定义 define uchar unsigned char void delayms(uint); //声明子函

这就是典型的8个LED的流水灯,并用定时器来控制点亮的时间。可用定时器定时50ms,采用中断方式,对中断计数40次就是2s,每到2s移动点亮下一个LED灯。可先画出仿真图再写程序,如下所示仿真图。

设计一个8灯闪烁的控制电路,系统晶振为12MHZ,编程实现8灯轮流闪烁,每盏灯点亮时间为2s?

1. 假设 单片机输出低电平(0) LED 亮;2. 假设晶振为12M,则计数器 计数一次则为1uS;3. 假设你说的LED是一排(8个)都接在单片机P0口;4. 假设你说的是8个都同时亮,同时灭;5. 假设你说的是 亮 1S 然后

很简单,用rand函数和srand函数,这样将得到的值对8取余数,即rand%8,就可以点亮随机的灯了,至于其他如何点亮环节还有延时的你可以自己编写,想学单片机的人是必须学的,我也就不提示了,这只是个思路,要是全给你完整

CALL PRG2 ; 灭且静音 SJMP 0 ;--- PRG1:MOV P0, #0 ; 8个led灯亮 MOV R2, #200 LP1:CPL P1.0 ; 蜂鸣器响 DJNZ R6,DJNZ R7, $ - 2 DJNZ R2, LP1 MOV P0, #255 ; 8个led灯灭

请设计一个8个led同时全部闪烁的程序 include main (){int i;while (1){for (i=0;i<=30000;i++);P1=~P1;} }

方法:1:设定一个变量i,可以从0到3循环的变化 2:检测一个经过消抖处理的按键,按一下,i+1 3:当i值为各个值时,执行相应的花样。流水灯参考程序 include include define uchar unsigned char uchar j,temp;void de

单片机 8个LED灯随机闪烁怎么做?

//下面写你要处理的的其他程序,你只要了定时1s. } } } void a(void) interrupt 3 { unsigned char i; TH1=0x3c; TL1=0xb0; i++; } 51单片机定时器控制8个LED灯亮3秒灭8秒再亮12秒的程序 - 一、利

include#include //头文件中的循环移动函数void SoftDelay(unsigned int us);void main(void){unsigned char temp;temp=0x3f; //先点亮1,2 while(1) { P1=temp; SoftDelay(2

w<<=1; //点亮灯的位置移动,最低位补0 w=w|0x01; //将最低位置1 delay(500); //延时 } } } 或:include "reg51.h"//程序中使用_crol_函数,所以要包含头文件"intrins.h"include "intrins.h"

亮一个的初值为1,两个的为3三个的为7~~以此类推,然后循环左移或循环右移就可以了,

1:设置一个变量zhidaoi,它可以从0循环到3 2:检测一个已取消缓冲的键。按“+1”3:当I值为每个值时,执行相应的模式。水量灯参考程序 #include #include #定义uchar无符号字符 Ucharj,温度;无效延迟(无符号整型

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

怎么样才能让8个流水灯来回滚动,且至少亮3个

这个写程序 的时候就给6个I/O输出高电平或低电平就行了,这个很简单的,需要的话我可以给你写一段程序,也就几句话的事,先让6个I/O口输出高电平或低电平,这个要看你的是什么单片机,51单片机都是默认的是高电平是亮,然后延时一会再让它输出低电平就行了,就这样一直循环。
#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16;//对数据类型进行声明定义 typedef unsigned char u8; //LED灯命名 sbit leda=P0; sbit led1=P0^0; sbit led2=P0^1; sbit led3=P0^2; sbit led4=P0^3; sbit led5=P0^4; sbit led6=P0^5; sbit led7=P0^6; sbit led8=P0^7; void delay(u16 i) { while(i--); } void main() { while(1) { leda=1;//全部灯亮 //从左到右依次熄灭 led1=0; delay(50000);//大约延时450ms led2=0; delay(50000);//大约延时450ms led3=0; delay(50000);//大约延时450ms led4=0; delay(50000);//大约延时450ms led5=0; delay(50000);//大约延时450ms led6=0; delay(50000);//大约延时450ms led7=0; delay(50000);//大约延时450ms led8=0; delay(100000);//大约延时900ms //从右到左依次点亮 led8=1; delay(50000);//大约延时450ms led7=1; delay(50000);//大约延时450ms led6=1; delay(50000);//大约延时450ms led5=1; delay(50000);//大约延时450ms led4=1; delay(50000);//大约延时450ms led3=1; delay(50000);//大约延时450ms led2=1; delay(50000);//大约延时450ms led1=1; delay(50000);//大约延时450ms leda=1;//全部灯亮 } } 扩展资料:main()应用: 1、C++中的main函数 C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统, 但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。 虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。 C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。 2、Java中的main函数 Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。 首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。 其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。 第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。 第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因) Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行) public class MainDemo{ public static void main(String[]args){ //TODO:在此处写入主函数的内容 } } Java Applet的运行机制与Java Application完全不同,因此不需要main函数 3、C#中的main函数 C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main, 与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public) 另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。 C#应用程序中的main函数默认是这样的(注意main的首字母已是大写) C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。 class Program{ static void Main(string[]args){ //TODO:在此处写入主函数的内容 } }
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。 2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。 3、接着创建延迟函数,如下图所示,输入以下代码。 4、然后创建C语言主函数,如下图所示,输入以下代码。 5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。
LED负极接单片机IO口,本程序接P1,低电平点亮 #include //52系列单片机头文件 #include #define uint unsigned int //宏定义 #define uchar unsigned char void delayms(uint); //声明子函数 uchar aa; void main() //主函数 { aa=0xfe; //赋初值11111110 while(1) //大循环 { P1=aa; delayms(2000); //延时2秒 aa=_crol_(aa,1); //将aa循环左移1位后再赋给aa } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) //i=xms即延时约xms毫秒 for(j=110;j>0;j--); }
; ORG 0000H LJMP MAIN MAIN: MOV TMOD, #01H MOV TH0, #(65536 - 62500) / 256 MOV TL0, #(65536 - 62500) MOD 256 SETB TR0 M_LOOP: MOV A, #127 MOV R3, #0 OUT: MOV P1, A INC R3 CJNE R3, #60, NEXT ;不到60, 就去流水 CPL F0 ;到了, 就改变方向 SJMP M_LOOP ;从头开始 ;---------------------------------- NEXT: MOV R2, #16 WAIT: JNB TF0, $ MOV TH0, #(65536 - 62500) / 256 MOV TL0, #(65536 - 62500) MOD 256 CLR TF0 DJNZ R2, WAIT ;不到一秒就转移 JB F0, LLL ;选择左右方向 RR A SJMP OUT LLL: RL A SJMP OUT END 上述程序已经得到验证。
1,LED灯箱采用超薄设计,比传统灯箱节能70%以上。国际领先的照明工艺技术,使光照更集中,更高效节能; 2,LED光源,一千小时仅耗几度电(普通60W白炽灯十七小时耗1度电,普通10W节能灯一百小时耗1度电)。
可以用 _crol_(),记得要家#include
走马灯的程序到处是吧。给你贴一个杜洋的流水灯,自己参考着改。 /********************************************************************************************* 程序名:    8路流水灯 编写人:    杜洋  编写时间:  2009年5月13日 硬件支持:  STC12C2052 内部RC或外部12MHZ晶振 接口说明:  8个LED彩灯接P1口 修改日志:     NO.1-2009年5月14日 在程序前面加入参数定义项  /********************************************************************************************* 说明: 根据参数设置产生流水LED效果。 /*********************************************************************************************/ #include //51头文件 /*********************************************************************************************/ #define DY_PORT P1 //设置LED连接的I/O组 #define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535) /********************************************************************************************* bit [自定义名] ; //定义一个位(位的值只能是0或1)例:bit LED #define [代替名] [原名] //用代替名代替原名(可以方便修改常改或调试的值)例:#define LED P1 sbit [自定义名] = [系统位名] ; //自定义系统位名。例:sbit Add_Key = P3 ^ 1; unsigned char [自定义名] ; //定义一个0~255的整数变量.例:unsigned char a; unsigned int [自定义名] ; //定义一个0~65535的整数变量 /*********************************************************************************************/ void delay (unsigned int a){ // 1ms延时程序 unsigned int i; while( --a != 0){ for(i = 0; i < 600; i++);//STC单片机在外部晶振为12MHz时i值上限为600 } //AT89C51单片机在外部晶振为12MHz时i值上限为125 } /*********************************************************************************************/ void main(void){ unsigned int i; unsigned int temp; while(1){ temp=0x01; for(i=0;i<8;i++){ //8个流水灯逐个闪动 DY_PORT=~temp; delay(DY_SPEED); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++){ //8个流水灯反向逐个闪动 DY_PORT=~temp; delay(DY_SPEED); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++){ //8个流水灯依次全部点亮 DY_PORT=temp; delay(DY_SPEED); //调用延时函数 temp<<=1; } temp=0x7F; for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮 DY_PORT=temp; delay(DY_SPEED); //调用延时函数 temp>>=1; } } } /*********************************************************************************************/
#include "reg51.h" main() { unsigned int i,j; while(1) { P1=0xfe; //点亮第一个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xfd; //点亮第二个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xfb; //点亮第三个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xf7; //点亮第四个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xef; //点亮第五个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xdf; //点亮第六个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0xbf; //点亮第七个LED for(i=200;i>0;i--) for(j=500;j>0;j--); P1=0x7f; //点亮第八个LED for(i=200;i>0;i--) for(j=500;j>0;j--); } } 或: #include "reg51.h" void delay(unsigned int t) { unsigned inti,j; for(i=t;i>0;i--) for(j=110;j>0;j--); } main() { unsigned char w,i; while(1) { w=0xfe; for (i=0;i<8;i++) { P1=w; //循环点亮LED w<<=1; //点亮灯的位置移动,最低位补0 w=w|0x01; //将最低位置1 delay(500); //延时 } } } 或: #include "reg51.h" //程序中使用_crol_函数,所以要包含头文件"intrins.h" #include "intrins.h" void delay(unsigned int t) { unsigned int i,j; for(i=t;i>0;i--) for(j=110;j>0;j--); } main() { unsigned char temp; temp=0xfe; while(1) { P1=temp; delay(500); //延时 temp=_crol_(temp,1); //点亮LED的位置循环左移一位 } }
74LS273是个8D触发器。 给你个参考,满意请采纳哈
74ls74 D触发器组成模7加法器,三位输出ABC=000,100,010......111,将ABC接到74ls138三个输入端就可以完成所要求电路。