Передача отладочной информации из PIC-контроллера через COM-порт |
В процессе отладки любой программы на 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)
C этой схемой также часто просматривают: |
ТЕЛЕФОННЫЕ АДАПТЕРЫ ДЛЯ АВТОЗАПИСИ ИНФОРМАЦИИ ГЕНЕРАТОР ИМПУЛЬСОВ НА PIC-КОНТРОЛЛЕРЕ Связь через осветительную электросеть Передача звука по ИК каналу Чтение информации с LPT порта Программатор термометра/термостата DS1821 Универсальный велосипедный путевой прибор на PIC контроллере Часы-будильник с ЖК-индикатором Многофункциональный звонок
| |
Подключение энкодера к микроконтроллеру PIC Счётчик людей в помещении, управляющий освещением Велокомпьютер на микроконтроллере PIC16F628A Устройство ввода-вывода на микроконтроллера Два термометра на PIC16F628A и DS18B20 Светодиодные часы с циферблатом Двоичные часы Два вывода микроконтроллера PIC управляют шестью светодиодами Цифровой программируемый таймер на микроконтроллере PIC16F628A Устройство рисования в воздухе на ATtiny2313 |