Es ist für uns alle, inklusive dir, viel einfacher, wenn du den Code
einfach hier einstellst anstatt ihn in einem PDF zu verpacken. Längeren
Code postet man als Dateianhang (und zwar nimmst du einfach dein Source
Code File, so wie es ist), kürzeren COde kann man einfach hier
einstellen
1 | list p=16f628a
|
2 | #include <P16f628a.INC>
|
3 | ERRORLEVEL -302 ; 302 Warnunten ausblenden
|
4 | ; Configuration
|
5 | ;BODEN_ON BODEN_OFF _CP_ALL _CP_75 _CP_50 _CP_OFF _DATA_CP_ON _DATA_CP_OFF _PWRTE_OFF
|
6 | ;_PWRTE_ON _WDT_ON _WDT_OFF _LVP_ON _LVP_OFF _MCLRE_ON _MCLRE_OFF _ER_OSC_CLKOUT
|
7 | _HS_OSC
|
8 | ;_ER_OSC_NOCLKOUT _INTRC_OSC_CLKOUT _INTRC_OSC_NOCLKOUT _EXTCLK_OSC _LP_OSC
|
9 | _XT_OSC
|
10 | ;;
|
11 | __CONFIG _PWRTE_OFF & _WDT_OFF & _HS_OSC & _BODEN_OFF & _LVP_OFF &
|
12 | _MCLRE_OFF ; & _CP_ALL
|
13 | ; Variablen
|
14 | loops equ 0x20
|
15 | loops2 equ 0x21
|
16 | Lauf equ 0x22
|
17 | ;A4 ist nur ein open drain ausgang, kann spannungen bis 8,5 volt auf masse ziehen, max. 20 mA,
|
18 | Ini_con Equ B'00000000' ; Interupt disable
|
19 | Ini_opt Equ B'00000010' ; pull-up
|
20 | ;**************************************************
|
21 | goto Init
|
22 | Init
|
23 | ; 16f628 anfang
|
24 | BSF CMCON, CM0
|
25 | BSF CMCON, CM1
|
26 | BSF CMCON, CM2 ; Alle porta-pins digitale i/o pins
|
27 | ; 16f628 ende
|
28 | clrf PORTB
|
29 | clrf PORTA
|
30 | bsf STATUS, RP0 ; Bank 1
|
31 | movlw Ini_opt ; pull-up Wiederstände ein
|
32 | movwf OPTION_REG
|
33 | movlw B'00000000' ; PortB output
|
34 | movwf TRISB
|
35 | movlw B'11110000' ;Porta A0 is A3 Output, A4, A5... Input
|
36 | movwf TRISA
|
37 | bcf STATUS, RP0 ; Bank 0
|
38 | ; --------------- Ende init
|
39 | start
|
40 | movlw .5
|
41 | movwf Lauf
|
42 | Licht
|
43 | bsf PORTA,0
|
44 | call wait500
|
45 | bcf PORTA,0
|
46 | bsf PORTA,1
|
47 | call wait500
|
48 | bcf PORTA,1
|
49 | bsf PORTA,2
|
50 | call wait500
|
51 | bcf PORTA,2
|
52 | call wait500
|
53 | decfsz Lauf, .1
|
54 | goto Licht
|
55 | goto E
|
56 | wait500
|
57 | call wait100
|
58 | call wait100
|
59 | call wait100
|
60 | call wait100
|
61 | call wait100
|
62 | return
|
63 | wait100
|
64 | call wait10
|
65 | call wait10
|
66 | call wait10
|
67 | call wait10
|
68 | call wait10
|
69 | call wait10
|
70 | call wait10
|
71 | call wait10
|
72 | call wait10
|
73 | call wait10
|
74 | return
|
75 | wait10
|
76 | call wait
|
77 | call wait
|
78 | call wait
|
79 | call wait
|
80 | call wait
|
81 | call wait
|
82 | call wait
|
83 | call wait
|
84 | call wait
|
85 | call wait
|
86 | return
|
87 | ; call Wait = 1 ms Pause
|
88 | wait
|
89 | movlw D'5' ; 1 ms Pause
|
90 | movwf loops
|
91 | Wai
|
92 | movlw .124 ; 0,2 ms
|
93 | movwf loops2
|
94 | Wai2 nop ;
|
95 | nop
|
96 | nop
|
97 | nop
|
98 | nop
|
99 | decfsz loops2, F
|
100 | goto Wai2
|
101 | decfsz loops, F
|
102 | goto Wai
|
103 | return
|
104 | E
|
105 | end
|
Ich hab den Code jetzt mal hier einkopiert (inklusive entsprchender
Tags, damit er als COde hervorgehoben wird), aber leider gehen bei der
Kopieraktion die Einrückungen verloren.