www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PIC - kako začeti ?
Pojdi na stran 1, 2, 3, 4, 5, 6, 7, 8, 9  Naslednja
 
Objavi novo temo   Ta tema je zaklenjena: ne moreš urejati sporočil ali odgovarjati na objave.   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jun 14, 2004 6:58 am    Naslov sporočila: icon_idea PIC - kako začeti ? Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jun 14, 2004 7:17 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jun 14, 2004 7:25 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LoLek
Član
Član



Pridružen-a: Sre 25 Feb 2004 12:46
Prispevkov: 343
Aktiv.: 1.45

PrispevekObjavljeno: Pon Jun 14, 2004 1:45 pm    Naslov sporočila:   Odgovori s citatom

A lahko vprašam zakaj ne uporabljaš mplaba? Meni je stvar čisto všeč.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jun 14, 2004 1:51 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jun 14, 2004 1:57 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LoLek
Član
Član



Pridružen-a: Sre 25 Feb 2004 12:46
Prispevkov: 343
Aktiv.: 1.45

PrispevekObjavljeno: Pon Jun 14, 2004 2:10 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slowfly
Član
Član



Pridružen-a: Sre 18 Feb 2004 2:07
Prispevkov: 4082
Aktiv.: 17.23
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jun 17, 2004 8:33 pm    Naslov sporočila:   Odgovori s citatom

Še fotografija moje "umetnine". Samo še kabel in nekaj lepotnih zadev , pa lahko začnem.


Testna plošča.jpg
 Opis:
 Velikost datoteke:  86.09 KB
 Pogledana:  711 krat

Testna plošča.jpg


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Čet Jun 17, 2004 9:18 pm    Naslov sporočila:   Odgovori s citatom

Applause 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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slowfly
Član
Član



Pridružen-a: Sre 18 Feb 2004 2:07
Prispevkov: 4082
Aktiv.: 17.23
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jun 17, 2004 9:23 pm    Naslov sporočila:   Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Čet Jun 17, 2004 10:22 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slowfly
Član
Član



Pridružen-a: Sre 18 Feb 2004 2:07
Prispevkov: 4082
Aktiv.: 17.23
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jun 17, 2004 10:30 pm    Naslov sporočila:   Odgovori s citatom

Hvala Silvo !

Nazadnje urejal/a Slowfly Čet Jun 17, 2004 11:10 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Čet Jun 17, 2004 10:31 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slowfly
Član
Član



Pridružen-a: Sre 18 Feb 2004 2:07
Prispevkov: 4082
Aktiv.: 17.23
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jun 17, 2004 11:13 pm    Naslov sporočila:   Odgovori s citatom

Č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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Jun 18, 2004 6:36 pm    Naslov sporočila:   Odgovori s citatom

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.


disp.zip
 Opis:

Download
 Ime datoteke:  disp.zip
 Velikost datoteke:  9.12 KB
 Downloadano:  175 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Ta tema je zaklenjena: ne moreš urejati sporočil ali odgovarjati na objave.   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2, 3, 4, 5, 6, 7, 8, 9  Naslednja
Stran 1 od 9

 
Pojdi na:  
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