Cè¯è¨
#include<reg51.h>
void delay(unsigned int a)
{
unsigned i,j;
for(i=0;i<a;i++)
for(j=0;j<1000;j++);
}
main()
{
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;}
}
}
æ±ç¼è¯è¨
LED EQU 30H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR EA
MOV SP,#5FH
MOV LED,#0FEH
MOV R0,#7
LOOP:
MOV R7,#50
LCALL DELAY
MOV A,LED
RL A
MOV LED,A
MOV P3,A
DJNZ R0,LOOP
MOV R0,#7
LOOP1:
MOV R7,#50
LCALL DELAY
MOV A,LED
RR A
MOV LED,A
MOV P3,A
DJNZ R0,LOOP1
MOV R0,#7
SJMP LOOP
;----------------------------
DELAY:
MOV R2,#8
DLY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY1
DJNZ R7,DELAY
RET
;-----------------------------
END
c语言和汇编的程序八个LED依次左移逐个点亮,点亮后在依次右移逐个点亮不...
void delay(unsigned int a){ unsigned i,j;for(i=0;i<a;i++)for(j=0;j<1000;j++);} main(){ 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)...
单片机编程控制8个LED,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化...
假如:P0口接8个LED,程序可以这样:include<reg52.h> define uchar unsigned char define uint unsigned int sbit led1= P2^0;uchar num;\/ 延时t毫秒 11.0592MHz时钟,延时约1ms \/ void delay(uint s){ uchar k;while(--s){ for(k=0; k<125; k++) ;} } void main(){ uchar i,...
...右逐个点亮至全亮又从右到左逐个逐个熄灭来回循环plc?
Y0-Y7是分别控制1-8号指示灯 程序如图
单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:
...汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间...
MAIN: MOV P1, #11111110B ; P1 口 点亮一个发光二极管 ACALL DELAY ; 调用延时子程序 MOV P1, #11111101B ; 从左向右移动 一位 ACALL DELAY MOV P1, #11111011B ACALL DELAY MOV P1, #11110111B ACALL DELAY MOV P1, #11101111B ACALL DELAY MOV P1, #11011111B ACALL DELAY MOV P1, #1011...
编程:使用单片机P1口控制8个LED。显示方式:自上而下逐个点亮,再自下而...
给你个简单点的 ORG0000H AJMPMAIN ORG0030H MAIN:MOV P1,#01111111B ;P1口低电平 对应灯亮 点亮P1.7对应的LED LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#10111111B LCALL DLY_500MS ;延时500ms 可以清晰看到每个LED的亮灭情况 MOV P1,#11011111B LCALL ...
8路流水灯汇编语言程序的写法
汇编语言程序如下:;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下:ORG 0000H MOV R3, #5 ;N=5 LOOP0:MOV A, #0FFH MOV P1, #0FFH ;开始时全灭 ;---逐个点亮 MOV R2, #8 LOOP1: CLR C RLC A MOV P1, A CALL...
...汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间...
if(i==8)P1=~0x01;\/\/P1_0所接二极管亮,下面依次是P1_1到P1_7(电路连接时二极管一端连P1_0,一端连电阻再连5v,低电平的时候亮,因此加取反“~”)if(i==7)P1=~0x02;if(i==6)P1=~0x04;if(i==5)P1=~0x08;if(i==4)P1=~0x10;if(i==3)P1=~0x20;if(i==2)P1=~0x...
...发光二极管从左向右依次逐个点亮后再丛右向左逐个灭灯(延时1s...
JMP LEFT 如果按下按钮开关,送入低电平,就跳到LEFT让二极管向左侧依次点亮 WAIT_B:JB P2.1,WAIT_A 当然这就是等待p2.1了 JMP RIGHT LEFT: ;左端流水 RLC A MOV P1,A CALL DELAY DJNZ R1,LEFT JMP START RIGHT: ;右端流水 RRC A MOV P1,A CALL DELAY DJNZ R1,RIGHT ...
单片机控制8个灯依次亮,全亮了,再依次灭的c语言流程图,顺便加上解释...
1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。