Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 18.01.2010, 16:12   #1
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию USART на осцилографе

Уважаемые гуру !
Скажите как можно убедиться в работоспособности USART ?
Дело в том что цепляя на на TX ногу 16F877 в протеусе осцилограф он ничего не показывает ?

Код:
#include <htc.h>
 #define _XTAL_FREQ 4000000
__CONFIG(HS & WDTDIS & BORDIS & PWRTEN  & LVPDIS); //Proteus 3F32
unsigned char i,j,k; 


void Init (void);

void Init (void){

     TRISB = 0b00000010 ; 
     PORTB = 0;


}


void main(void) {
SPBRG=31;
    TXEN=1;
    CREN=1;
    SPEN=1;
    SYNC=0;
    RCIF=0;


    while(1==1)
    {

TXREG=0b01010101;
TXREG=0b01110011;
TXREG=0b11111111;
       
}
artmasterpro вне форума   Ответить с цитированием
Старый 18.01.2010, 16:14   #2
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
Уважаемые гуру !
Скажите как можно убедиться в работоспособности USART ?
Дело в том что цепляя на на TX ногу 16F877 в протеусе осцилограф он ничего не показывает ?

Код:
#include <htc.h>
 #define _XTAL_FREQ 4000000
__CONFIG(HS & WDTDIS & BORDIS & PWRTEN  & LVPDIS); //Proteus 3F32
unsigned char i,j,k; 


void Init (void);

void Init (void){

     TRISB = 0b00000010 ; 
     PORTB = 0;


}


void main(void) {
SPBRG=31;
    TXEN=1;
    CREN=1;
    SPEN=1;
    SYNC=0;
    RCIF=0;


    while(1==1)
    {

TXREG=0b01010101;
TXREG=0b01110011;
TXREG=0b11111111;
       
}
а чо init не вызывается? Ну и осциллограф в протезе в розетку включен? и txreg не резиновый
IgorV вне форума   Ответить с цитированием
Старый 18.01.2010, 16:37   #3
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
Уважаемые гуру !
Скажите как можно убедиться в работоспособности USART ?
Дело в том что цепляя на на TX ногу 16F877 в протеусе осцилограф он ничего не показывает ?
Не будем об ошибках в коде.
Но протеус плохо дружит с УСАРТОМ, в последней версии еще не пробовал а ранее ошибка присутствовала. Обрати внимание ТХ после окончании не подымается, этот пример я отправил в поддержку но пока результата нет.
А работать лучше через терминал, или цифровой анализ.
Миниатюры
Usart.GIF  
DL36 вне форума   Ответить с цитированием
Старый 18.01.2010, 18:03   #4
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: USART на осцилографе

Можно рабочий код для отправки кода через USART - чтобы что-то пронаблюдать в терминале в протеусе ?

Спасибо ! Извените - разбираюсь с протеусом !
artmasterpro вне форума   Ответить с цитированием
Старый 18.01.2010, 19:37   #5
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
Можно рабочий код для отправки кода через USART - чтобы что-то пронаблюдать в терминале в протеусе ?

Спасибо ! Извените - разбираюсь с протеусом !
Смотрите примеры вашего компилятора там все есть.
DL36 вне форума   Ответить с цитированием
Старый 19.01.2010, 10:58   #6
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: USART на осцилографе

НУ совсем простой кусок взял из примера компилятора. Нет не на осцлографе не на терминале. Схему прилогаю.

Код:
#include <htc.h>
__CONFIG(HS & WDTDIS & BORDIS & PWRTEN  & LVPDIS); //Proteus 3F32

void main(void) {
    SPBRG=31;
    TXEN=1;
    CREN=1;
    SPEN=1;
    SYNC=0;
    RCIF=0;


    while(1)
    {

while(TXIF)    /* set when register is empty */
        continue;

    TXREG = 0b11111111;

        }        
}
Миниатюры
usart.jpg  
artmasterpro вне форума   Ответить с цитированием
Старый 19.01.2010, 12:25   #7
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
НУ совсем простой кусок взял из примера компилятора. Нет не на осцлографе не на терминале. Схему прилогаю.
И не будет
HI-TECH Software\PICC-18\STD\9.51\samples\usart
Код:
void init(void)
{
    RBIE=1;            /*enable PORTB interrupts to */
    GIEH=1;            /*allow interrupts from PUSH BUTTONS */
    GIEL=1; 

    init_comms();      /*initialize usart in serial.c*/

    TRISB=0xF0;                                                  

    ADCON1=0x0F;       /*configure pins of ADC pins to be digital inputs*/
    UPDATE_REQUIRED=1; /*set initial values to variables*/
    DATA_RECEIVED=0;
    TX_INT=0;
}
Код:
init_comms(void)
{
    SPBRG = DIVIDER;         
    TXSTA = (SPEED|NINE_BITS|0x20);
    RCSTA = (NINE_BITS|0x90);
    TRISC6=OUTPUT;
    TRISC7=INPUT;
}
DL36 вне форума   Ответить с цитированием
Старый 19.01.2010, 14:51   #8
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от DL36 Посмотреть сообщение
И не будет
HI-TECH Software\PICC-18\STD\9.51\samples\usart
В личку писать это лишнее.

Усарт имеет два бита ошибок которые надо проверять и обрабатывать.
Полностью рабочий пример есть в ДШ.
DL36 вне форума   Ответить с цитированием
Старый 19.01.2010, 15:36   #9
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/103
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
НУ совсем простой кусок взял из примера компилятора. Нет не на осцлографе не на терминале. Схему прилагаю.

Код:
#include <htc.h>
__CONFIG(HS & WDTDIS & BORDIS & PWRTEN  & LVPDIS); //Proteus 3F32
Для этого конфига надо вывести МК из сброса, резистор на питание. Может еще и кварц подцепить, хотя последнее утверждать не буду поскольку с протеусом более не работаю ввиду большого количества ошибок в моделях.
DL36 вне форума   Ответить с цитированием
Старый 19.01.2010, 22:57   #10
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/52
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: USART на осцилографе

+1
приложите дизайн, заархивируйте и переименуйте в пдф.
urry вне форума   Ответить с цитированием
Старый 20.01.2010, 13:14   #11
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: USART на осцилографе

Господа !! Пример в samples/usart у меня не компилируеться. После в сети я кое как нашол решение и смог запустить USART но вот только все ровно немогу ничего передать на терминал. Точнее в регистр записываеться но на терминале не появляеться.

Поясню суть своих деяний: нам на работе необходимо разработать активный ИК датчик присутствия работающий на ИК лучах по принципу отражения. Т.к. в одном помещении нужно чтобы работало 3 датчика и не глушили друг друга нам нужно каждый сигнал закодировать. Вот для этой цели мне нужен USART в асинхронном режиме. ЧТО бе передать код и сразу его принять для этого мы исполоьзуем асинхронный режим USART т.к. я не представляю ка кэто реализовать по другому ибо МК однозадачный и он может сначала только отправить а потом через время принять !

Прикрепляю RAR архив переименованный в PDF со схемой и кодом.

Спасибо !
Вложения
Тип файла: pdf irsensor.pdf (16.0 Кб, 9 просмотров)
artmasterpro вне форума   Ответить с цитированием
Старый 20.01.2010, 17:45   #12
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/52
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: USART на осцилографе

тогда тем более не понимаю... Чтобы не городить на дискретных элементах усилитель ик - сигнала, можно взять готовые телевизионные ик приемники- на частоту 32- 36 килогерц, которую можно задать через шим. Ваша 19200 скорость не получится, около килобита.
прием - передача входит в периферию, вполне можно принять свой сигнал...
На ремексперте DL36 считал на 628 количество людей в помещении.
В приложении - изменил Ваш проект.
Вложения
Тип файла: pdf irsensor.pdf (50.2 Кб, 6 просмотров)
urry вне форума   Ответить с цитированием
Старый 20.01.2010, 18:17   #13
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: USART на осцилографе

Спасибо уважемый urry ! Все как нужно !

Вот только я не понял Вашего изьяснения по поводу 36кГц и USART. Народ в инете говорит вроде что на скорости 1200 или 2400 должно работать.
artmasterpro вне форума   Ответить с цитированием
Старый 20.01.2010, 18:39   #14
urry
Senior Member
 
Аватар для urry
 
Регистрация: 11.10.2007
Возраст: 57
Сообщений: 462
Вес репутации: 228/52
urry has a spectacular aura abouturry has a spectacular aura abouturry has a spectacular aura about
По умолчанию Re: USART на осцилографе

Существуют готовые приемники с несущей частотой 32-36 килогерц -
http://www.e-voron.dp.ua/catalog/002127
не нужно ничего самому паять, для передачи используют шим, только там не 50% заполняемость, а меньше - длина импульса передачи около 4 с копейками микросекунд.
urry вне форума   Ответить с цитированием
Старый 20.01.2010, 23:02   #15
artmasterpro
Junior Member
 
Регистрация: 04.01.2010
Возраст: 42
Сообщений: 21
Вес репутации: 100/38
artmasterpro will become famous soon enoughartmasterpro will become famous soon enough
По умолчанию Re: USART на осцилографе

Да про приемники я знаю. А зачем ШИМ если я просто USART настрою на нужную мне скорость чтобе приемник 36кГц принимал нормально и все. Получаеться TXREG готовый генератор импульсов.
artmasterpro вне форума   Ответить с цитированием
Старый 21.01.2010, 07:20   #16
IgorV
Senior Member
 
Аватар для IgorV
 
Регистрация: 25.02.2007
Адрес: всем пока
Возраст: 49
Сообщений: 4,100
Вес репутации: 1883/107
IgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant futureIgorV has a brilliant future
Отправить сообщение для IgorV с помощью Skype™
По умолчанию Re: USART на осцилографе

Цитата:
Сообщение от artmasterpro Посмотреть сообщение
Да про приемники я знаю. А зачем ШИМ если я просто USART настрою на нужную мне скорость чтобе приемник 36кГц принимал нормально и все. Получаеться TXREG готовый генератор импульсов.
ИК приемникам не все равно, что принимать. В них встроено АРУ (как без него то?) посему длинные паузы или наоборот длинные посылки не очень подходят. Уменьшится дальность передачи. ШИМ необходим для того чтобы поднесущую 30-40кГц создать не напрягая МК.
IgorV вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу PIC с двумя USART на борту BoolAB Продукция MICROCHIP 6 11.12.2009 18:01
Как обнаружить КЗ на линии RX в режиме USART? FiNik Общетехнические вопросы 5 09.03.2009 11:31
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
USART для PIC16F877 и PIC16F628A на Ассемблере vrup Продукция MICROCHIP 1 19.04.2007 12:45


Часовой пояс GMT +3, время: 19:10.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot