В процессе отладки любой программы на PIC, всегда полезно посмотреть что же получилось в результате каких-либо действий. Если в устройстве есть LCD, то можно конечно отладочную информацию выводить на него. Однако если большинство выводов портов занято, подключить LCD проблематично. Но если есть хоть ОДИН свободный вывод порта, то можно передать результат каких-либо вычислений через COM-порт в компьютер. При этом можно обойтись без преобразования уровней напряжения для RS-232. Для этого желательно, чтобы PIC запитывался от 5 вольт.
Работа схемы опробована на PIC16F84, но я не вижу препятствий, почему не может быть использован практически ЛЮБОЙ PIC. Правда, подпрограмма расчитана на частоту 4 Мгц, для другой частоты просто нужно подкорректировать подпрограммы пауз:;=============================================================================================== ; передача символа по протоколу RS232, скорость 9600, data = 8, nonparity, ; 1 stopbit, 4 Мгц, символ в Char_RS232 ;=============================================================================================== #define _TxD PORTB, 5 PutChar_RS232 movlw .8 movwf tmpdelay01 bcf _TxD ; стартовый бит call delay_95mks call delay_8mks m_PutChar_RS232_01 ; данные rrf Char_RS232, f btfss STATUS,C bcf _TxD btfsc STATUS,C bsf _TxD call delay_95mks decfsz tmpdelay01,f goto m_PutChar_RS232_01 bsf _TxD ; бит четности call delay_95mks call delay_8mks bsf _TxD ; стоповый бит call delay_95mks call delay_8mks rrf Char_RS232, f return delay_95mks movlw .22 movwf tmpdelay01 nop decfsz tmpdelay01, f goto $-2 nop nop return delay_8mks nop nop nop nop return ;=========================================Для создания программы работы с COM-портом предлагается класс для Win32 на Builder C++ (файл mserial.h). В классе MSerial используются только API функции, так что его переделать под любой компилятор — дело пяти минут. Исходный текст примера программы, читающей 2 байта из COM-порта размещён в файле prog.cpp.
Автор проекта: Юрий Горский (E-mail: yuragv@mbox.com.ua)
Микроэлектронные проекты ||| Главная страница ||| Содержание ||| Без кадра
E-mail: info@telesys.ru