Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Юрий Горский. Передача отладочной информации из PIC-контроллера через COM-порт

В процессе отладки любой программы на PIC, всегда полезно посмотреть что же получилось в результате каких-либо действий. Если в устройстве есть LCD, то можно конечно отладочную информацию выводить на него. Однако если большинство выводов портов занято, подключить LCD проблематично. Но если есть хоть ОДИН свободный вывод порта, то можно передать результат каких-либо вычислений через COM-порт в компьютер. При этом можно обойтись без преобразования уровней напряжения для RS-232. Для этого желательно, чтобы PIC запитывался от 5 вольт.

Схема передачи отладочной информации в COM-порт
Работа схемы опробована на 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)

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100