Hallo zusammen! Möchte gerne einen ADC-Wert auf einem intelligenten alphan. Display (HP HDSP-2531, wie HDSP-2112) anzeigen lassen. Bei dem HDSP müssen hier die Adresse und Steuersignale mitgeschickt werden, das Anzeigen von Klartext ist aber kein Problem und funktioniert so weit einwandfrei. Nur habe ich keine Ahnung wie ich nun einen Analog-Wert des ADCs als z.B. "2.87V" im Display anzeigen lassen kann. So sieht es zur Zeit aus (habt erbarmen, ich bin Anfänger! :-) Bin für jeden Tipp dankbar!!! /Rudi
1 | '*** ADC - Messung |
2 | Sub Hdsp_befehl_messung(byval Cycles As Byte): |
3 | Local X_local As Word |
4 | |
5 | Dim Ad As Word |
6 | Dim C As Word |
7 | Dim Ca As String * 1 |
8 | Dim Cb As String * 1 |
9 | |
10 | |
11 | Config ADC = Single , Prescaler = Auto , Reference = Avcc |
12 | Const D = 5 / 1023 '5V Avcc / 1023 ADC-Wert |
13 | Start ADC |
14 | |
15 | Do |
16 | For X_local = 1 To Cycles |
17 | Ad = Getadc(0) |
18 | C = Ad * D |
19 | Ca = Str(low(c)) |
20 | Cb = Str(high(c)) |
21 | Char_buffer(1) = " " |
22 | Char_buffer(2) = " " |
23 | Char_buffer(3) = " " |
24 | Char_buffer(4) = " " |
25 | Char_buffer(5) = Cb |
26 | Char_buffer(6) = "." |
27 | Char_buffer(7) = Ca |
28 | Char_buffer(8) = "V" |
29 | Call Hdsp_befehl_write_chars |
30 | Next |
31 | Loop |
32 | |
33 | End Sub |
34 | |
35 | '*** CHAR_BUFFER AUFS DISPLAY SCHREIBEN **************************************** |
36 | Sub Hdsp_befehl_write_chars: |
37 | |
38 | Local X_local As Byte |
39 | Local Y_local As Byte |
40 | Reset Hdsp_wr |
41 | |
42 | For X_local = 0 To 7 |
43 | Hdsp_a0 = X_local.0 'A0 - A2 geben die Position des zu schreibenden Zeichens an (0 bis 7) |
44 | Hdsp_a1 = X_local.1 'Daher übernehmen wir einfach die Bits von X_local |
45 | Hdsp_a2 = X_local.2 |
46 | Hdsp_a3 = 1 'BIT 3 muss 1 sein für CHARACTER RAM |
47 | Hdsp_a4 = 1 'BIT 4 muss 1 sein für CHARACTER RAM |
48 | |
49 | Y_local = X_local + 1 'Da Arrays immer mit 1 anfangen noch y_local benutzen... |
50 | If Asc(char_buffer(y_local)) < 144 Then 'Wir haben 128 + 16 Zeichen |
51 | Hdsp_data = Asc(char_buffer(y_local)) |
52 | Reset Hdsp_ce 'Mit CE das Display zum Übernehmen von Adresse + Daten bringen |
53 | Set Hdsp_ce |
54 | End If |
55 | Next |
56 | Set Hdsp_wr |
57 | End Sub |