# PIC mikrokontrolleri >  pic184550 inicializacija

## dainis

sveiki!

sobrid meginu iedarbinat procesoru pic18f4550, bet saskaros ar sekojosam problemam. 1. neizdodas iestadit PORTE,7 bitu, kas atbild par PORTD pullup funkciju,
2. ir problemas ar C portu, konkreti - mainot vienas no kajam stavokli bsf PORTC,1 un bcf PORTC,1 tas ietekmee ari D un E portus (tie ir output, bet vertibas mainaas izmantojot ICD2 debugeri uzreiz nakosajaa solii aiz attieciigaas komandas).

ieprieks esmu stradajis ar 16 serijas procesoriem, iespejams 18-tiem ir javeic specifiska portu inicializacija? 

ludzu dodiet idejas, butu pateicigs par kada 18 serijas procesora koda paraugu!  ::  

p.s rakstu asembleraa!

----------


## Vinchi

Vai portus nokonfigurēji? Kuri ir lasīšanai kuri izejai? Parasti jau vajag redzēt source lai kaut ko pateiktu.

----------


## dainis

sis principaa vareetu arii buut viss programmas kods, tas pats arii nestraadaa:

 ==================================
    movlw    b'00000000' 
    movwf    ADCON0,0

    movlw    b'00110000'
    movwf    TRISA,0
    clrf PORTA

    movlw    b'11100101'
    movwf    TRISB,0
    clrf PORTB

    movlw    b'00000000'
    movwf    TRISD,0
    clrf    PORTD
    bsf    PORTD,3

    clrf    TRISE
    clrf    PORTE
    bsf PORTE, 7    ;pullup on PORTD <-problem seit

    movlw    b'00000000'
    movwf    TRISC,0
    clrf PORTC

    bsf    PORTC,1    ;<- un seit
    nop
    bcf    PORTC,1
    nop
=======================================

----------


## Vinchi

Cik liela pretestība tev ir uz pull up?
Vai pie kompilēšanas esi norādijis atiecīgo mikrokontroleri?

----------


## dainis

tipa viss ir, arii dazaadi konfiguraacijas biti izmeginati..

tas pullups jau ir iekseejais!.. kaads vins ir, nezinu, bet fakts, ka nevar iestaadiit
 bsf porte,rdpu

vai vareetu but debugera vaina? lietoju  microchipa ICD2? liekas, ja programmee, bez debuga opcijas, vismaz tas C portsvairs nemaina D un E registrus, kaa ieprieks....

----------


## AntonsK

izskataas jau ka tu nebuutu sasleedzis iistaas baknas, vai netajaa adresee raxti.
seeeen nau piki aiztikti.

anyway, vaina ir softaa, ne HW, jo deelj pullupiem nevar ieraxtiities netajaa regjistraa, vai tml.

vai tava softa, vai debugera, nepateikshu.
es kautkaa parasti savus comporta debugerus lietoju, man nepatiik tie vinju - baigais ponts no debugera, ja nezini, ko tas veel pieliek pie tava softa klaat un kaadu atminjas apgabalu izmanto.

----------


## AntonsK

clrf TRISE
clrf PORTE

^- ja pareizi aceros, tad te tu abos gadiijumos nullee PORTE, jo TRIS ir citaa bankaa.
tur bija fiicha, ka vareeja paarkaartot adresaaciju taa, ka vienmeer tiec pie special function register, 
laikam ar 0 beigaas..
tipa CLRF TRISE, 0

reku skaties, shitas ir no paveca, bet peedeejaa projekta, ko es uz pica taisiiju, kakraz 18taa.

un paarlasi datasheetu ka veelreiz, PICam vieniigais labums ir tas, ka datashets ir raxtiic taa, ak nevar nesaprast...   :: 

;-=[Compiler Definations]=-
	LIST P=18F452,F=INHX32

	#include <P18F452.INC>	; File contains addresses for register and bit names

	radix hex				; Set the radix



;-=[Processor Configuration]=-	

	__CONFIG 0x300001,b'00100110'
	__CONFIG 0x300002,b'00000011'
	__CONFIG 0x300003,b'00000000'
	__CONFIG 0x300005,b'00000000'
	__CONFIG 0x300006,b'10000001'

;-=[Port setiings]=-

			CLRF	ADCON0

			MOVLW	B'00000110'

			MOVWF	ADCON1

			CLRF	TRISD,0

			CLRF	TRISA,0

			MOVLW	B'00001111'

			MOVWF	TRISB,0

			MOVLW	B'10000000'

			MOVWF	TRISC,0

			CLRF	TRISE,0

			MOVLW	0x01

			MOVWF	LATA,0

			CLRF	PORTB,0

			CLRF	PORTC,0

			CLRF	PORTD,0

			CLRF	PORTE,0

----------


## dainis

jautājums:
 kapec tiek lietoti LAT registri? konkreeti Tavaa gadījumaa tika lietots LATA, bet B, C, D portiem PORT registrs... kāda ir atšķirība?

----------


## AntonsK

18tajai seerijai ir latch regjistri. tas ir smuks uzlabojums, lai nau pa tiesho uz portu jaaraxta un read un write porti buutu atshkjiriigi.

tipa tu ieraxti latchaa, kuru peec opcodes hardware enaabljo.


nu tu vari panjemt datasheetu un paskatiitires, tur shemkas portiem ir.

ja esi slinks skatiitirs, kaapeec, prosta dari kaa es un buus pareizi  ::

----------

