laStudiu Postat Aprilie 16, 2007 Partajează Postat Aprilie 16, 2007 Am cumparat un PIC16f871, am facut un programmer, am legat un afisaj cu 3 cifre (7 segmente si punct) la porturile E0-2 comanda afisaj si A2-5 + C0-3 comanda led ... am scris cod in ASM ... l-am programat, totul bine... dar cand il pun in soclul aplicatiei nu face nimic, decat trece E0-3 in 4.58V, A2-5 si C0-3 in 0.04V, iar restul 0 V . ... Am tot incercat si de cateva ori s-au aprins ledurile dar cand am apasat pe RESET(MCLR\) sau daca l-am repornit din nou am patit la fel (E-4.58V, etc.). Link spre comentariu
Vizitator mister_rf Postat Aprilie 16, 2007 Partajează Postat Aprilie 16, 2007 Discutia fara o schema este inutila. In plus de unde stii ca ai scris in PIC un cod fara erori? Link spre comentariu
vsurducan Postat Aprilie 17, 2007 Partajează Postat Aprilie 17, 2007 Am cumparat un PIC16f871, am facut un programmer, ar trebui verificat ca programatorul iti merge... am legat un afisaj cu 3 cifre (7 segmente si punct) la porturile E0-2 comanda afisaj si A2-5 + C0-3 comanda led ... am scris cod in ASM ... l-am programat, totul bine... programeaza intai ceva simplu, de exemplu sa palpaie punctul, apoi programeaza ceva mai complicat de exemplu un sarpe umblator pe segmente... dar cand il pun in soclul aplicatiei nu face nimic, decat trece E0-3 in 4.58V, A2-5 si C0-3 in 0.04V, iar restul 0 V . ... Am tot incercat si de cateva ori s-au aprins ledurile dar cand am apasat pe RESET(MCLR\) sau daca l-am repornit din nou am patit la fel (E-4.58V, etc.). MCLR conectat la GND prin 100nF cu rezistenta de pullpup de 10K la VCC Convertorul AD trebuie dezactivat daca umbli cu semnale digitale pe portul A, fuzibilele programate OK ?, oscilatorul de 4Mhz sau altul cu capacitoare de 15-33pF la masa, in apropierea cipului si nu la kilometri distanta de el... Nu utiliza soclu ci ICSP alfel faci bataturi la surubelnita pana o sa-l programezi... etc Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Discutia fara o schema este inutila. In plus de unde stii ca ai scris in PIC un cod fara erori?Cu întârziere, dar iată schema (e ataşată la post)ar trebui verificat ca programatorul iti merge . . .programeaza intai ceva simplu, de exemplu sa palpaie punctul, apoi programeaza ceva mai complicat de exemplu un sarpe umblator pe segmente . . . MCLR conectat la GND prin 100nF cu rezistenta de pullpup de 10K la VCCConvertorul AD trebuie dezactivat daca umbli cu semnale digitale pe portul A, fuzibilele programate OK ?, oscilatorul de 4Mhz sau altul cu capacitoare de 15-33pF la masa, in apropierea cipului si nu la kilometri distanta de el... Nu utiliza soclu ci ICSP alfel faci bataturi la surubelnita pana o sa-l programezi... etcProgramatorul îmi identifică PIC-ul, deci cred că este bun, nu?Eu deocamdată încerc să programez ceva şi mai simplu, să-mi facă OUT pe portul C şi nu reuşesc.Cuarţul e la 1 cm de PIC cu 4 condensatoare în serie + paralel (2 x (12 pF + 2.7 pF)). Atunci o să încerc să fac ICSP. Link spre comentariu
blackthorium Postat Aprilie 17, 2007 Partajează Postat Aprilie 17, 2007 ce ziceai de condensatoarele alea serie+paralel?sper ca nu ai inseriat 12 cu 2.7 Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 ce ziceai de condensatoarele alea serie+paralel?sper ca nu ai inseriat 12 cu 2.7Nu. Am pus in paralel 12 cu 2.7 si 1 pin la OSC1 si celalalt la masa. La fel pentru OSC2 Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Ar putea careva sa-mi trimita un HEX pt f871 cara sa-mi faca OUT 0xAApe portul RC sa vad daca merge Link spre comentariu
Abram Burel Postat Aprilie 17, 2007 Partajează Postat Aprilie 17, 2007 Acum ca ne-am lamurit ca schema e buna, ar trebui sa vedem si codul, nu-i asa?! Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Eu m-am uitat in MPLAB quick start guide si am folosit project wizard pe proiect, unde am introdus 16f871.lkr si f871tmpo.asm si a iesit OK la compilare ... l-am verificat si cu simulatorul si merge, dar practic ... Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Eu m-am uitat in MPLAB quick start guide si am folosit project wizard pe proiect, unde am introdus 16f871.lkr si f871tmpo.asm si a iesit OK la compilare ... l-am verificat si cu simulatorul si merge, dar practic ... Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 ;**********************************************************************; This file is a basic code template for object module code *; generation on the PIC16F871. This file contains the *; basic code building blocks to build upon. As a project minimum *; the 16F871.lkr file will also be required for this file to *; correctly build. The .lkr files are located in the MPLAB *; directory. *; *; If interrupts are not used all code presented between the *; code section "INT_VECTOR and code section "MAIN" can be removed. *; In addition the variable assignments for 'w_temp' and *; 'status_temp' can be removed. *; *; If interrupts are used, as in this template file, the 16F871.lkr *; file will need to be modified as follows: Remove the lines *; CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED *; and *; SECTION NAME=STARTUP ROM=vectors *; and change the start address of the page0 section from 0x5 to 0x0 **; *; Refer to the MPASM User's Guide for additional information on *; features of the assembler and linker (Document DS33014). *; *; Refer to the respective PIC data sheet for additional *; information on the instruction set. *; *;**********************************************************************; *; Filename: xxx.asm *; Date: *; File Version: *; *; Author: *; Company: *; *; *;**********************************************************************; *; Files required: *; *; *; *;**********************************************************************; *; Notes: *; *; *; *; *;**********************************************************************list p=16f871 ; list directive to define processor#include <p16f871.inc> ; processor specific variable definitions__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_ENABLE_ON& _LVP_ON & _CPD_OFF; '__CONFIG' directive is used to embed configuration data within .asm file.; The labels following the directive are located in the respective .inc file.; See respective data sheet for additional information on configuration word.;***** VARIABLE DEFINITIONS (examples); example of using Shared Uninitialized Data SectionINT_VAR UDATA_SHR 0x71w_temp RES 1 ; variable used for context savingstatus_temp RES 1 ; variable used for context saving; example of using Uninitialized Data SectionTEMP_VAR UDATA_SHR 0x20 ; explicit address specified is not requiredtemp_count RES 1 ; temporary variable (example);**********************************************************************RESET_VECTOR CODE 0x000 ; processor reset vectormovlw high start ; load upper byte of 'start' labelmovwf PCLATH ; initialize PCLATH; org 0 ;setarea startuluigoto start ; go to beginning of programINT_VECTOR CODE 0x004 ; interrupt vector locationmovwf w_temp ; save off current W register contentsmovf STATUS,w ; move status register into W registermovwf status_temp ; save off contents of STATUS register; isr code can go here or be located as a call subroutine elsewheremovf status_temp,w ; retrieve copy of STATUS registermovwf STATUS ; restore pre-isr STATUS register contentsswapf w_temp,fswapf w_temp,w ; restore pre-isr W register contentsretfie ; return from interruptbank0 macrobcf STATUS, RP0bcf STATUS, RP1 ;BANK 0endmbank1 macrobsf STATUS, RP0bcf STATUS, RP1 ;BANK 0endmMAIN CODEstartbank0CLRF PORTACLRF PORTCCLRF PORTE;loopbank1 ;BANK 1clrwmovwf TRISC ; configure PORTC as all outputsMOVLW 0XC0movwf TRISA ;configure PORTA as all outputsmovwf TRISE ; configure PORTE as all outputsmovlw 0x07movwf ADCON1 ; configure the function of the analog-to-digital; converter as all Digital I/Oloopbank0 ;BANK 0MOVLW 0x06MOVWF PORTEMOVLW b'00111100'MOVWF PORTAMOVLW 0XfeMOVWF PORTCgoto loop; remaining code goes hereEND ; directive 'end of program' Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Am facut ICSP si nu mai recunoaste programatorul PIC-ul. Cred ca-i ceva hard baiu -- o sa verific mai atent Link spre comentariu
Abram Burel Postat Aprilie 17, 2007 Partajează Postat Aprilie 17, 2007 Pai, de ce _RC_OSC (declaratie in __CONFIG), cand tu ai configuratie _XT_OSC (pe schema)? Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Pai, de ce _RC_OSC (declaratie in __CONFIG), cand tu ai configuratie _XT_OSC (pe schema)?eu nu am scris cod decat de la bank0 macroin jos ... s-ar putea sa fiu asta problema. Am verificat schema -- firul DATA (ICSP) nu facea contact bine, acuma i-mi recunoaste PIC-ul programatorul Link spre comentariu
laStudiu Postat Aprilie 17, 2007 Autor Partajează Postat Aprilie 17, 2007 Pai, de ce _RC_OSC (declaratie in __CONFIG), cand tu ai configuratie _XT_OSC (pe schema)? EVRIKAAAAA ! ...... functioneaza picul Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum