Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.06.2012, 13:35  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Atmega16 + 24c04 не работает в железе

Помогите разобраться, не работает в железе. По ходу виснет контроллер.
в протеусе все работает. Уже менял микруху но ничего не помогает. В железе на жк не выводится текст. Если не использую функцию eep_write(0x01,0x01); то выводиться текст

Код:
/**************************************************  ***
This program was produced by the
CodeWizardAVR V2.05.3 Professional
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 29.06.2012
Author  : user
Company : home
Comments: 


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
**************************************************  ***/

#include ‹mega16.h›
#include ‹delay.h›
// I2C Bus functions




//#asm
//   .equ __i2c_port=0x15 ;PORTB
//   .equ __sda_bit=3
//   .equ __scl_bit=2
//#endasm
#include ‹i2c.h›

#define EEPROM_BUS_ADDRESS 0xa0

// Alphanumeric LCD functions
#include ‹alcd.h›

// Declare your global variables here

/**************************************************  *************************************
+ Читаем ячейку из 24с02.
+ В параметрах указывается адрес читаемой ячейки.
+ Функция возвращает прочитаное из ячейки.
**************************************************  **************************************/
unsigned char eep_read(unsigned char address) {
unsigned char data;                    //переменная для прочитаных данных
i2c_start();                           //посылаем команду "старт" в шину i2c
i2c_write(EEPROM_BUS_ADDRESS);         //посылаем в шину адрес устройства
i2c_write(address);                    //посылаем в шину адрес читаемой ячейки
i2c_start();                           //снова посылаем "старт" в шину
i2c_write(EEPROM_BUS_ADDRESS | 1);     //незнаю зачем но без этого не работает
data=i2c_read(0);                      //принимаем данные с лини и сохраняем в переменную
i2c_stop();                            //посылаем команду "стоп"
return data;                           //возврощаем значение прочитаного
}

/**************************************************  *************************************
+ Запись данных в ячейку 24с02.
+ В параметрах указывается адрес записываемой ячейки (adress).
+ Также указуем в параметрах данные которые надо записать в ячейку.
**************************************************  **************************************/
void eep_write(unsigned char address, unsigned char data) {   
i2c_start();                           //посылаем команду "старт" в шину i2c
i2c_write(EEPROM_BUS_ADDRESS);         //посылаем в шину адрес устройства
i2c_write(address);                    //посылаем в шину адрес записываемой ячейки
i2c_write(data);                       //посылаем данные для записи
i2c_stop();                            //посылаем команду "стоп"
}






void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// I2C Bus initialization
// I2C Port: PORTC
// I2C SDA bit: 3
// I2C SCL bit: 2
// Bit Rate: 100 kHz
// Note: I2C settings are specified in the
// Project|Configure|C Compiler|Libraries|I2C menu.
i2c_init();

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
// RD - PORTD Bit 1
// EN - PORTD Bit 2
// D4 - PORTD Bit 4
// D5 - PORTD Bit 5
// D6 - PORTD Bit 6
// D7 - PORTD Bit 7
// Characters/line: 16
lcd_init(16);


eep_write(0x01,0x01);

lcd_putsf("gggggggggggg");
while (1)
      {
      
      // Place your code here

      }
}
Вложения:
Тип файла: rar проекты2eeprom.rar (131.8 Кб, 43 просмотров)
Реклама:
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
Непрочитано 29.06.2012, 13:41  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

Чужие коды, они такие... не придет АСК и будете сидеть ждать седьмого пришествия.
Pull-up какого номинала?
Стасов на вас не хватает.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 29.06.2012, 14:02  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

резаки 4,7кОм

А как код подправить?
Что в нем добавить что бы не вис?
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
Непрочитано 29.06.2012, 14:13  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

В этом коде уже ничего не подправишь. Это готовая либа.
Смотрите монтаж. Ноги А0, А1, А2 как подключены? Адрес скорее всего не верный или сопля на плате.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 29.06.2012, 14:17  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

ноги сидят на корпусе
WС тоже на корпусе
сопли нет

Последний раз редактировалось eu8cc; 29.06.2012 в 14:33.
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
Непрочитано 29.06.2012, 14:19  
suriCat
Прописка
 
Регистрация: 30.06.2011
Сообщений: 139
Сказал спасибо: 94
Сказали Спасибо 47 раз(а) в 36 сообщении(ях)
suriCat на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

Давно не работал с CV. Библиотеки закрытые, не все сразу понятно. В тексте программы Вы явно отключаете I2C (TWCR=0x00). Попробуйте посмотреть, включается ли I2C при инициализации или нет.
Удачи!

Последний раз редактировалось suriCat; 29.06.2012 в 14:20. Причина: Поставил лишний символ
suriCat вне форума  
Сказали "Спасибо" suriCat
warel (29.06.2019)
Непрочитано 29.06.2012, 14:24  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

Сообщение от suriCat Посмотреть сообщение
Давно не работал с CV. Библиотеки закрытые, не все сразу понятно. В тексте программы Вы явно отключаете I2C (TWCR=0x00). Попробуйте посмотреть, включается ли I2C при инициализации или нет.
Удачи!
мне не нужен пока TWCR=0x00, через его у меня будет работать ds1307
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
Непрочитано 29.06.2012, 14:30  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

Вот пример подключения и работы в протеусе
Вложения:
Тип файла: rar проекты2eeprom.rar (218.5 Кб, 48 просмотров)
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
Непрочитано 29.06.2012, 14:36  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

Так у вас еепром к шине i2c и не подключен вовсе.
Дебаггером посмотрите. Там петрушка.

Последний раз редактировалось Easyrider83; 29.06.2012 в 14:38.
Easyrider83 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
eu8cc (29.06.2012), warel (29.06.2019)
Непрочитано 29.06.2012, 14:43  
eu8cc
Частый гость
 
Регистрация: 08.11.2005
Сообщений: 16
Сказал спасибо: 5
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
eu8cc на пути к лучшему
По умолчанию Re: Atmega16 + 24c04 не работает в железе

что бы дедагером посмотреть мне нужна AvrStudio. которой у меня нет. А Вы можете подсказать что нужно изменить что бы заработало?
eu8cc вне форума  
Сказали "Спасибо" eu8cc
warel (29.06.2019)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверяем efald "в железе"... PacinkSN Электроника - это просто 61 22.07.2010 18:12
mega16+hd44780+ds18b20 глючит при работе в железе Jkot Микроконтроллеры, АЦП, память и т.д 3 18.11.2009 15:50
Будет ли работать в железе (PCF8574) R-a-v-e-n Микроконтроллеры, АЦП, память и т.д 18 22.06.2009 12:33
ATmega16 в Proteus 6.9 SP3 Pro. не работает LCD на PORTC. TiN_TM Микроконтроллеры, АЦП, память и т.д 5 18.04.2007 12:37
[Решено] У кго-нибудь в Proteus в модели ATMega16 работает флаг Т?(-) vvs5 Proteus 2 31.08.2005 12:27


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


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