1 | // Bibliothek einbinden
|
2 | #include <16F690.h> |
3 | |
4 | #fuses INTRC_IO,MCLR,NOWDT,BROWNOUT,NOCPD,NOPROTECT,PUT
|
5 | |
6 | #use delay(clock=4000000)
|
7 | #zero_ram // RAM löschen.
|
8 | |
9 | //////////////////////////////////////////////////////////////////////////////////////////////////
|
10 | // Bytedirektiven //
|
11 | //////////////////////////////////////////////////////////////////////////////////////////////////
|
12 | #byte PORTA = 0x05 //
|
13 | #byte PORTB = 0x06 //
|
14 | #byte PORTC = 0x07 //
|
15 | //////////////////////////////////////////////////////////////////////////////////////////////////
|
16 | #bit DI = PORTA.5 //
|
17 | #bit RW = PORTA.4 //
|
18 | #bit ENABLE = PORTC.5 //
|
19 | #bit CS2 = PORTC.4 //
|
20 | #bit CS1 = PORTC.3 //
|
21 | #bit RESET = PORTC.6 //
|
22 | #bit DB7 = PORTB.7 //
|
23 | #bit DB6 = PORTB.6 //
|
24 | #bit DB5 = PORTB.5 //
|
25 | #bit DB4 = PORTB.4 //
|
26 | #bit DB3 = PORTC.2 //
|
27 | #bit DB2 = PORTC.1 //
|
28 | #bit DB1 = PORTC.0 //
|
29 | #bit DB0 = PORTA.2 //
|
30 | //////////////////////////////////////////////////////////////////////////////////////////////////
|
31 | |
32 | void send(void) |
33 | {
|
34 | delay_ms(20); |
35 | ENABLE = 1; |
36 | delay_ms(20); |
37 | ENABLE = 0; |
38 | delay_ms(20); |
39 | }
|
40 | |
41 | void main(void) |
42 | {
|
43 | set_tris_a(0b00000000); |
44 | set_tris_b(0b00000000); |
45 | set_tris_c(0b00000000); |
46 | |
47 | PORTA = 0x00; |
48 | PORTB = 0x00; |
49 | PORTC = 0x00; |
50 | |
51 | |
52 | delay_ms(100); |
53 | RESET = 1; |
54 | delay_ms(20); |
55 | |
56 | // Display on
|
57 | CS1 = 1; |
58 | DI = 0; |
59 | RW = 0; |
60 | DB0 = 1; |
61 | DB1 = 1; |
62 | DB2 = 1; |
63 | DB3 = 1; |
64 | DB4 = 1; |
65 | DB5 = 1; |
66 | DB6 = 0; |
67 | DB7 = 0; |
68 | send(); |
69 | |
70 | // Start Line
|
71 | DI = 0; |
72 | RW = 0; |
73 | DB0 = 0; |
74 | DB1 = 0; |
75 | DB2 = 0; |
76 | DB3 = 0; |
77 | DB4 = 0; |
78 | DB5 = 0; |
79 | DB6 = 1; |
80 | DB7 = 1; |
81 | send(); |
82 | |
83 | // Start Line
|
84 | DI = 0; |
85 | RW = 0; |
86 | DB0 = 0; |
87 | DB1 = 0; |
88 | DB2 = 0; |
89 | DB3 = 0; |
90 | DB4 = 0; |
91 | DB5 = 0; |
92 | DB6 = 1; |
93 | DB7 = 1; |
94 | send(); |
95 | |
96 | // Page select
|
97 | DI = 0; |
98 | RW = 0; |
99 | DB0 = 0; |
100 | DB1 = 0; |
101 | DB2 = 0; |
102 | DB3 = 1; |
103 | DB4 = 1; |
104 | DB5 = 1; |
105 | DB6 = 0; |
106 | DB7 = 1; |
107 | send(); |
108 | |
109 | // Column address
|
110 | DI = 0; |
111 | RW = 0; |
112 | DB0 = 0; |
113 | DB1 = 0; |
114 | DB2 = 0; |
115 | DB3 = 0; |
116 | DB4 = 0; |
117 | DB5 = 0; |
118 | DB6 = 1; |
119 | DB7 = 0; |
120 | send(); |
121 | |
122 | // Write on Display
|
123 | DI = 1; |
124 | RW = 0; |
125 | DB0 = 1; |
126 | DB1 = 1; |
127 | DB2 = 1; |
128 | DB3 = 1; |
129 | DB4 = 1; |
130 | DB5 = 1; |
131 | DB6 = 1; |
132 | DB7 = 1; |
133 | send(); |
134 | |
135 | while(1); |
136 | }
|