PIC16F84A, 최초의 회로 문제

D

Dougy.b

Guest
안녕 모두, 신참이 여기에.

나, 지금 시간에 하는거에 프로그램을 PIC는 방법을 찾고 있었에서의 학습과 짧은 프로그래머를 낳기로 결정을 앞서 클래식과 건설 Tait.
내가 찾은하려면 프로그램 'LED가 테스트가'이 일하던 괜찮아, 난 결심을 사용 깜박

여기에 코드는코드 :

;***** 상수를 설정 ****상태 equ 03h가; 주소 상태의 레지스터

TRISA equ 85h; 주소 포트에 대한 tristate 레지스터의

간이 equ 05h; 포트의 주소

COUNT1 equ 08h; 우리의 지연 루프 최초의 카운터;**** 설정 포트를 ****bsf 상태, 5; 은행 1로 전환

movlw의 00h; 설정 포트 핀

movwf TRISA; 출력합니다.

bcf 상태, 5; 다시 전환 은행 0;**** 차례의 LED ****시작 movlw의 02h; 돌려 넣어 처음으로 LED가

movwf 간이, 그것을 w 레지스터로 누른 다음, 포트;**** 지연 루프 1의 시작 ****Loop1 decfsz COUNT1, 1; 빼기 1 255부터

고토는 Loop1; COUNT 개의가 0 경우, 계속.;**** 지연, 이제 LED가를 끄는 완료 ****movlw의 00h; 전원을 넣어 처음으로 LED 꺼짐

movwf 간이, 그것을 w 레지스터로 다음에; 포트;**** 또 다른 지연을 추가합니다 ****Loop2 decfsz은 COUNT1, 1;이 두 번째 루프는 계속

고토 Loop2는, 충분히 오랫동안 해제 LED가;**** 이제 다시 프로그램의 시작으로 이동시작 고토; 다시 시작하는 방법과 LED가 차례 이동;에 다시프로그램의 ;**** 끝 ****결국, 일부 컴파일러에 의해 필요하며, 또한 단지 우리가보고 싶을 경우에, 고토 지침.
 
PIC는 모드가 있습니다 몇 클럭.당신은 RC 모드의 외부 실행합니다.데이터 시트보기의 섹션 4.비트의 경우 구성 변경됩니다 필요 당신이 외부 크리스탈을 원하는 사용합니다.

키이스

 
안녕하세요,

포인터의 커플은, 당신이 할 470R해야하거나 필요한 저항을 사이에 핀 RA1을하고 주도 - 330R에 대해.

대부분의 16F 포트 핀이 25mA를 공급 할 수 있도록 칩을 날려없이 당신은 어쩌면 restistor.

당신이 일하는 말이므로, 그러니까 내가 보는 추측할 수있다 당신이 이끌고 천천히 점멸, 빨리 또는?

속도 C1 경우에 깜박 따라 오실레이터 R1 / 시간을 생산하여 RC.

당신은 아주 느린 발진기는 실행 지연을하는 아주 짧은 사용하여 두 생각할 겁니다 그래서 전.

시간을 지연하는 경우 더 이상 만들 수행에 당신이 원하는 루틴을 루프처럼 이미 더 추가하는 간단한 지연을 사용하지만, 일반적으로이 중 '시리즈'중첩 간단하게 당신이 지연을 위해 증가.

당신은하지만, 자신을 위해 일할 수 그들을 밖으로 일단 계산기를 작은 코드 이해가이 원칙을 누른 다음 사용합니다.
TMR0를 이름으로 사용합니다 지연을 곧 알게 거기 작성하는 방법은 다른지만 같이 한게 조금 더 복잡한 시작합니다.

http://www.golovchenko.org/cgi-bin/delay

 
에 대한 답변 감사합니다 안녕하세요 둘.

안녕 WP100
인용구 :

당신은 RA1와 핀 사이의 저항이 필요 주도
 
미안, 난 18F87/88보고되었을 듯합니다.필요한 부분입니다 클럭 모드 6.2에 대한.

되어 사용하는 아마있다 당신이 모드는 RC의) 그냥 그래프를, 아마 수식을 10kHz (주지 그들이 진동 주파수의.나타나는 경우에 당신은 빨리 전환한 지금 너무 멀리 크리스탈 주파수가 점멸이 될거예요 아마 될 LED가 1000 배 이상 그렇게.당신이 지연을 변경할 필요는 더 이상 코드를 생성합니다.그것은 루프 지연 소프트웨어 타이머를보다 오히려 더 나은 것이있을 때 사용.

키이스.

 
먹으렴 큰 감사,
나는 코드에서 원래 지연 적응 루프를 전망이다 지금처럼 일하고.
코드 :

Loop1 decfsz COUNT1, 1; 빼기 1 255부터

고토는 Loop1; COUNT 개의가 0 경우, 계속.

255 1; 빼기 1 decfsz의 COUNT2,

고토는 Loop1; 다시 루프의 시작으로 이동합니다.
 
소프트웨어 지연의 문제는 아무것도 그 프로세서가 바쁜 모든 시간 뭐 -!거기에 모든 너무 자주 프로세서를 방해하는 설정 수있는 모든 PICS 하드웨어 타이머입니다.그럼, 프로세서 시간을 지나가는 것보다 다른 뭔가를 다른 일을 할 수 있습니다.

거의 루프를 지연 절대 사용할 수 있습니다.유일한 시간은 예를 들어, 어떤 것이있을 어디에 당신이 필요 인터페이스에 대한 지연 시간을 2 클럭 사이클

차례 출력 비트에
NOP
NOP
차례 출력 비트 해제

키이스

 
안녕하세요,

그냥 포인트 Keiths 제품에 따라 최대.

번호 않으면 혼란 진술을 - 그것은 파일에 대한 설정 16F84a 당신은 알게되지만 준비 만든 스타터가 포함된 코드 예제를 나열 각각의 다음보다 무거운 매개 변수를 별도로 오히려으로 템플릿이 열려.

파일을 이동하는 MPASM 스위트, 템플릿 코드 얻을 수 있습니다.

가지고 4meg 첨부된 수정하는 예제를 수정하는 방법을 보여주는 모드를합니다.
또한 변수가 표시되는 다른 방법을 정의하는 네.

수반으로 그것은 순간에 관한 조언을 반대 지연을 하겠어요 난 잘못 없다 TmR0 등에 대한 사용 키이스, 잠시 동안 interupts에 너무 등 사물을 복잡하게 만들 수도 있습니다.

찾기 '하드 루프'지연과 같은 것입니다 당신이 그들 약 모두를 현재 사용하고 있습니다 extemely 사용되는 코딩 그림은 일반적인 모든 취미 learing 계속 사업 그렇게, 그들은 매우 유용합니다.
미안하지만, 당신은 첨부 파일이 필요합니다 보려면 로그인을에

 
훌륭해, 고마워요.

코드 :

당신은 준비가 만든 스타터 코드 예제를 구성 진술을 포함 찾을 수 있습니다
 

Welcome to EDABoard.com

Sponsor

Back
Top