Leren programmeren PICS microcontroller met MPLAB

J

Jose Fausto

Guest
Hallo Vrienden, doe ik graag leren programmeren in ASM, wilt u ook graag ... laat gaan uit te gaan van kleine proyects, uiteraard, uw medewerking is de goede manier om samen te leren.
Ik heb chosed PIC16F628A omdat vergelijkbaar is met PIC16F84, maar met meer functies.

Eerste Proyect
TURN ON OFF Een LED
Dit Proyect en uit te schakelen een LED conected te PORTB.0<img src="http://images.elektroda.net/75_1199761974_thumb.jpg" border="0" alt="LEARNING TO PROGRAM PICS MICROCONTROLLER WITH MPLAB" title="Leren programmeren PICS microcontroller met MPLAB"/> Code elkaar:Code:

;; Tutorial Primero628ALIST p = 16F628A; vertellen wat assembler chip die wij gebruiken

include "P16F628A.inc"; ook de standaardinstellingen voor de chip; CRYSTAL 20MHZ

; CONFIG van zekeringen

__CONFIG _BOREN_OFF & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _HS_OSC & _LVP_OFFcblock 0x20; empieza Donde el registro de uso algemeenAANTALARG; se usa en la rutina de vertraging

countb; se usa en la rutina de vertraging

countc; se usa en la rutina de vertraging

endcorg 0x0000; setea org, inicio 0x0000 para el 16F628A,; START PROGRAMMA (aqui es donde el programa empieza een Correr)

MOVLW 0x07

movwf CMCON; OFF Comparators (apaga los comparadores)bsf STATUS, RP0; SELECT BANK1 (selecciona bank 1)

movlw b'00000000 '; PORTB outs (setea PORTB como salidas)

movwf TRISB

BCF STATUS, RP0; SELECT BANK0 (selecciona bank 0)Loop

movlw 0x01; SELECT welke uitgangen ZAL WORDEN IN HOOG NIVEAU 00000001, proberen te veranderen

movwf PORTB

nop, geen operación

NOP

oproep Delay

MOVLW 0x00

movwf PORTB; op OFF (setea todos los bits uit)

oproep Delay

goto Loop; RETURN (retornar y volver a hacer)Vertraging

MOVLW d'250 '; VERTRAGING (retardo)Value_VarMOVLW 0xff

movwf AANTALARG

MOVLW 0xff

movwf countb

movlw 0x05; verandering tijd hier

movwf countcDelay_0

decfsz AANTALARG, f

goto Delay_0decfsz countb, f

goto Delay_0decfsz countc, f

goto Delay_0retlw 0x00eindigen

 
Hi there,

Net zag iets wat je zou willen overwegen.De 1K weerstand in serie met de LED is veel te hoog.een LED heeft 25mA limiet op.Dus met de wet van Ohm de weerstand dan kan worden 5V/0.025A = 200ohm.Ik gebruik meestal 330R weerstanden om niet te duwen de LED boven de limiet.

Maar met een 1K weerstand zal alleen gloed flauw.Just my tweo cent waard is.

Groeten

Nic

 
Nice one!
Im nieuw voor ASM, net beginnen te krijgen in.
Ik dacht dat de 16F628A had een interne oscillator?waarom havent u gebruikt dat.Ik heb gezegd niet om ze te gebruiken in plaats van de 16F84A om die reden?
Im waarschijnlijk verkeerd?
Last edited by tronix69 op 08 januari 2008 12:41, edited in totaal 1 keer

 
Quote:

Dus met de wet van Ohm de weerstand dan kan worden 5V/0.025A = 200ohm.
Ik gebruik meestal 330R weerstanden om niet te duwen de LED boven de limiet.
 
Hi vrienden(any way I used a 1k resistor with high bright Red Color LED and it is good, only need 5 miliamperes), is good for drive with 4 to 5 volts, of course color must be red, if we you use white or some blue maybe it will no turn on, or turn on with too low bright .

OK, laten we rekening houden met de weerstand ongeveer 330 ohm
(enige manier waarop ik gebruik gemaakt van een 1k weerstand met hoge heldere rode kleur LED en het is goed, hoeft slechts 5 miliamperes), is goed voor de drive met 4 tot 5 volt, natuurlijk kleur moet rood Als we u gebruik maken van witte of een blauwe misschien niet zal inschakelen, of zet met te weinig licht.
Over de oscillator, de PIC16F628A heeft interne OSC, maar eerst zullen we beginnen met kristal.
Bedankt

PLEASE ALS U MONSTERS, voor PICS, zijn welkom hier.

 

Welcome to EDABoard.com

Sponsor

Back
Top