求大神编程一个51单片机的8灯点亮程序。
发布网友
发布时间:2022-04-26 11:43
我来回答
共5个回答
热心网友
时间:2022-06-28 00:34
点灯的方法是由硬件连接方式决定的,以P1囗的8条引脚连接8只LED为例,8只LED共阳极连至电源,则P1口某位为0时,对应LED点亮,为1时LED熄灭。例如熄灭全部LED操作为
P1=0xFF,
点亮第一只LED操作为
P1=0xFE,
同时点亮第一,二只LED操作为
P1=0xFC,
其它可类推。
热心网友
时间:2022-06-28 00:35
使用定时器或者delay延时函数,依次按照你的点灯要求进行亮灭灯。
void main()
{
while(1)
{
P2=0xfe;
delay1ms(500); P2=0xfd; delay1ms(500); P2=0xfb;
delay1ms(500); P2=0xf7; delay1ms(500); P2=0xef; delay1ms(500); P2=0xdf;
delay1ms(500); P2=0xbf; delay1ms(500); P2=0x7f;
delay1ms(500);
}
}
热心网友
时间:2022-06-28 00:35
应该用到循环程序,不好意思,大学学过,现在没从事这方面工作,忘完了!追问。。。
热心网友
时间:2022-06-28 00:36
汇编代码如下:
LED EQU 30H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV LED,#0FEH
MOV R2,#8
LOOP:
MOV P1,LED
LCALL DELAY
MOV A,LED
CLR C
RLC A
MOV LED,A
DJNZ R2,LOOP
SJMP MAIN
DELAY:
MOV R2,#200
DLY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY1
RET
END
热心网友
时间:2022-06-28 00:36
#include<reg51.h>
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
void main(void)
{
while(1)
{
P3=0xfe;
delay();
P3=0xff;
delay();
P3=0xfc;
delay();
P3=0xff;
delay();
P3=0xf8;
delay();
P3=0xff;
delay();
P3=0xf0;
delay();
P3=0xff;
delay();
P3=0xe0;
delay();
P3=0xff;
delay();
P3=0xc0;
delay();
P3=0xff;
delay();
P3=0x80;
delay();
P3=0xff;
delay();
P3=0x00;
delay();
}
}
求大神发个51单片机做的8个led灯节日彩灯c程序要求有4种不同的变换方式...
i;while(1) { led=0xfe; for(i=0;i<8;i++) //左到右点亮 { P0=led; led=(led<<1)|0x01; delay(200); }
51单片机用汇编语言如何设计8个轮流呼吸的呼吸灯?
ACALL DELAY MOV P0,#20H;()只有第六个灯亮 ACALL DELAY MOV P0,#40H;()只有第七个灯亮 ACALL DELAY MOV P0,#80H;()只有第八个灯亮 ACALL DELAY AJMP START;周而复始 DELAY: MOV R6,#40;延迟程序,晶振为3.57MHZ时大概是0.1S 0.1SL1: MOV R5,#246 0.1SL2: NOP DJNZ R5,0.1...
51单片机编个程序,来大神!
ORG 00H MOV P1,#0 ;LED低电平亮,8个LED kaishi:JB P3.0,$ ;S1接P3.1,低电平有效 ACALL DELAY ;延时避开按钮毛刺 CPL P1 ;P1取反,亮-熄-亮 JNB P3.1,$ ;等待S1放开 JMP KAISHI ;返回 ;延时程序自己写......
c51单片机汇编语言,八个小灯,依次亮灯,间隔0.5s,最后一个点亮后,全部灭...
A LCALL DELAY CLR C RLC A DJNZ R2,LOOP MOV P0,#0FFH SJMP $DELAY: MOV R3,#10DLY1: MOV R4,#100DLY2: MOV R5,#250 DJNZ R5,$ DJNZ R4,DLY2 DJNZ R3
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1...,每 ...
sbit key=P3^4; //按键,按实际再改 void delay(unsigned int t){ while(--t);} void main(){ unsigned char q;P1=0xfe;//1111 1110 P1口led灯,实际不是再改 while(1){ P1=0xfe;//1111 1110 for(q=0;q<8;q++){ delay(25000); //0.5S,得按照实际晶振再改 P1<<=1;...
求大神在keil上帮写51单片机C语言程序
//第一个实验://假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7//假设K1按键在P2.3引脚#include<reg51.h>#include<intrins.h>sbit k1=P2^3;//假设K1按键在P2.3引脚void main(){P0=0xfe;while(1){if(k1==0){while(k1==0);P0=_crol_(P0,1);}}}...
单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部...
define uint unsigned int //延时 void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } //主程序 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...
急求懂51单片机编程的C语言大神帮忙编一个AT89S52单片机有创意的8位...
include <reg51.h> define GPIO P1 define uint8 unsigned char define uint16 unsigned int void delay_ms(uint16 x){ uint8 i=110;while(x--)while(i--);} void main(){ uint8 i;while(1){ i=8;GPIO=0x01;do { delay_ms(1000);GPIO=GPIO<<1;i--;}while(i);...
单片机大神请进,51单片机汇编程序,程序可发至603937022@qq.com...
1 P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。程序如下:ORG 0540h HA1S:MOV A,#00H;A初值为0 HA1S1:JB P3.3,HA1S1;如果P3.3为1则等待(有脉冲变0一次)MOV R2,#20H;R2赋值为20 LCALL DELAY;延时(去抖动)JB P3.3,HA1S1;如果为...
51单片机,有8个流水灯,每个之间延迟1秒,这个延迟用c程序编写怎么写
去网上下一个单片机 小精灵 只要你输入 晶振频率就能够给出准确的延时程序 ,记得下破解的哦。 wszxxhd | 发布于2012-09-06 举报| 评论 0 0 为您推荐: 51单片机流水灯电路图 51单片机原理及应用 51单片机流水灯编程 单片机流水灯实验报告 单片机 流水灯 单片机流水灯器件 单片机是什么 流水灯电路...