// 51单片机控制八个发光二极管 左右循环。include define uchar unsigned char define uint unsigned int unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf

主程序应该有两个延时,而且还要有主循环语句,否则只执行一遍。void main(){ while(1){ P1=0xff;delay(500);P1=0x00;delay(500);} } 这个效果是8个灯,同时亮,同时灭的。

LED_IO8= 0;delay();} //开始灯全灭 void LED_dengmie(void){ LED_IO1 = 1;LED_IO2 = 1;LED_IO3 = 1;LED_IO4 = 1;LED_IO5 = 1;LED_IO6= 1;LED_IO7= 1;LED_IO8= 1;} main(){ LED_deng

include#define uchar unsigned charvoid delay(uchar a){uchar i;while(a--)for(i=0;i<120;i++);}main(){while(1) { P0=0x00; delay(200); P0=0xff; delay(200); }}

给你最简单的,看得清楚易懂的,P1口接8位LED,有多种闪烁方式。P2(扫描端在P2口,P3为位选端,注意看代码)口接上两位数码管的话还可以显示00-99的数字:ZHUCX: MOV A,#11111110B MOV P1,A ACALL YANSHI MOV

如何编写一段程序,单片机是51系列的,要求编写8个LED灯有三种以上的闪烁方式,灯闪烁时间0.5S

开关,接在 P2.7 与地之间。include //预处理命令 void w(unsigned char k){ unsigned int a; //定义变量a 为int 类型 if (k) { while(P2_7); //没有按就循环,等待按下 for

MAIN:MOV P1,#01111111B ;P1口低电平 对应灯亮 点亮P1.7对应的LED LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#10111111B LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况

是这样大哥,通电片p0,p1,口流水从左到右自动循环点亮,当按下一次p27独立一个按键,高电平变低电平,led从右到左依次逐个熄灭,按下熄灭一个,然后全灭,停10秒自动从启动循环点亮。要求汇编程序,中断,计数,延时,

根据你的要求,我理解为,单片机控制8位逻辑输入采集与8位LED输出指示,那么做模型的时候,用8路开关量输入,8个LED灯做输出,系统启动的时候闪烁3次,间隔2秒,然后开始采集输入信号,在对应的输出端用LED显示出来!原理图

LED EQU 30H ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV LED,#0FEH MOV R2,#1 LOOP:MOV A,LED MOV P1,A LCALL DELAY PUSH 02H SHAN:MOV P1,#0FFH LCALL DELAY MOV P1,A LCALL DELAY DJNZ R2,SHAN POP 02H I

ACALL YANSHI MOV A,#00000000B MOV P1,A ACALL YANSHI MOV A,#10000000B MOV P1,A ACALL YANSHI MOV A,#11000000B MOV P1,A ACALL YANSHI MOV A,#11100000B MOV P1,A ACALL YANSHI MOV A,#11110000B MOV

define LED P1 sbit key=P2𠆢0;void main(){LED=0x0F;while(1){if(key==0){delayms(10);if(key==0){ LED=0;delayms(500);LED=0x0FF;delayms(500);LED=0;delayms(500);LED=0xFF;delayms(500)

急!51单片机,8个LED灯在P1口,初始点亮一半LED灯,当按键按下时,LED灯整体闪烁3次,再回到初始状态。

ORG 00H JMP MAIN ORG 30H MAIN:MOVA,#0FFH;设置左移初值 CLRC;C=0 MOVR2,#08H;设置左移次数 LOOP:RLCA;左移1位 MOVP2,A;输出到P2 CALLDELAY;延时 DJNZR2,LOOP;左移7次 MOVR2,#07H;LOOP1:RRCA;右移1位

用一个寄存器做变量就可以。假如按键是一个开个,接在P1.0,八个灯在P0,低电平灯亮 程序是这样的 MOV 30H ,#00 LOP :SETB P1.0 JNB P1.0, PRESS AJMP LOP PRESS:INC 30H MOV A,30H CJNE A,#9

;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下:ORG 0000H MOV R3, #5 ;N=5 LOOP0:MOV A, #0FFH MOV P1, #0FFH ;开始时全灭 ;---逐个

个开关时,8盏灯从左到右依次被点亮,最后全亮;闭合第3个开关时,8盏灯从右到左依次被点亮,最后全亮个开关时,8盏灯从左到右依次被点亮,最后全亮;闭合第3个开关时,8盏灯从右到左依次被点亮,最后全亮个开关时,

ORG 0000HLJMP MAINORG 0030HMAIN; MOV R2,#3LOOP: MOV A,#0FEH MOV R3,#8LOOP1: MOV P0,A LCALL DELAY CLR C RLC A DJNZ R3,LOOP1 MOV P0,#00H LCALL DELAY MOV P0,

51单片机,P1 外接8个led灯:ORG 0000H MOV R2, #6LOOP: XRL P1, #255 DJNZ R6, $ DJNZ R7, $ - 2 DJNZ R2, LOOP SJMP $END

8个led灯同亮同灭3次,用汇编语言

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

//0xfe = 1111 1110,//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环case 0xfd:P0=dofly_table[2];LED1=0;break;//调用表中的第三个//元素 0xa4 下标 0 才表示数组中的第一个元素case 0xfb:P

LED = 0xfe;EA = 0;while(1){ for(i=0;i<7;i++){delay(100);LED = (LED<<1)|0x01;P3 = LED;} for(i=0;i<7;i++){delay(100);LED = (LED>>1)|0x80;P3 = LED;} } } 汇编语言 LEDEQU 3

include include define uint unsigned int define uchar unsigned char void delay(uint);void main(){ uchar i,j,k;uchar temp;temp=0xfe;while(1){ for(j=1;j>0;j--){ for(i=7;i

stc89c52单片机C语言编程:8个LED灯先左循环,再闪烁3次,最后右循环

#include #include #define uint unsigned int #define uchar unsigned char void delay(uint); void main() { uchar i,j,k; uchar temp; temp=0xfe; while(1) { for(j=1;j>0;j--) { for(i=7;i>0;i--) { P1=temp; delay(200); temp=_crol_(temp,1); } P1=0xff; for(k=6;k>0;k--) { P1=~P1; delay(200); } for(i=7;i>0;i--) { P1=temp; delay(200); temp=_cror_(temp,1); } } } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 这个程序我写的循环的 你要是不需要循环 那就把while(1);移动到最下面
我给你提供一个思路: 1:按键处理部分,定义一个按键变量x,在按键按下后松手变量x加1,判断按键变量 if(x >= 3) { x = 0; 处理8个LED灯的函数............................. }
ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY MOV P1,#00 LCALL DELAY MOV P1,#0FFH LCALL DELAY SJMP $ DELAY: MOV R2,#10 DLY: MOV R3,#100 DLY1: MOV R4,#249 DJNZ R4,$ DJNZ R3,DLY1 DJNZ R2,DLY RET END
ORG 0000H LJMP MAIN ORG 0003H LJMP EXT0 ORG 000BH LJMP T0ISR ORG 0030H MAIN: MOV TMOD,#01H MOV R2,#0FEH MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 SETB ET0 SETB IT0 SETB EX0 SETB EA CLR 00H MOV R3,#10 MOV R4,#00H SJMP $ EXT0: SETB 00H RETI T0ISR: CLR TR0 MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 JB 00H,SHAN MOV A,R2 MOV P0,A RL A MOV R2,A RETI SHAN: MOV A,R4 MOV P0,A CPL A MOV R4,A DJNZ R3,T0E MOV R3,#10 CLR 00H T0E: RETI END
根据你的要求写了一个,记得选择满意答案哦 ;FOSC = 12MHz ;sysclk = 1us flag bit 00h cnt equ 25000 ;计时器初始值,频率 = 20,周期 = 50ms,一半为25ms org 00h jmp main org 0003h jmp int0_isr org 000bh t0_isr: mov tl0,#(65536 - cnt) mod 256 mov th0,#(65536 - cnt) / 256 jb flag,t0_end xrl p1,#0ffh t0_end: reti int0_isr: cpl flag reti main: mov sp,#50h clr flag mov tmod,#01h mov tl0,#(65536 - cnt) mod 256 mov th0,#(65536 - cnt) / 256 setb tr0 setb it0 ;下降沿触发 mov ie,#83h mov p1,#00h jmp $ end
图片为原理图 下面为出程序设计: #include sbit LED1 = P1^0;sbit LED2 = P1^1;sbit LED3 = P1^2;sbit LED4 = P1^3; sbit LED5 = P1^4;sbit LED6 = P1^5;sbit LED7 = P1^6; sbit LED8 = P1^7;sbit KEY1 = P3^0;sbit KEY2 = P3^1;sbit KEY3 = P3^2;sbit KEY4 = P3^3; sbit KEY5 = P3^4;sbit KEY6 = P3^5;sbit KEY7 = P3^6; sbit KEY8 = P3^7; void main() {{if (KEY1 == 0) {LED1 = 1;} else if (KEY2 == 0) {LED2 = 1;} else if (KEY3 == 0) {LED3 = 1;} else if (KEY4 == 0) {LED4 = 1;} else if (KEY5 == 0) {LED5 = 1;} else if (KEY6 == 0) {LED6 = 1;} else if (KEY7 == 0) {LED7 = 1;} else if (KEY8 == 0) {LED8 = 1;} } }
方法: 1:设定一个变量i,可以从0到3循环的变化 2:检测一个经过消抖处理的按键,按一下,i+1 3:当i值为各个值时,执行相应的花样。 流水灯参考程序 #include #include #define uchar unsigned char uchar j,temp; void delay(unsigned int ms) { uchar t; while(ms--) for(t=0;t<123;t++); } void main() { P1=0xff; delay(500); temp=0xfe; //有点怪,led接在P2.3~P2.6 for(j=0;j<4;j++) { P1=temp; delay(500); temp=_crol_(temp,1); } P1=0xff; while(1); }
首先,你的电路图没有给出来,管脚是什么? 其次,我建议还是自己尝试写一写,这个不难,我给你个思路 首先定义变量类似于P1_2 = P1^2这种,先把这八个管脚全部定义好,之后给个for循环,让P1(假设的你LED灯连接的是P1口)口的P1^0~P1^7相关标