현재 위치 - 주공해몽공식사이트 - 랜덤 번호 뽑기 점술 - At89c205 1 타이밍 회로 개선

At89c205 1 타이밍 회로 개선

단일 칩 마이크로 컴퓨터로 제어되는 간단한 타이밍 경보기를 설계하다. 설정된 초기 값 (1-59 초) 에 따라 카운트다운을 요청합니다. 시간이 0 에 도달하면 디지털 튜브가' 00' (1Hz 로 깜박임) 을 깜박이고 키 입력 기능은 다음과 같습니다.

(1) 설정 키: 카운트다운 모드에서 이 키를 눌러 카운트다운을 중지하고 설정 상태로 들어갑니다. 키가 이미 설정된 경우 키가 유효하지 않습니다.

(2) 증분 키: 상태를 설정할 때 증분 키를 누를 때마다 초기 값의 숫자가 1 씩 증가합니다.

(3) 감소 키: 상태를 설정할 때 감소 키를 누를 때마다 초기 값의 숫자 감소 1.

(4) 확인 키: 상태를 설정할 때 이 키를 누르면 단일 칩 마이크로 컴퓨터가 카운트다운을 하고 새 초기 값에 따라 카운트다운 수를 표시합니다. 이미 타이밍 상태인 경우 이 키는 유효하지 않습니다.

시간? EQU? 60H

깃발? EQU? 6 1H

키 _ r _1? EQU? P3.0

키 _ r _ 2? EQU? P3. 1

키 _ r _ 3? EQU? P3.2

키 _ r _ 4? EQU? P3.3

D_FLAG? EQU? 62H

오그? 0000 시간

SJMP? 시작

오그? 000BH

LJMP? 타이머 0 인터럽트

오그? 0030 시간

시작:

모브? TMOD, #0 1H

모브? TH0, #3CH

모브? TL0, #0B0H

SETB? 전자예계 게임회사

SETB? ET0

CLR? TR0

모브? 하나, #00

모브? D_FLAG, a

주요 사항:

LCALL? 키 스캔

모브? A, D_FLAG

CJNE? A, #0 1H, DIS

LCALL? 표시 1

LJMP? 주요

DIS:

LCALL? 전시

LJMP? 주요

키 스캔:

모브? 첫째, 깃발

CJNE? A, # 1, 키 _ 2

CLR? C

모브? C, 키 _ r _1

JC? 키 _2

LCALL? 지연 시간 20 밀리초

모브? C, 키 _ r _1

JC? 키 _2

JNB? 키 _ r _1,$

CLR? TR0

모브? 하나, #00

모브? D_FLAG, a

모브? 시간, a

키 _ 2:

CLR? C

모브? C, 키 _ r _ 2

JC? 키 _3

LCALL? 지연 시간 20 밀리초

모브? C, 키 _ r _ 2

JC? 키 _3

모브? 첫째, 시간

12 월? A

CJNE? A, #255, 키 _ 2 _ e

모브? 하나, 99 호

모브? 시간, a

JNB? 키 _ r _ 2, $

열쇠 _2_E:

모브? 시간, a

JNB? 키 _ r _ 2, $

핵심 3:

CLR? C

모브? C, 키 _ r _ 3

JC? 키 _4

LCALL? 지연 시간 20 밀리초

모브? C, 키 _ r _ 3

JC? 키 _4

모브? 첫째, 시간

INC? A

CJNE? A, # 100, 키 _ 3 _ e

모브? 답, #0

모브? 시간, a

JNB? 키 _ r _ 3, $

열쇠 _3_E:

모브? 시간, a

JNB? 키 _ r _ 3, $

핵심 4:

CLR? C

모브? C, 키 _ r _ 4

JC? 열쇠 _ 종료

LCALL? 지연 시간 20 밀리초

모브? C, 키 _ r _ 4

JC? 열쇠 _ 종료

JNB? 키 _ r _ 4, $

SETB? TR0

모브? A, #0FH

모브? 깃발, a

주요 종료:

물에 담그면 부드러워진다

표시:

모브? 첫째, 시간

모브? B, # 10

DIV? A 형 혈액

모브? 갑, 을

모브? DPTR, # 태그

모브? 하나, @ 하나 +DPTR

모브? P0, a

SETB? P2. 1

CLR? P2.0

LCALL? 지연 1 밀리초

CLR? P2.0

CLR? P2. 1

모브? 첫째, 시간

모브? B, # 10

DIV? A 형 혈액

모브? DPTR, # 태그

모브? 하나, @ 하나 +DPTR

모브? P0, a

SETB? P2.0

CLR? P2. 1

LCALL? 지연 1 밀리초

CLR? P2.0

CLR? P2. 1

물에 담그면 부드러워진다

표시 1:

모브? R2, 40 위

표시 1_LOOP 1:

모브? 답, #0

모브? DPTR, # 태그

모브? 하나, @ 하나 +DPTR

모브? P0, a

SETB? P2. 1

CLR? P2.0

LCALL? 지연 1 밀리초

CLR? P2.0

CLR? P2. 1

모브? 답, 0

모브? DPTR, # 태그

모브? 하나, @ 하나 +DPTR

모브? P0, a

SETB? P2.0

CLR? P2. 1

LCALL? 지연 1 밀리초

CLR? P2.0

CLR? P2. 1

LCALL? 키 스캔

DJNZ? R2, 표시 1_LOOP 1

모브? R2, 20 위

1_LOOP 표시:

LCALL? 지연 시간 50 밀리초

LCALL? 키 스캔

SETB? P2.0

SETB? P2. 1

DJNZ? R2, 1_LOOP 표시

물에 담그면 부드러워진다

지연 시간 20ms:; 잘못? 0 우리

모브? R6, #0D7H

DL0:

모브? R5, #2DH

DJNZ? R5, 달러

DJNZ? R6, DL0

Nototherwiseprovided(for) 달리 명시되지 않는 한

Nototherwiseprovided(for) 달리 명시되지 않는 한

물에 담그면 부드러워진다

지연 1 ms:; 잘못? 0 우리

모브? R4, #0 1H

DD 1:

모브? R6, #8EH

DD0:

모브? R5, #02H

DJNZ? R5, 달러

DJNZ? R6, DD0

DJNZ? R4, DD 1

물에 담그면 부드러워진다

지연 시간 50ms:; 잘못? 0 우리

모브? R6 # 0ADH

DG0:

모브? R5, #8FH

DJNZ? R5, 달러

DJNZ? R6, DG0

물에 담그면 부드러워진다