Соединил без max232, у pic допустимо ведь так для портов?
Код вот
Код
//#include "16F887.h"
#pragma origin 4
#pragma interruptSaveCheck w
#define FOSC 8000000L
#define delay_us(x) { unsigned char us; \
us = (x)/(12000000/FOSC)|1; \
while(--us != 0) continue; }
void delay_ms(unsigned int ms)
{
unsigned char i;
do {
i = 4;
do {
delay_us(164);
} while(--i);
} while(--ms);
}
void init_usart(void)
{
TRISC=0x80; //rx - input, tx - output
BRGH = 0; //low
SPBRG = 12; //9600 = 8000000/(64(x+1)) =>x=12
SYNC = 0; //asynchronous
SPEN = 1; //enable serial port pins
TXIE = 0; //disable tx interrupts
RCIE = 0; //disable rx interrupts
TX9 = 0; //8- or 9-bit transmission
RX9 = 0; //8- or 9-bit reception
TXEN = 1; //enable the transmitter
CREN = 0; //disable the transmitter
}
void putch(unsigned char byte) /* передача одного байта */
{
/* while(!TXIF)
continue;
*/
TXREG = byte;
}
void main(void)
{
OSCCON=0x70;
TRISD = 0x00;
for(;;) {
putch(0x43);
PORTD = 0x0;
delay_ms(200000);
PORTD = 0x1;
delay_ms(200000);
}
}
#pragma origin 4
#pragma interruptSaveCheck w
#define FOSC 8000000L
#define delay_us(x) { unsigned char us; \
us = (x)/(12000000/FOSC)|1; \
while(--us != 0) continue; }
void delay_ms(unsigned int ms)
{
unsigned char i;
do {
i = 4;
do {
delay_us(164);
} while(--i);
} while(--ms);
}
void init_usart(void)
{
TRISC=0x80; //rx - input, tx - output
BRGH = 0; //low
SPBRG = 12; //9600 = 8000000/(64(x+1)) =>x=12
SYNC = 0; //asynchronous
SPEN = 1; //enable serial port pins
TXIE = 0; //disable tx interrupts
RCIE = 0; //disable rx interrupts
TX9 = 0; //8- or 9-bit transmission
RX9 = 0; //8- or 9-bit reception
TXEN = 1; //enable the transmitter
CREN = 0; //disable the transmitter
}
void putch(unsigned char byte) /* передача одного байта */
{
/* while(!TXIF)
continue;
*/
TXREG = byte;
}
void main(void)
{
OSCCON=0x70;
TRISD = 0x00;
for(;;) {
putch(0x43);
PORTD = 0x0;
delay_ms(200000);
PORTD = 0x1;
delay_ms(200000);
}
}
Cпасибо