Страница 1 из 1

Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 08:39:18
Dj_Crush
Изображение

программа:

#include <16f877.h>
#use delay(clock=20000000)
#use I2C(MASTER,sda=PIN_C4,scl=PIN_C3)
#use rs232(baud=19200,xmit=pin_c6,rcv=pin_c7)
//#use I2C(MASTER,sda=pin_c4,scl=pin_c3)
int i,j;
unsigned int16 ab[]={2047,2403,2747,3071,3363,3615,3820,3971,4063,4095,4063,3971,3820,3615,3363,3071,2747,2403,2047,1692,1347,1024,731,479,274,123,31,0,31,123,274,479,731,1024,1347,1692,7899};
void main()
{
i2c_start();
i2c_write(0x72);
i2c_write(0xF0);
i2c_write(0x04);
i2c_stop();
while(1)
{
i2c_start();
i2c_write(0x72);
for(i=0;i<37;i++)
{
i2c_write(ab/0x100);
i2c_write(ab%0x100);
}
i2c_stop();
}

схема и программа взята из книги Practical Aspects of Embedded System Design using Microcontrollers.
В протеусе корректно не симулируется.. есть сигнал по шине I2C, но на экране осциллографа картинка отсутствует.

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 18:54:15
dosikus
Dj_Crush, давай ссылку на книгу или выкладывай сам .
Ну не верю я что бы в книги были такие ляпы . VADD отвечает за слейв адрес а он у тебя в воздухе висит . :)))
.....
.....
.....
Ну еще бы . Автор забыл про адресацию а ты еще и свой код наляпал , не читая даташита . :))))))
Вообщем читай даташит там все есть.
Если уж туго придется, помогу...


Изображение

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 20:24:31
abc
В hex-е отсутствует конфиг. Или он для протеуса не нужен ?

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 20:36:51
dosikus
Конфиг отсутствует.
Вписать не проблема

Код: Выделить всё

#fuses  XT,NOLVP,NOWDT
Но не это самое важное ... :)))

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 20:43:03
Dj_Crush
http://yadi.sk/d/kkLDXOG8Sq66u
ссылка на книгу.

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 21:02:20
dosikus
Dj_Crush, Гы ... Ну значит аффтор мудило и даташиты не читает .
1)Подключай ADD к VDD .
2) Рабочий код , для канала A :

Код: Выделить всё


   #include <16f877.h>  
   #use delay(clock=20000000)  
   #use I2C(MASTER,sda=PIN_C4,scl=PIN_C3)
   #use rs232(baud=19200,xmit=pin_c6,rcv=pin_c7)
   #fuses  XT,NOLVP,NOWDT
  int i,j;

unsigned int16 ab[]= {1692,2043,2747,3071,3363,3615,3820,3971,4063,4095,4063,3971,3820,3615,3363,3071,2747,2403,2047,1692,1347,1024,731,479,274,123,31,0,31,123,274,479,731,1024,1347,1692 };
void main()
{
 delay_ms(100);
      i2c_start();
      i2c_write(0x72);
      i2c_write(0xF0);
      i2c_write(0x04);
      i2c_stop();
      
 while(1)
 {
    
   for(i=0;i<35;i++)
      {
       i2c_start();
       i2c_write(0x72);
       i2c_write((ab[i]/0x100)& 0x0F);
       i2c_write(ab[i] % 0x100);
       i2c_stop();
     }
 }
 }







Изображение

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 21:10:03
Dj_Crush
ты посмотрел код в книге?

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 21:13:17
dosikus
Выше все выложил .
Ступеньку уберешь сам . :)))

Re: Схема на PIC не симулируется Proteus

Добавлено: Пн июн 09, 2014 21:18:59
Dj_Crush
у меня она не работает все равно... а частоту контроллера ты какую ставишь?

Re: Схема на PIC не симулируется Proteus

Добавлено: Вт июн 10, 2014 00:11:16
dosikus
20 МГц см .

Код: Выделить всё

 #use delay(clock=20000000)