1 | /************************************************************************/
|
2 | //Include Dateien
|
3 | /************************************************************************/
|
4 | #include <p18f46k80.h> // PIC18F46K80 auswählen
|
5 | #include <stdio.h> // Standard-Bibiotheken
|
6 | #include "SP_PIC18F46K80.H"
|
7 | #include "Warten_MS.C"
|
8 | #include "Segment.C"
|
9 | #include "USART.C"
|
10 | /************************************************************************/
|
11 |
|
12 | /************************************************************************/
|
13 | // Microcontroller-Konfiguration
|
14 | /************************************************************************/
|
15 | // CONFIG1L
|
16 | #pragma config RETEN = OFF
|
17 | #pragma config INTOSCSEL = LOW
|
18 | #pragma config SOSCSEL = DIG
|
19 | #pragma config XINST = OFF
|
20 |
|
21 | // CONFIG1H
|
22 | #pragma config FOSC = HS2 // Oscillator (HS oscillator (Medium power, 16 MHz - 25 MHz))
|
23 | #pragma config PLLCFG = OFF
|
24 | #pragma config FCMEN = OFF
|
25 | #pragma config IESO = OFF
|
26 |
|
27 | // CONFIG2L
|
28 | #pragma config PWRTEN = OFF // Power Up Timer (Disabled)
|
29 | #pragma config BOREN = OFF
|
30 | #pragma config BORV = 3 // Brown-out Reset Voltage bits (1.8V)
|
31 | #pragma config BORPWR = ZPBORMV // BORMV Power level (ZPBORMV instead of BORMV is selected)
|
32 |
|
33 | // CONFIG2H
|
34 | #pragma config WDTEN = SWDTDIS // Watchdog Timer (WDT enabled in hardware; SWDTEN bit disabled)
|
35 | #pragma config WDTPS = 1048576 // Watchdog Postscaler (1:1048576)
|
36 |
|
37 | // CONFIG3H
|
38 | #pragma config CANMX = PORTC // ECAN Mux bit (ECAN TX and RX pins are located on RB2 and RB3, respectively)
|
39 | #pragma config MSSPMSK = MSK7 // MSSP address masking (7 Bit address masking mode)
|
40 | #pragma config MCLRE = ON // Master Clear Enable (MCLR Enabled, RG5 Disabled)
|
41 |
|
42 | // CONFIG4L
|
43 | #pragma config STVREN = OFF // Stack Overflow Reset (Disabled)
|
44 | #pragma config BBSIZ = BB2K // Boot Block Size (2K word Boot Block size)
|
45 |
|
46 | // CONFIG5L
|
47 | #pragma config CP0 = OFF // Code Protect 00800-03FFF (Disabled)
|
48 | #pragma config CP1 = OFF // Code Protect 04000-07FFF (Disabled)
|
49 | #pragma config CP2 = OFF // Code Protect 08000-0BFFF (Disabled)
|
50 | #pragma config CP3 = OFF // Code Protect 0C000-0FFFF (Disabled)
|
51 |
|
52 | // CONFIG5H
|
53 | #pragma config CPB = OFF // Code Protect Boot (Disabled)
|
54 | #pragma config CPD = OFF // Data EE Read Protect (Disabled)
|
55 |
|
56 | // CONFIG6L
|
57 | #pragma config WRT0 = OFF // Table Write Protect 00800-03FFF (Disabled)
|
58 | #pragma config WRT1 = OFF // Table Write Protect 04000-07FFF (Disabled)
|
59 | #pragma config WRT2 = OFF // Table Write Protect 08000-0BFFF (Disabled)
|
60 | #pragma config WRT3 = OFF // Table Write Protect 0C000-0FFFF (Disabled)
|
61 |
|
62 | // CONFIG6H
|
63 | #pragma config WRTC = OFF // Config. Write Protect (Disabled)
|
64 | #pragma config WRTB = OFF // Table Write Protect Boot (Disabled)
|
65 | #pragma config WRTD = OFF // Data EE Write Protect (Disabled)
|
66 |
|
67 | // CONFIG7L
|
68 | #pragma config EBTR0 = OFF // Table Read Protect 00800-03FFF (Disabled)
|
69 | #pragma config EBTR1 = OFF // Table Read Protect 04000-07FFF (Disabled)
|
70 | #pragma config EBTR2 = OFF // Table Read Protect 08000-0BFFF (Disabled)
|
71 | #pragma config EBTR3 = OFF // Table Read Protect 0C000-0FFFF (Disabled)
|
72 |
|
73 | // CONFIG7H
|
74 | #pragma config EBTRB = OFF // Table Read Protect Boot (Disabled)
|
75 | /************************************************************************/
|
76 |
|
77 |
|
78 | /************************************************************************/
|
79 | // sonstige Deklarationen
|
80 | /************************************************************************/
|
81 | #define True 1
|
82 | #define False 0
|
83 | /************************************************************************/
|
84 |
|
85 | /************************************************************************/
|
86 | // Hauptprogramm
|
87 | /************************************************************************/
|
88 |
|
89 | void main(void)
|
90 | {
|
91 |
|
92 | unsigned char unc_Wert;
|
93 |
|
94 |
|
95 | PORTB = 0x00;
|
96 | LATB = 0x00;
|
97 | TRISB = 0x00;
|
98 |
|
99 | TRISC= 0b01011000; // PORTC initalisieren
|
100 | LATC= 0b01011000;
|
101 |
|
102 | Init_USART(19200);
|
103 |
|
104 | PORTD = 0x00;
|
105 | LATD = 0x00;
|
106 | TRISD = 0x00;
|
107 |
|
108 | //*************************************************************************
|
109 | // Start der Hauptprogramm-Schleife
|
110 | //*************************************************************************
|
111 |
|
112 | while(1) // Ganzes Programm ist Endlosschleife
|
113 | {
|
114 |
|
115 |
|
116 | // funktioniert
|
117 | //unc_Wert = 'F';
|
118 | //LATB = unc_Wert;
|
119 | //LATD = unc_Wert;
|
120 | //Zeichen_Anzeigen(unc_Wert);
|
121 |
|
122 | LATB = 0xFF;
|
123 | LATD =~ LATB;
|
124 |
|
125 | // funktioniert
|
126 | //LATD = 0x00;
|
127 | //LATB = 0x00;
|
128 | //Delay10KTCYx(200);
|
129 | //LATD = 0xFF;
|
130 | //LATB = 0xFF;
|
131 | //Delay10KTCYx(200);
|
132 |
|
133 | DA= 1;
|
134 | printf("%.3u", LATD
|
135 | printf("\r\n");
|
136 | DA= 0;
|
137 |
|
138 | }
|
139 | //************************************************************************
|
140 | } // Ende des Hauptprogramm
|
141 | //************************************************************************
|