
mediente emu8086, imprimir en una pantalla VGA, la temperatura en tiempo real ocilando entre 40° y 8
Publicado por goldo (1 intervención) el 01/10/2023 02:49:22
necesito implimentar un sistema de de control automatico mediante emu8086, que mantega la temperatura ocilando entre 40° y 80°c. ademas el valor de la temperatura leido por el sensor es mostrado en una pantalla VGA, donde se pueda leer
temp[C]: XX, donde XX representa el valor de la temperatura leido por el sensor en el puerto 125.
para llamar la atencion del usuario, el texto es pintado de color rojo y fpndo amarillo cuando la temperatura es menor o igual a 60°C y el texto es pintado de color amarillo y fondo rojo cuando la temperatura es mayor a 60°C
hasta el momento me falta poder imprimir los valores de la temperatura en numero ya que en la pantalla VGA, se me muestra pero en ascii.
si alguien me puede ayudar porfavor.
temp[C]: XX, donde XX representa el valor de la temperatura leido por el sensor en el puerto 125.
para llamar la atencion del usuario, el texto es pintado de color rojo y fpndo amarillo cuando la temperatura es menor o igual a 60°C y el texto es pintado de color amarillo y fondo rojo cuando la temperatura es mayor a 60°C
hasta el momento me falta poder imprimir los valores de la temperatura en numero ya que en la pantalla VGA, se me muestra pero en ascii.
si alguien me puede ayudar porfavor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
org 100h
#start=thermometer.exe#
#make_bin#
mov cx, cs
mov ds, cx
start:
in al,125
mov bl,al
cmp al, 40
jl low
cmp al, 80
jle ok
jg high
low:
mov al, 1
out 127, al
mov ax, 0b800h
mov ds, ax
mov [02h], 'T'
mov [04h], 'e'
mov [06h], 'm'
mov [08h], 'p'
mov [0ah], '['
mov [0ch], 'C'
mov [0eh], ']'
mov [10h], ':'
mov [12h], bl
mov ax, 3
int 10h
mov ax, 1003h
mov bx, 0
int 10h
mov ax, 0b800h
mov ds, ax
mov cx, 12
mov di, 03h
c: mov [di], 11101100b
add di, 2
loop c
jmp ok
high:
mov al, 0
out 127, al
mov ax, 0b800h
mov ds, ax
mov [02h], 'T'
mov [04h], 'e'
mov [06h], 'm'
mov [08h], 'p'
mov [0ah], '['
mov [0ch], 'C'
mov [0eh], ']'
mov [10h], ':'
mov [12h], bl
mov ax, 3
int 10h
mov ax, 1003h
mov bx, 0
int 10h
mov ax, 0b800h
mov ds, ax
mov cx, 12
mov di, 03h
d: mov [di], 11001110b
add di, 2
loop d
jmp ok
ok:
jmp start
Valora esta pregunta


0