A
asic1984
Guest
안녕
내가 pic16f84와 문제가 생겼다 ... 어떤 프로그램을 내가 쓸 .. 포트 논리 1에서 항상 출력
예 :이 예에서 시도
http://www.geocities.com/tjacodesign/picprogmanual/picprogmanual.html
코드 :
코드 :; ledsrun.asm
; PIC16F84 ľcontroller와 예제 프로그램
; RB0 3하려면 470 옴 저항 시리즈는 4 개의 LED를 연결하기
그리고 10,000 / 27pF RC 발진기
; LED가 실행 조명으로 점등됩니다
; MPASM 마이크 로칩 어셈블러로 작성된
;**** 콘스탄스와 변수를 설정 ****
포함 "P16F84.INC"; 최대 MPASM 파일을보세요
리스트 P는 = 16F84
ERRORLEVEL -302; 은행 선정 메시지를 억제
타이머 _RC_OSC & _PWRTE_ON & _WDT_OFF; RC 오실레이터, 전원 __config
; 및 워치독 타이머상태 equ h'03 '; 상태 레지스터
trisb equ h'86 '; 포트 B에 대한 레지스터 설정
trisa equ h'85 '; 포트 B에 대한 레지스터 설정
count1 equ h'0e '; 일반적인 목적의 등록
count2 equ h'0f '; 일반적인 목적의 등록
h'06 '; portB 7seg 콘텐츠를 표시 LED가 equ
간이 equ h'05 '; 간이 사용되지 않습니다;**** 간이 및 portB 설정 ****
BSF 상태, 5; 스위치 bank1 포트 설정
movlw h'00 '
movwf trisb; portB 모든 출력됩니다
movlw h'00 '
movwf trisa; 간이 모든 출력됩니다
BCF 원사 상태, 5; 다시 bank0 포트를 사용하여 스위치를;**** 메인 프로그램 ****
시작 movlw 승으로 b'00000001 '; 부하 패턴
movwf LED가; 부하 승 portB로 가장 오른쪽의 LED에 (스위치)
통화 지연; 몇 시간을 기다린
movlw b'00000010 '; 새로운 패턴
movwf LED가
전화 지연; 기다려
movlw b'00000100 '; 새로운 패턴
movwf LED가;
전화 지연; 기다려
movlw b'00001000 '; 새로운 패턴
movwf LED가;
전화 지연; 기다려
고토 시작; 모두 다시 해
;**** 지연 서브루틴 ****
;**** 지연 (지연 카운트 값을 1) × (지연 계산 값 2) 사이클 **** 기다릴 =
지연 movlw h'EE '; 설치 지연이 카운트 값을 1로
movwf count1; count1 천천히 카운터
loop1 decfsz count1, 1;
고토 레이블; 여전히 "0
반환; count1 "0 이렇게 지연 루프를 빠져 나가야
레이블 movlw h'EE '; 설치 지연이 계산 값 2
movwf count2; count2 빠른 count1 루프 내부 카운터입니다
loop2 decfsz count2, 1;
고토 loop2; 아직도 "0 이렇게 loop2에 머물
고토 loop1; count1 "0 가고 loop1
끝;
내가 pic16f84와 문제가 생겼다 ... 어떤 프로그램을 내가 쓸 .. 포트 논리 1에서 항상 출력
예 :이 예에서 시도
http://www.geocities.com/tjacodesign/picprogmanual/picprogmanual.html
코드 :
코드 :; ledsrun.asm
; PIC16F84 ľcontroller와 예제 프로그램
; RB0 3하려면 470 옴 저항 시리즈는 4 개의 LED를 연결하기
그리고 10,000 / 27pF RC 발진기
; LED가 실행 조명으로 점등됩니다
; MPASM 마이크 로칩 어셈블러로 작성된
;**** 콘스탄스와 변수를 설정 ****
포함 "P16F84.INC"; 최대 MPASM 파일을보세요
리스트 P는 = 16F84
ERRORLEVEL -302; 은행 선정 메시지를 억제
타이머 _RC_OSC & _PWRTE_ON & _WDT_OFF; RC 오실레이터, 전원 __config
; 및 워치독 타이머상태 equ h'03 '; 상태 레지스터
trisb equ h'86 '; 포트 B에 대한 레지스터 설정
trisa equ h'85 '; 포트 B에 대한 레지스터 설정
count1 equ h'0e '; 일반적인 목적의 등록
count2 equ h'0f '; 일반적인 목적의 등록
h'06 '; portB 7seg 콘텐츠를 표시 LED가 equ
간이 equ h'05 '; 간이 사용되지 않습니다;**** 간이 및 portB 설정 ****
BSF 상태, 5; 스위치 bank1 포트 설정
movlw h'00 '
movwf trisb; portB 모든 출력됩니다
movlw h'00 '
movwf trisa; 간이 모든 출력됩니다
BCF 원사 상태, 5; 다시 bank0 포트를 사용하여 스위치를;**** 메인 프로그램 ****
시작 movlw 승으로 b'00000001 '; 부하 패턴
movwf LED가; 부하 승 portB로 가장 오른쪽의 LED에 (스위치)
통화 지연; 몇 시간을 기다린
movlw b'00000010 '; 새로운 패턴
movwf LED가
전화 지연; 기다려
movlw b'00000100 '; 새로운 패턴
movwf LED가;
전화 지연; 기다려
movlw b'00001000 '; 새로운 패턴
movwf LED가;
전화 지연; 기다려
고토 시작; 모두 다시 해
;**** 지연 서브루틴 ****
;**** 지연 (지연 카운트 값을 1) × (지연 계산 값 2) 사이클 **** 기다릴 =
지연 movlw h'EE '; 설치 지연이 카운트 값을 1로
movwf count1; count1 천천히 카운터
loop1 decfsz count1, 1;
고토 레이블; 여전히 "0
반환; count1 "0 이렇게 지연 루프를 빠져 나가야
레이블 movlw h'EE '; 설치 지연이 계산 값 2
movwf count2; count2 빠른 count1 루프 내부 카운터입니다
loop2 decfsz count2, 1;
고토 loop2; 아직도 "0 이렇게 loop2에 머물
고토 loop1; count1 "0 가고 loop1
끝;