>  기사  >  컴퓨터 튜토리얼  >  마이크로컨트롤러의 LED 조명 깜박임 주기를 제어하는 ​​버튼 쓰기에 대한 튜토리얼

마이크로컨트롤러의 LED 조명 깜박임 주기를 제어하는 ​​버튼 쓰기에 대한 튜토리얼

WBOY
WBOY앞으로
2024-01-22 17:18:06693검색

마이크로컨트롤러의 LED 조명 깜박임 주기를 제어하는 ​​버튼 쓰기에 대한 튜토리얼

버튼을 통해 마이크로 컨트롤러의 LED 조명 깜박임주기를 제어하는 ​​프로그램 작성 방법을 가르쳐주세요

어떤 마이크로컨트롤러를 사용하고 있나요?

Marquee에 대해 말씀하시는 것 같습니다. 가장 일반적인 것인 51 마이크로컨트롤러와 Marquee C 프로그램을 말씀드리겠습니다.

필요하다면 더 드릴 수도 있습니다. 저는 하드웨어 개발 엔지니어입니다.

입양을 희망합니다.

예를 들어, 이것은 PROTEUS 소프트웨어에서 시뮬레이션된 51 마이크로컨트롤러용 marquee C 프로그램입니다

#포함

지연 무효(int);

void main()

{

그래요;

P0=0x01;

지연(500);

동안(1)

{

for(i=0;i

{

P0

지연(500);

}

P0=0x01;

지연(500);

}

}

지연 방지(intx)

{

int i,j;

for(i=x;i>0l;i--)

for(j=110;j>0;j--);

}

:

#포함

지연 무효(int);

void main()

{

그래요;

P0=0x01;

지연(500);

동안(1)

{

for(i=0;i

{

P0

지연(500);

}

P0=0x01;

지연(500);

}

}

지연 방지(intx)

{

int i,j;

for(i=x;i>0l;i--)

for(j=110;j>0;j--);

}

MCU 회전문 프로그램

//===============

#포함

#11개 정의

문자 TAB[]={ 0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x83,0xf8,0x80,0x98,

0xff};

문자 disp[11][4]={ {10,10,10,10},

{1,10,10,10},{10,1,10,10},{10,10,1,10},{10,10,10,1},

{2,10,10,1},{10,2,10,1},{10,10,2,1},

{3,10,2,1},{10,3,2,1},

{4,3,2,1}};

지연 무효1ms(int);

스캐너 무효화(문자);

//================

메인()

{문자 i=0;

동안(1)

{

if(i==0)

{ for(i=0;i

스캐너(i);

}

그밖에

{ for(i=10;i>=0;i--)

{

스캐너(i);

if(i==0)break;}

}

}

}

//================

지연1ms(int x )

무효화

{ int i,j;

for(i=0;i

for(j=0;j

}

//====================

스캐너 무효(문자 x)

{char i,j,scan,BCD;

for(i=0;i

{스캔=1;

for(j=0;j

{ P0=0xff;

P2=~스캔;

BCD=disp[x][j];

P0=TAB[BCD];

지연1ms(4);

스캔

}

}

}

마이크로컨트롤러로 윤곽을 만드는 방법

#포함

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;

지연 무효()

{

서명되지 않은 문자 i,j;

for(i=0;i

for(j=0;j

}

void main()

{

동안(1)

{

P1 = 0xff;

LED1 = 0;

지연();

LED2 = 0;

LED1 = 1;

지연();

LED3 = 0;

LED2 = 1;

지연();

LED4 = 0;

LED3 = 1;

지연();

LED5 = 0;

LED4 = 1;

지연();

LED6 = 0;

LED5 = 1;

지연();

LED7 = 0;

LED6 = 1;

지연();

LED8 = 0;

LED7 = 1;

지연();

}

}

MCU 마키 프로그램

org 0000h

ajmp 시작

org 0030h

시작:

mov a,#0ffh ;

clr c ;

mov r2,#08h ; 8번 반복합니다.

loop: rlc a ; 캐리를 사용하여 왼쪽으로 시프트합니다.

mov p1,a ; 포트 P1으로 출력합니다.

통화 지연; 일정 시간 동안 지연

djnz r2,loop 반복

mov r2,#07h 그런 다음 다시 반복합니다.

loop1: rrc a 캐리를 사용하여 오른쪽으로 시프트

mov p1,a ; 포트 P1으로 출력합니다.

통화 지연; 일정 시간 동안 지연

djnz r2,loop1 반복적으로 반복

;

jmp 시작; 다시 시작

delay: mov r3,#20 지연 서브루틴

;

d1: mov r4,#20

d2: mov r5,#248

djnz r5,$

djnz r4,d2

djnz r3,d1

ret

위 내용은 마이크로컨트롤러의 LED 조명 깜박임 주기를 제어하는 ​​버튼 쓰기에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제