 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 14, 2004 6:58 am Naslov sporočila: PIC - kako začeti ? |
|
|
Ker je bilo zadnji čas kar nekaj debate glede programiranja v assemblerju pa tudi nekaj zasebnih sporočil sem dobil na to temo bom ponovno odprl debato, ki smo jo na forumu že obdelovali. Na Filemanager v mapo "Mikrokontrolerji -> PIC" sem pripel nekaj dokumentacije, ki sem je snel z Microchipa. Prav tako sem tja pripel prevajalnik MPASMWIN. Le ta se nahaja v sklopu paketa MPLAB. Starejše verzije so sicer omogočile namestitev le MPASM sedaj je potrebno namestiti cel paket. Sam MPLAB-a ne uporabljam, zato sem izločil le MPASM z vsemi pripadoajočimi *.INC datotekami. Vsebino arhiva (MCHIP_Tools.zip) razpakirajte v poljuben direktorij. Priporočam, da ga naredite iz osvnovnega imetnika nap. ASM. To pa zaradi lažjega navajanja poti za *.INC datotek pri pisanju programa.
Potreben je še en editor, ki zna tvorit čisto asci besedilo (čisti tekst)
_________________ lp
Silvo
Nazadnje urejal/a Silvo Pon Okt 25, 2004 3:03 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 14, 2004 7:17 am Naslov sporočila: |
|
|
Kako naj bo sestavljen program:
Koda: |
;-------------------------------------------------
;TEST
; Vse kar je napisano za podpičjem je
;za MPASMWIN nevidno ter se smatra
;kot komentar
;------------------------------------------------
list P=12F675 ;tukaj povemo MPASMWIN kak procesor bo v rabi
;podatek ni nujen možna ročna nastavitev pred prevajanjem
#include "d:\asm\p12f675.inc" ;pot do *.INC datoteke kaj je ta datoteka bom opisal kasneje
errorlevel -302 ;če želimo da MPASMWIN kakega opzorila ne kaže
__CONFIG _CP_OFF & _PWRTE_ON & _BODEN_OFF & _WDT_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT
;konfiguracijski stavek - ni nujen FUSE je možno nastaviti pred
;programiranjem na samem softwaru programamtorja.
cblock 0x20 ;napoved imen registrov RAM-a ki bodo v rabi. V danem
;primeru je lokacija 0x20=TMP, 0x21 =I2_C_TMP
;imena so lahko poljubna začeti se morajo z črko
TMP,I2C_TMP,I2C_COUNT
endc
ORG 0x0 ;pic mikrokotrolerji imajo reset vektor na 0x00
goto GLAVNI
org 0x4 ; če je v rabi prekinitev se ta začne izvajati na 0x04
goto PREKINITEV
ORG 0x05 ;od loacije 0x05 dalje pa se lahko začne program
end ; konec programa
|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 14, 2004 7:25 am Naslov sporočila: |
|
|
Kaj je *.inc datoteka ? Zakaj je potrebna ?
Prevajalnik jo koristi zato, da zamenja določene besede, ki so bile v rabi zaradi lažjega progamiranja z ciframi. Poglejmo vsebino.
Copy/paste datoteke, ki smo jo navedli zgoraj. Gre za čisto tekstovno datoteko.
Primer zgoraj smo napisali _CP_OFF on bo to zamenjal z H'3FFF' itd ....
Koda: |
LIST
; P12F675.INC Standard Header File, Version 1.04 Microchip Technology, Inc.
NOLIST
; This header file defines configurations, registers, and other useful bits of
; information for the PIC12F675 microcontroller. These names are taken to match
; the data sheets as closely as possible.
; Note that the processor must be selected before this file is
; included. The processor may be selected the following ways:
; 1. Command line switch:
; C:\ MPASM MYFILE.ASM /PIC12F675
; 2. LIST directive in the source file
; LIST P=PIC12F675
; 3. Processor Type entry in the MPASM full-screen interface
;==========================================================================
;
; Revision History
;
;==========================================================================
;1.04 07/01/02 Updated configuration bit names
;1.03 05/10/02 Corrected ADCON0 register, added IOC register
;1.02 02/28/02 Updated per datasheet
;1.01 01/31/02 Updated per datasheet
;1.00 08/24/01 Original
;==========================================================================
;
; Verify Processor
;
;==========================================================================
IFNDEF __12F675
MESSG "Processor-header file mismatch. Verify selected processor."
ENDIF
;==========================================================================
;
; Register Definitions
;
;==========================================================================
W EQU H'0000'
F EQU H'0001'
;----- Register Files------------------------------------------------------
INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
GPIO EQU H'0005'
PCLATH EQU H'000A'
INTCON EQU H'000B'
PIR1 EQU H'000C'
TMR1L EQU H'000E'
TMR1H EQU H'000F'
T1CON EQU H'0010'
CMCON EQU H'0019'
ADRESH EQU H'001E'
ADCON0 EQU H'001F'
OPTION_REG EQU H'0081'
TRISIO EQU H'0085'
PIE1 EQU H'008C'
PCON EQU H'008E'
OSCCAL EQU H'0090'
WPU EQU H'0095'
IOC EQU H'0096'
IOCB EQU H'0096'
VRCON EQU H'0099'
EEDATA EQU H'009A'
EEADR EQU H'009B'
EECON1 EQU H'009C'
EECON2 EQU H'009D'
ADRESL EQU H'009E'
ANSEL EQU H'009F'
;----- STATUS Bits --------------------------------------------------------
IRP EQU H'0007'
RP1 EQU H'0006'
RP0 EQU H'0005'
NOT_TO EQU H'0004'
NOT_PD EQU H'0003'
Z EQU H'0002'
DC EQU H'0001'
C EQU H'0000'
;----- GPIO Bits --------------------------------------------------------
GP5 EQU H'0005'
GPIO5 EQU H'0005'
GP4 EQU H'0004'
GPIO4 EQU H'0004'
GP3 EQU H'0003'
GPIO3 EQU H'0003'
GP2 EQU H'0002'
GPIO2 EQU H'0002'
GP1 EQU H'0001'
GPIO1 EQU H'0001'
GP0 EQU H'0000'
GPIO0 EQU H'0000'
;----- INTCON Bits --------------------------------------------------------
GIE EQU H'0007'
PEIE EQU H'0006'
T0IE EQU H'0005'
INTE EQU H'0004'
GPIE EQU H'0003'
T0IF EQU H'0002'
INTF EQU H'0001'
GPIF EQU H'0000'
;----- PIR1 Bits ----------------------------------------------------------
EEIF EQU H'0007'
ADIF EQU H'0006'
CMIF EQU H'0003'
T1IF EQU H'0000'
TMR1IF EQU H'0000'
;----- T1CON Bits ---------------------------------------------------------
TMR1GE EQU H'0006'
T1CKPS1 EQU H'0005'
T1CKPS0 EQU H'0004'
T1OSCEN EQU H'0003'
NOT_T1SYNC EQU H'0002'
TMR1CS EQU H'0001'
TMR1ON EQU H'0000'
;----- COMCON Bits --------------------------------------------------------
COUT EQU H'0006'
CINV EQU H'0004'
CIS EQU H'0003'
CM2 EQU H'0002'
CM1 EQU H'0001'
CM0 EQU H'0000'
;----- ADCON0 Bits --------------------------------------------------------
ADFM EQU H'0007'
VCFG EQU H'0006'
CHS1 EQU H'0003'
CHS0 EQU H'0002'
GO EQU H'0001'
NOT_DONE EQU H'0001'
GO_DONE EQU H'0001'
ADON EQU H'0000'
;----- OPTION Bits --------------------------------------------------------
NOT_GPPU EQU H'0007'
INTEDG EQU H'0006'
T0CS EQU H'0005'
T0SE EQU H'0004'
PSA EQU H'0003'
PS2 EQU H'0002'
PS1 EQU H'0001'
PS0 EQU H'0000'
;----- PIE1 Bits ----------------------------------------------------------
EEIE EQU H'0007'
ADIE EQU H'0006'
CMIE EQU H'0003'
T1IE EQU H'0000'
TMR1IE EQU H'0000'
;----- PCON Bits ----------------------------------------------------------
NOT_POR EQU H'0001'
NOT_BOD EQU H'0000'
;----- OSCCAL Bits --------------------------------------------------------
CAL5 EQU H'0007'
CAL4 EQU H'0006'
CAL3 EQU H'0005'
CAL2 EQU H'0004'
CAL1 EQU H'0003'
CAL0 EQU H'0002'
;----- IOCB Bits --------------------------------------------------------
IOCB5 EQU H'0005'
IOCB4 EQU H'0004'
IOCB3 EQU H'0003'
IOCB2 EQU H'0002'
IOCB1 EQU H'0001'
IOCB0 EQU H'0000'
;----- IOC Bits --------------------------------------------------------
IOC5 EQU H'0005'
IOC4 EQU H'0004'
IOC3 EQU H'0003'
IOC2 EQU H'0002'
IOC1 EQU H'0001'
IOC0 EQU H'0000'
;----- VRCON Bits ---------------------------------------------------------
VREN EQU H'0007'
VRR EQU H'0005'
VR3 EQU H'0003'
VR2 EQU H'0002'
VR1 EQU H'0001'
VR0 EQU H'0000'
;----- EECON1 -------------------------------------------------------------
WRERR EQU H'0003'
WREN EQU H'0002'
WR EQU H'0001'
RD EQU H'0000'
;----- ANSEL --------------------------------------------------------------
ADCS2 EQU H'0006'
ADCS1 EQU H'0005'
ADCS0 EQU H'0004'
ANS3 EQU H'0003'
ANS2 EQU H'0002'
ANS1 EQU H'0001'
ANS0 EQU H'0000'
;==========================================================================
;
; RAM Definition
;
;==========================================================================
__MAXRAM H'FF'
__BADRAM H'06'-H'09', H'0D', H'11'-H'18', H'1A'-H'1D', H'60'-H'7F'
__BADRAM H'86'-H'89', H'8D', H'8F', H'91'-H'94', H'97'-H'98', H'E0'-H'FF'
;==========================================================================
;
; Configuration Bits
;
;==========================================================================
_CPD_ON EQU H'3EFF'
_CPD_OFF EQU H'3FFF'
_CP_ON EQU H'3F7F'
_CP_OFF EQU H'3FFF'
_BODEN_ON EQU H'3FFF'
_BODEN_OFF EQU H'3FBF'
_MCLRE_ON EQU H'3FFF'
_MCLRE_OFF EQU H'3FDF'
_PWRTE_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FEF'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FF7'
_LP_OSC EQU H'3FF8'
_XT_OSC EQU H'3FF9'
_HS_OSC EQU H'3FFA'
_EC_OSC EQU H'3FFB'
_INTRC_OSC_NOCLKOUT EQU H'3FFC'
_INTRC_OSC_CLKOUT EQU H'3FFD'
_EXTRC_OSC_NOCLKOUT EQU H'3FFE'
_EXTRC_OSC_CLKOUT EQU H'3FFF'
LIST
|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
LoLek Član

Pridružen-a: Sre 25 Feb 2004 12:46 Prispevkov: 343 Aktiv.: 1.45
|
Objavljeno: Pon Jun 14, 2004 1:45 pm Naslov sporočila: |
|
|
A lahko vprašam zakaj ne uporabljaš mplaba? Meni je stvar čisto všeč.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 14, 2004 1:51 pm Naslov sporočila: |
|
|
S PIC-em sem začel dokaj hitro - takrat mislim, da še ni bilo MPLAB-a. Bil je edino MPASM. Kasneje sem ga sicer naložil - a se nikoli nisem poglabljal v njega.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jun 14, 2004 1:57 pm Naslov sporočila: |
|
|
Po moje je začeti najbolje čisto z osnove. Torej en editor, ki ga dobro poznaš ter prevajalnik MPASM. Zakaj; Začetniku je najprej tuj sam MPLAB poleg tega ne pozna niti assemblerja. Torej ko začetnik nekako obvlada osnove assemblerja ter spozna strukturo procesorja se bo bistveno lažje učil tudi uporabljati MPLAB.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
LoLek Član

Pridružen-a: Sre 25 Feb 2004 12:46 Prispevkov: 343 Aktiv.: 1.45
|
Objavljeno: Pon Jun 14, 2004 2:10 pm Naslov sporočila: |
|
|
Ja, ne vem, jaz sem začel programirati kar z mplabom. Všeč mi je, da lahko enostavne programe, kar simuliraš z mplabom.
|
|
Nazaj na vrh |
|
 |
Slowfly Član


Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 17.23 Kraj: Ljubljana
|
Objavljeno: Čet Jun 17, 2004 8:33 pm Naslov sporočila: |
|
|
Še fotografija moje "umetnine". Samo še kabel in nekaj lepotnih zadev , pa lahko začnem.
Opis: |
|
Velikost datoteke: |
86.09 KB |
Pogledana: |
711 krat |

|
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jun 17, 2004 9:18 pm Naslov sporočila: |
|
|
Slowfly kaj naj rečem -odlično... napiši, ko bo kabel. Kje si dobil tisti velik konektor ?
Sam sem ga takrat iskal po trgovinah, pa ga nisem našel - na koncu sem ga našel v enem predalu doma.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Slowfly Član


Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 17.23 Kraj: Ljubljana
|
Objavljeno: Čet Jun 17, 2004 9:23 pm Naslov sporočila: |
|
|
Silvo
Konektor sem dobil v IC-ju. Sicer ni dvovrstični tipa B kot bi moral biti , ampak trivrstični tipa A-C , ki pa sem ga predelal v tip B.
Kabel bo jutri , naredil pa bom še podstavek iz pleksi stekla , na katerega bom privil testno ploščo.
lp Jože
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jun 17, 2004 10:22 pm Naslov sporočila: |
|
|
Pinout kabla za paralelni pogrogramator (Winpicprog ali P16pro)
Testna plošča (DB9) LPT (25)
3------------------------5 (D3)
4------------------------2 (D0)
5------------------------18-25 (masa)
7------------------------ 3 (D1)
8------------------------ 10(ACK)
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Slowfly Član


Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 17.23 Kraj: Ljubljana
|
Objavljeno: Čet Jun 17, 2004 10:30 pm Naslov sporočila: |
|
|
Hvala Silvo !
Nazadnje urejal/a Slowfly Čet Jun 17, 2004 11:10 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jun 17, 2004 10:31 pm Naslov sporočila: |
|
|
Ko bo Slowfly imel narejen kabel in bo plošča delala ŠTARTAMO. Če se bo kdo pridružil je dobrodošel. Debata bo čisto odprta. Vse se bo izkjučno dogajalo direkno na forumu. Vzeli bomo "legendo" PIC16F84 ker je pač testna plošča narejena pred vsem za njega. Mogoče bo kdo rekel, da je že za "penzijo" - s tem se sicer ne bi najbolj strinjal, kajti z rabo assemblerja je še vedno dokaj zmogljiv mikrokontroler. Dejstvo pa je, da ko obvladaš 16F84 dejansko obvladaš celo mikorchipovo družino PIC.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Slowfly Član


Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 17.23 Kraj: Ljubljana
|
Objavljeno: Čet Jun 17, 2004 11:13 pm Naslov sporočila: |
|
|
Če kdo misli , da je 84-ka švoh - v HTE-ju imajo 20MHz verzijo- menda pa se ga da tudi "naviti". Potem pa je to že mala "raketa".
lp
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pet Jun 18, 2004 6:36 pm Naslov sporočila: |
|
|
Slowfly, ko si ravno v formi za izdelavo TIV. Naredi še adapter v prilogi. Gre za 4 mestni LED displej, ki dela v multiplex načinu. Uporabljeni so štirje displeji s skupno katodo 4 NPN transistorji. (BC547… ) upori na bazo so od 2-5k upori v segmente pa 270-470E. Za vsak primer še preglej tiskanino, da na njej mogoče ni kake napake. Sam sem jo sicer naredil a doma nimam displejev, da bi jo preizkusil.
Opis: |
|
 Download |
Ime datoteke: |
disp.zip |
Velikost datoteke: |
9.12 KB |
Downloadano: |
175 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|