Bn he logrado enviarle un mensaje mediante el puerto RS232 uzando el virtual terminal del Proteus.... este es el codigo:
#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)
#use RS232(BAUD=9600, BITS=8, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7)
#byte porta=0x05
#byte portb=0x06
#byte portd=0x08
#byte trisa=0x85
#byte trisb=0x86
#byte trisd=0x88
const unsigned char tabla[91][6] = {
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 00
{0x00,0x00,0x00,0x00,0x00,0xff }, // 01
{0x00,0x00,0x00,0x00,0x00,0xf0 }, // 02
{0x00,0x00,0x00,0x00,0x00,0x01 }, // 03
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 04
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 05
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 06
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 07
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 08
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 09
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 10
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 11
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 12
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 13
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 14
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 15
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 16
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 17
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 18
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 19
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 20
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 21
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 22
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 23
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 24
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 25
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 26
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 27
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 28
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 29
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 30
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 31
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 32
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 33
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 34
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 35
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 36
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 37
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 38
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 39
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 40
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 41
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 42
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 43
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 44
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 45
{0x00,0x03,0x03,0x00,0x00,0x00 }, // 46 .
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 47
{0x3E,0x45,0x49,0x51,0x3E,0x00 }, // 48 0
{0x44,0x42,0x7F,0x40,0x40,0x00 }, // 49 1
{0x42,0x61,0x51,0x49,0x46,0x00 }, // 50 2
{0x22,0x41,0x49,0x49,0x36,0x00 }, // 51 3
{0x38,0x24,0x22,0x7F,0x20,0x00 }, // 52 4
{0x27,0x49,0x49,0x49,0x31,0x00 }, // 53 5
{0x3E,0x49,0x49,0x49,0x32,0x00 }, // 54 6
{0x01,0x01,0x71,0x09,0x07,0x00 }, // 55 7
{0x36,0x49,0x49,0x49,0x36,0x00 }, // 56 8
{0x26,0x49,0x49,0x49,0x36,0x00 }, // 57 9
{0x00,0x36,0x36,0x00,0x00,0x00 }, // 58 :
{0x00,0x36,0x36,0x00,0x00,0x00 }, // 59
{0x38,0x38,0xfe,0x7b,0x38,0x10 }, // 60 flecha
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 61
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 62
{0x00,0x00,0x00,0x00,0x00,0x00 }, // 63
{0x32,0x49,0x79,0x41,0x3e,0x00 }, // 64 @
{0x7e,0x11,0x11,0x11,0x7e,0x00 }, // 65 A
{0x7f,0x49,0x49,0x49,0x36,0x00 }, // 66 B
{0x3e,0x41,0x41,0x41,0x22,0x00 }, // 67 C
{0x7f,0x41,0x41,0x22,0x1c,0x00 }, // 68 D
{0x7f,0x49,0x49,0x49,0x41,0x00 }, // 69 E
{0x7f,0x09,0x09,0x09,0x01,0x00 }, // 70 F
{0x3e,0x41,0x49,0x49,0x7a,0x00 }, // 71 G
{0x7f,0x08,0x08,0x08,0x7f,0x00 }, // 72 H
{0x00,0x41,0x7f,0x41,0x00,0x00 }, // 73 I
{0x20,0x40,0x41,0x3f,0x01,0x00 }, // 74 J
{0x7f,0x08,0x14,0x22,0x41,0x00 }, // 75 K
{0x7f,0x40,0x40,0x40,0x40,0x00 }, // 76 L
{0x7f,0x02,0x0c,0x02,0x7f,0x00 }, // 77 M
{0x7f,0x04,0x08,0x10,0x7f,0x00 }, // 78 N
{0x3e,0x41,0x41,0x41,0x3e,0x00 }, // 79 O
{0x7f,0x09,0x09,0x09,0x06,0x00 }, // 80 P
{0x3e,0x41,0x51,0x21,0x5e,0x00 }, // 81 Q
{0x7f,0x09,0x19,0x29,0x46,0x00 }, // 82 R
{0x46,0x49,0x49,0x49,0x31,0x00 }, // 83 S
{0x01,0x01,0x7f,0x01,0x01,0x00 }, // 84 T
{0x3f,0x40,0x40,0x40,0x3f,0x00 }, // 85 U
{0x1f,0x20,0x40,0x20,0x1f,0x00 }, // 86 V
{0x3f,0x40,0x38,0x40,0x3f,0x00 }, // 87 W
{0x63,0x14,0x08,0x14,0x63,0x00 }, // 88 X
{0x07,0x08,0x70,0x08,0x07,0x00 }, // 89 Y
{0x61,0x51,0x49,0x45,0x43,0x00 }, // 90 Z
};
unsigned long u,q;
char str[];
char mns[15];
void print(char chr1) {
for (q=0;q<6;q++) {
portb=tabla[chr1][q];
portd=tabla[chr1][q];//lo mismo con las unidades
delay_ms(1000); // 640us
}
}
void MENSAJE(char dato[15]){
for(q=0;q<12;q++)
str[q]=dato[q];
for(u=0;u<12;u++)
print(str[u]);
}
void main(){
trisa = 0x00;
porta = 0x00;
trisb = 0x00;
portb = 0x00;
trisd = 0x00;
portd = 0x00;
gets(mns);
printf("Mostrar: %s\r",mns);
while(1)//Este es el bucle que necesito sea infinito
MENSAJE(mns);
}
while(1)//Este es el bucle que necesito sea infinito
MENSAJE(mns);
Creo que este ciclo deberia repetirse indefinidamente, pero no lo hace... Que estare haciendo mal? Ayudenmen porfavor...