PIC16f628 programmieren

Gast #5899277
Lesenswert?

Sebastian schrieb:
> Ich will aber einen Open-Source Assembler.

Im jeden Preis?
Auch wenn die Microchip IDE + Compiler + Programmer / Debugger top sind?

PIC in Assembler zu vergewaltigen ist so lustig wie eine
Zahlwurzelbehandlung.
Du verzichtest auf den Debugger nur um das irgendwie von hinten durch 
die Brust ins Auge mit einem Arduino zu programmieren?

Jeder wie er mag, aber mein einziger Tip dazu ist, Dir einen PICkit 4 zu 
holen und Dir das MPlab X + kostenlosem C Compiler zu ziehen.
https://www.microchip.com/mplab/mplab-x-ide

Damit steht Dir das ganze MC (ds)PIC Universum offen statt mühselig 
handgeklöppelten, unleserlichen, nicht wiederverwendbaren Code in ASM zu 
verbrechen.

Was bringt eigentlich eine Open Source Toolchain bei einem Closed Source 
Mikrocontroller?
Warum ist das bei HW okay und bei Software ein no go?
Beitrag #5899313 wurde von einem Moderator gelöscht.
#5899318
Lesenswert?

Sebastian schrieb:
> Hat jemand vielleicht gerade ein "Blinky" zur Hand?

Da sollte so ziemlich jedes Beispielprogramm für gehen, das du finden 
kannst. Musst halt nur den Prozessornamen ändern.

Für einen (uralten) PIC16C76. Wie du das auf deinen Controller gebogen 
bekommst, darfst du gerne selber herausfinden.
1
;************************************************************
2
; Processor: PIC16C76 at 8 MHz using external oscillator
3
; Function: Flash a LED connected to RB0
4
; Author: Sebastian Rietig
5
;************************************************************
6

7
LIST P=16C76, R=DEC ; Use the PIC16C76 and decimal system
8

9
#include "P16C76.INC" ; Include header file
10

11
__config _WDT_OFF & _PWRTE_OFF & _BODEN_ON & _XT_OSC
12

13
; -----------
14
; INITIALIZE
15
; -----------
16

17
ORG 0x000 ; Program starts at 0x000
18

19
CLRF PORTA ; Initialize port A
20
CLRF PORTB ; Initialize port B
21

22
BSF STATUS,RP0 ; RAM bank 1
23

24
CLRF TRISA ; All pins port A output
25
CLRF TRISB ; All pins port B output
26

27
BCF STATUS,RP0 ; RAM bank 0
28

29
MOVLW 7
30
MOVWF ADCON1 ; Comparators off, all pins digital I/O
31

32
; ----------
33
; MAIN LOOP
34
; ----------
35

36
Main BSF PORTB,0 ; Turn on LED connected to RB0
37
CALL Delay
38
BCF PORTB,0 ; Turn off LED connected to RB0
39
CALL Delay
40
GOTO Main
41

42
; Delay = 0.5 seconds
43
; Clock frequency = 8 MHz
44
; http://www.piclist.com/techref/piclist/codegen/delay.htm
45

46
CBLOCK 0x20
47
d1
48
d2
49
d3
50
ENDC
51

52
Delay
53
;999990 cycles
54
MOVLW 0x07
55
MOVWF d1
56
MOVLW 0x2F
57
MOVWF d2
58
MOVLW 0x03
59
MOVWF d3
60
Delay_0
61
DECFSZ d1, f
62
GOTO $+2
63
DECFSZ d2, f
64
GOTO $+2
65
DECFSZ d3, f
66
GOTO Delay_0
67

68
;6 cycles
69
GOTO $+1
70
GOTO $+1
71
GOTO $+1
72

73
;4 cycles (including call)
74
RETURN
75

76
END
Gast #5899406
Lesenswert?

>Warum nehmen Anfaenger eigentlich gern den PIC16f628?

Falls du mich meinst:
Eigentlich frage ich nur nach den Tools, weil ich im Gegensatz zu dir 
auch in 2 Stunden selbst einen Assembler mit passender VM schreiben 
kann.
Aber erst muss ich sehen, ob sich das lohnt.
Gast #5899443
Lesenswert?

> Aber erst muss ich sehen, ob sich das lohnt.

Wenn der 16F628 dich schon 1.30 kostet wohl eher nicht.

Die unerschoepfliche Quelle von PICs sind/waren alte Akkumodule
von HP-Servern die ihren Cache damit gestuetzt haben.
Da stecken dann aber 16LF819 drin.

> in 2 Stunden selbst einen Assembler mit passender VM schreiben kann

Wer es wirklich drauf hat, spielt eigentlich nicht *uinos herum.

Und der ordert sich fuer 10 Eu einfach einen Clone aus Malaysia und
verfrachtet ein MPLAB(ohne X) auf seinen Rechner.
Das braucht in der Summe kaum mehr als eine Viertelstunde.
Gast #5899513
Lesenswert?

npn (Gast)
>Toll! Endlich ein Supergenie im Forum. Wo andere Monate bzw. Jahre dazu
>brauchen, willst du das gleiche in zwei Stunden schaffen.

Dass du glaubst, dass man dazu ein Genie sein muss, zeigt dein schwaches 
Niveau.
Einen simplen Assembler sollte schon jeder Bachelor schreiben können.
Ich verlasse mal diesen Thread, die Flughöhe ist mir hier zu niedrig.
#5899735
Lesenswert?

Sebastian schrieb:
> Einen simplen Assembler sollte schon jeder Bachelor schreiben können.

Aber wo er recht hat, hat er recht!
Dazu brauchts nicht mal nen Bachelor.

npn schrieb:
>> weil ich im Gegensatz zu dir auch in 2 Stunden
>> selbst einen Assembler mit passender VM schreiben kann.
>
> Toll! Endlich ein Supergenie im Forum. Wo andere Monate bzw. Jahre dazu
> brauchen, willst du das gleiche in zwei Stunden schaffen.

Ein Assembler ist etwas VÖLLIG anderes, als ein Compiler!
Der übersetzt doch nur einen Buchstaben Code, in einen Zahlen Code.
Eine Label-Verwaltung und Makro-Funktion ist auch noch schnell dazu 
gebastelt.....
Gast #5899748
Lesenswert?

Teo D. schrieb:
> Ein Assembler ist etwas VÖLLIG anderes, als ein Compiler!
> Der übersetzt doch nur einen Buchstaben Code, in einen Zahlen Code.
> Eine Label-Verwaltung und Makro-Funktion ist auch noch schnell dazu
> gebastelt.....

Das weiß ich. Meinst du wirklich, daß man das alles komplett in weniger 
als 2h auf die Beine stellen kann? Darf ich da leise Zweifel anmelden?
Gast #5900690
Lesenswert?

Sebastian schrieb:
> Einen simplen Assembler sollte schon jeder Bachelor schreiben können.

Und ab Realschulniveau sollte man es schaffen auf einen Link zu clicken 
und des englischen mächtig genug sein, um den downloadlink zu finden.

Du pinkelst einen ganz schön breiten Strahl dafür das Du das alles von 
A-Z nicht alleine auf die Kette bekommst.

Zu genial für die einfachen Dinge, oder einfach nur großes Maul gepaart 
mit kein Benehmen?
Persönliche Seite #5901368
Lesenswert?

Wer nimmt denn noch PICs her ... Das können wohl nur Leute sein, die 
bestehende Designs haben und darauf angewiesen sind - und falls nicht, 
sind es Leute, die keinerlei Ahnung haben.

Bei Mouser kostet ein aktueller Cortex M0 im 20pin Package nur 
geringfügig mehr, dafür hat man aber deutlich mehr Resourcen, ist 
schneller usw:

https://www.mouser.de/ProductDetail/STMicroelectronics/STM32F042F6P6?qs=sGAEpiMZZMsMLZWdhVL71%252Bd710qY6Ja3vgPhlEe9cgc%3D

Für die Cortex gibt es auch freie Tools wie GCC usw

*edit*: Oder Leute, die etwas in hohen Stückzahlen produzieren wollen - 
die würden dann aber vmtl einen 20ct-µC aus China verwenden.
Gast #5901455
Lesenswert?

> ist schneller

Bei manchen Dingen hat man alle Zeit der Welt.

So ein 16LF819 braucht bei 1.5 V und internem LFO-Takt
(ca. 30 kHz) 4 µA und bei 1.3 V noch 3 µA*.

Wenn er fertig hat, kann man ihn dann auch noch richtig
schlafen legen.

Mit einem STM32F030 habe ich solche niedrigen Taktraten
zugegebenermassen noch nicht probiert.



*) Werte an einem Beratungsmuster gemessen.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.