LCDTEST.ASM


1
;Test-Projekt zum Testen des LC-Displays
2
3
.NOLIST
4
.include "2313def.inc"
5
.LIST
6
7
.org 0x00 
8
  rjmp start
9
10
.org 0x05
11
  rjmp lcdinit
12
13
14
15
16
;______________________________________________________________________________________________________
17
;hier beginnt das Hauptprogramm
18
;______________________________________________________________________________________________________
19
20
21
start:
22
  
23
  ldi r16,low(ramend)      ;Stack vorbereitet
24
  out spl,r16
25
26
  ldi r16,0b01111111      ;Port B als Ausgang definiert
27
  out DDRD,r16
28
29
  ldi r16,0b11111111
30
  out DDRB,r16        ;Port D als Ausgang definiert
31
            
32
  ldi r16,0b10000000      ;Timer 1 (16 bit) overflow Interrupt enable
33
  out TIMSK,r16
34
35
  ldi r16,0b00000001      ;Prscaler für Timer 1(CK/64)
36
  out TCCR1B,r16
37
38
  sei          ;Globales Interrupt enable
39
  
40
  rjmp loop
41
42
43
44
lcdinit:
45
46
  cli          ;interrupt disable
47
48
  
49
50
  ldi r16,0b00110100      ;Function Set (1-line/Display on)
51
  out PORTB,r16
52
53
  rcall lcd_enable
54
  rcall wait
55
  rcall wait
56
  
57
  ldi r16,0b00001111      ;Display ON/OFF Control (Display on/Curser on/Blink on)
58
  out PORTB,r16
59
60
  rcall lcd_enable
61
  rcall wait
62
  rcall wait
63
64
  ldi r16,0b00000001      ;Display Clear
65
  out PORTB,r16
66
  
67
  rcall lcd_enable
68
  rcall wait
69
  rcall wait
70
71
  ldi r16,0b00000110      ;Entry Mode Set
72
  out PORTB,r16
73
74
  rcall lcd_enable
75
  rcall wait
76
  rcall wait
77
78
  clr r16
79
  out PORTB,r16
80
  
81
  rjmp loop
82
83
loop:   rjmp loop
84
85
;_________________________________________________________________________________________________________________________
86
;hier stehen die unterprogramme
87
;_________________________________________________________________________________________________________________________
88
89
wait:
90
.include "wait.inc"
91
ret
92
93
94
lcd_enable:
95
  sbi PORTD,0
96
  nop
97
  nop
98
  nop
99
  nop
100
  nop
101
  cbi PORTD,0
102
  
103
  ret