Daarom kan je beter
pic asm code:
main
movlw 0xFF
movwf PORTB
deadend
goto deadend
end
doen.
Geen kans op overloop in oude code of data.
[Bericht gewijzigd door Henry S. op donderdag 4 februari 2010 16:48:51 (21%)
Moderator
Daarom kan je beter
pic asm code:
main
movlw 0xFF
movwf PORTB
deadend
goto deadend
end
doen.
Geen kans op overloop in oude code of data.
[Bericht gewijzigd door Henry S. op donderdag 4 februari 2010 16:48:51 (21%)
alvorens mij te laten opnemen in een mentale inrichting, want ik ben ze
een beetje aan het verliezen nog even deze korte beschrijving van de situatie, waarschijnlijk onderhevig aan een foutieve configuratie.
ik heb;
-een breadboard
-op dat bb zijn geplaatst:
_pic16f627a
_7 segment LED
_7805 + afvlak condensatoren
_4MHz kristal + condensatoren
_ MCLR pin van pic via 10K R verbonden naar 5vdc
pic asm code:
org 0x00
banksel TRISB ; Selecteer de bank waar TRISB in zit, bank 1 in dit geval
movlw 0x00
movwf TRISB
banksel PORTB; Selecteer de bank waar PORTB in zit, bank 0 in dit geval
main
movlw 0xFF
movwf PORTB
goto main
end
...en er gebeurt niets... maar misschien is dat breadboardje niks waard?
Ik neem aan dat je in je ASM ook hebt aangegeven met welke PIC je werkt, je de include file voor de 627a ook daadwerkelijk in je code include en je de fuses ook allemaal instelt?
neen, dat doe ik dus niet en ik neem aan dat deze onontbeerlijk zijn?
[Bericht gewijzigd door Sinutab op donderdag 4 februari 2010 18:10:13 (15%)
pic asm code:
pic=16F627
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BODEN_ON & _LVP_OFF
suc6
[Bericht gewijzigd door woutervi op donderdag 4 februari 2010 22:42:41 (77%)
Is het configuratie woord juist ingesteld? Post eens de volledige code.
[Bericht gewijzigd door steve04 op donderdag 4 februari 2010 22:31:33 (26%)
Special Member
neen, dat doe ik dus niet en ik neem aan dat deze onontbeerlijk zijn?
Lijkt me sterk dat je de headerfile niet #include.
Dan moet je een hele waslijst aan errors krijgen...
pic asm code:
#include pic=16F627
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BODEN_ON & _LVP_OFF
dit heb ik nu als header erbij gezet, maar mijn prul werkt dus nog altijd niet...ik heb alles nagemeten en mijn pic krijgt de voedingsspanning ed goed binnen dus weet ik het nu echt niet meer.
Doel van de schakeling is dat bij het opstarten wordt afgeteld van 5 naar 1 met een delayfactor van 500ms.
Ik had reeds in het verleden een soortgelijke schakeling gemaakt met een 16f84a en deze werkte wel perfect.
Ikzelf werk met pic simulator van oshonsoft en heb daar nooit een header in geschreven en toch werkte alles goed met 16f84a.
...maar ik zal niet rusten alvorens dit werkende te krijgen!!!!
Zoals gezegd: probeer eens een blink-a-led van voti ofzo, dan weet je alvast dat je hardware in orde is.
Wat je daar neerzet klopt ook niet. Zie hier een voorbeeld, zoals ik het zojuist uit een ASM van mezelf haal:
pic asm code:
LIST P=16F676 ; Hier geef je aan met welke PIC je werkt
; Met de onderstaande regel include je de standaard
; include file van Microchip. Hierin is voor onder
; andere alle registers een makkelijk te onthouden namen
; gedefinieerd. Bestanden zijn te vinden in de
; mplab_installatie_dir\MPASM Suite\
#include <P16F676.inc>
; Hieronder configureer je het CONFIG register. Zie
; hiervoor de datasheet en de include file
__config _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
Let wel, dit voorbeeld is dus voor de 16F676!
En nogmaals, plaats je schema hier eens! Misschien zit daar wel een fout in, hoe simpel het schema ook is.
En over het 'schrijven' van een include file. Dit hoef je dus niet zelf te doen. En inderdaad werkt het zonder ook wel, het maakt je programmeer-leven alleen wat makkelijker en overzichtelijker: PORTB onthoud een stuk makkelijker dan 0x06. Vooral omdat niet bij iedere PIC PORTB op adres 0x06 zit!
[Bericht gewijzigd door RvL op vrijdag 5 februari 2010 13:20:07 (15%)
In je configuratie woord staat HS_OSC dit moet je plaatsen indien je een kristal van 8, 10 of 20MHz gebruikt. Jij hebt aangegeven dat je een kristal van 4MHz gebruikt dan moet je in plaats van HS_OSC XT_OSC gebruiken.