include unsigned char ledtab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe} void delay(unsigned char a){ unsigned char i,j;for(i=0;i

//第三个灯亮 delay();P3=0xf7;//第四个灯亮 delay();P3=0xef;//第五个灯亮 delay();P3=0xdf;//第六个灯亮 delay();P3=0xbf;//第七个灯亮 delay();P3=0x7f;//第八个灯亮 delay();} }

//主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); //P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);

} led=0xfe; for(i=0;i<8;i++) { P1=led; led=led<<1; delay(200); } led=0x00; for(i=0;i<8;i++)

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

unsigned LED,i;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;} } } 汇

c语言和汇编的程序八个LED依次左移逐个点亮,点亮后在依次右移逐个点亮不断循环

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

while(1){ P3=0xfe;//第一个灯亮 delay();//延时 P3=0xfd;//第二个灯亮 delay();P3=0xfb;//第三个灯亮 delay();P3=0xf7;//第四个灯亮 delay();P3=0xef;//第五个灯亮 delay();P3=0xdf;//第六

MOV P0,#00H LCALL DELAY MOV P0,#0FFH LCALL DELAY DJNZ R2,LOOP SJMP $DELAY: MOV R4,#200DLY: MOV R5,#250 DJNZ R5,$ DJNZ R4,DLY RET END

1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

loop1: mov r7,#01h djnz r7,djnz r6,loop1 ret end 好像是这样,延迟时间可能不太准,也是P1口接8个LED灯

unsigned LED,i;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;} } } 汇

while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); //P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);

单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部熄灭后重复前面的过程

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数

1:你写汇编程序注意程序的入口地址,比如:“ORG 0000H,主程序开始的入口ORG 0100,中断程序开始的入口 ORG 0200等等”。你要知道汇编和C不同,汇编比起C语言要相对机械一些。汇编程序是写入硬件内部的,严格的配合硬

far @interrupt void TIM1_UPD_OVF_IRQHandler(void){ TIM1_SR1 = 0x00; // 清除更新标志 } far @interrupt void EXTI0 (void)//外部中断子函数 { if(PA_on){ sbi(PA_ODR,4);PA_on=0;}//PA4为灯亮

LJMP T0ISR ;定时0控制流水灯循环点亮 ORG 0030H MAIN:MOV TMOD,#01H ;设置定时器0工作模式 MOV TH0,#HIGH(65536-60000) ;60毫秒定时 MOV TL0,#LOW(65536-60000)SETB ET0 SETB EA MOV A,#0FEH ;

单片机汇编语言程序,我想写一个循环点亮的LED,然后用外部中断0接到一个按键上,怎么写我需要详细的程序

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

//主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); //P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);

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 30H ORG 0000H LJMP MAIN

ABC :MOV A,#11111110B; //0亮1灭。NET1:MOV P1,A; //先第一个灯亮 LCALL DELEA //延时0.2s RL A; //左移 DJNZ R0,NET1;//8个灯是否全部亮完 MOV R0,#8;NET2:MOV A,#011111111B MOV P1,A

首先,是单灯如何点亮的问题,无非就是某个gpio口输出高电平或者低电平(由外部电路决定)使灯亮灭,假设输出高电平为亮,输出低电平为灭。其次,1hz闪烁,即代表定时1s开、关灯。所以要用到定时器。代码如下:include "std

汇编语言编一个八个灯,由左至右循环闪烁的程序~~~谢谢

ORG 0000H LJMP MAIN ORG 000BH T0MS0 EQU NOT 50000 ; 50 mS 12.000 MHz T0ZD0: MOV TL0, #LOW T0MS0 ; TO 100MS 中断 计时 0 MOV TH0, #HIGH T0MS0 DJNZ R5, T0ZD8 MOV R5, #20 SETB 30H T0ZD8: RETI MAIN: MOV TL0, #LOW T0MS0 ; TO 100MS 中断 计时 0 MOV TH0, #HIGH T0MS0 MOV IE, #82H SETB TR0 MOV R5, #20 MAIN1: MOV A, #0FEH MOV R2, #8 MAIN2: MOV P1, A JNB 30H, $ CLR 30H RL A DJNZ R2, MAIN2 MOV A, #7FH MOV R2, #8 MAIN3: MOV P1, A JNB 30H, $ CLR 30H RR A DJNZ R2, MAIN3 JMP MAIN1 END
不会。。。。路过。。。。网络100分 专业人士也不会花那么多时间来 编这个题吧 应该把 手机 留下
1)P2口的8个脚对应8个LED;设D1灯对应高位,D8灯对应低位; 2)P1口的P1.0脚对应XO按钮;P1.1脚对应X1按钮; 3)开始时,显示第一种方式:向P2口写入a=01111111,延时0.5S,a 循环右移一位,再延时0.5S,如此反复。 4)当收到XO按钮信号后,向P2口写入a=01111111,延时1.5S,a 循环右移二位,再延时1.5S,如此反复。 5)当收到X1按钮信号后,向P2口写入a=10111111,延时1S,a 带进位右移二位,再延时1.5S,如此反复。当Cy=0时,执行 3)。
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。 #include #include 仿真图效果。
你好,可以用单片机实现 来自天蝎雨之林的回答,满意请采纳,谢谢~祝你生活愉快~
若P1.7—P1.0对应LED7—LED0 ,低电平点亮,高电平熄灭 初始值 A=0xfe ,即LED0 亮,其余灭 执行CLR C; RLC A; A=0xfc ,LED0、LED1亮 执行CLR C; RLC A; A=0xf8 ,LED0、LED1、LED2亮 以此类推: CLR C; RLC A; 在这段程序中,这2条指令目的就是使A变量的数值左移,然后末位补0(bit 0); SETB C; RRC A; 在这段程序中,这2条指令目的就是使A变量的数值右移,然后高位补1(bit 7);