Unsigned char EEPROM_read(unsigned int uiAddress)

{

/* Wait for completion of previous write */

while(EECR & (1<<EEWE));

/* Set up address register */

EEAR = uiAddress;

/* Start eeprom read by writing EERE */

EECR |= (1<<EERE);

/* Return data from data register */

return EEDR;

}

ИСТОЧНИКИ И ПОТРЕБИТЕЛИ CLOCK

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Работа с таймерами (на примере Т0)

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Count Increment or decrement TCNT0 by 1.

Direction Selects between increment and decrement.

Clear Clear TCNT0 (set all bits to zero).

ClkT0 Timer/Counter clock.

Top Signalizes that TCNT0 has reached maximum value.

Bottom Signalizes that TCNT0 has reached minimum value (zero).

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru , N – 1,8,32,64,128,256,1024

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Режим PWM

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

РЕГИСТР УПРАВЛЕНИЯ

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

№ п.п. Адрес Источник Наименование вектора прерывания
$0000 RESET Сброс по сигналу Reset, включению питания и сторожевому таймеру
$0002 INT0 Запрос внешнего прерывания 0
$0004 INT1 Запрос внешнего прерывания 1
$0006 INT2 Запрос внешнего прерывания 2
$0008 INT3 Запрос внешнего прерывания 3
$000A INT4 Запрос внешнего прерывания 4
$000C INT5 Запрос внешнего прерывания 5
$0006 INT6 Запрос внешнего прерывания 6
$0010 INT7 Запрос внешнего прерывания 7
$0012 TIMER2 COMP Совпадение таймера/счетчика T2
$0014 TIMER2 OVF Переполнение таймера/счетчика T2
$0016 TIMER1 CAPT Захват таймера/счетчика T1
$0018 TIMER1 COMPA Совпадение «А» таймера/счетчика T1
$001A TIMER1 COMPB Совпадение «B» таймера/счетчика T1
$001C TIMER1 OVF Переполнение таймера/счетчика T1
$001E TIMER0 COMP Совпадение при сравнении таймера/счетчика T0
$0020 TIMER0 OVF Переполнение таймера/счетчика T0
$0022 SPI, STC Завершена пересылка порта SPI
$0024 UART0, RX Завершение приема UART0
$0026 UART0, UDRE Регистр данных UART0 пуст
$0028 UART0, TX Завершение передачи UART0
$002A ADC Завершение AD преобразования
$002C EE READY Готовность EEPROM
$002E ANALOG COMP Срабатывание аналогового компаратора
$0030 TIMER1 COMPC Совпадение «С» таймера/счетчика T1
$0032 TIMER3 CAPT Переполнение таймера/счетчика T3
$0034 TIMER3 COMPA Совпадение «A» таймера/счетчика T3
$0036 TIMER3 COMPB Совпадение «B» таймера/счетчика T3
$0038 TIMER3 COMPC Совпадение «С» таймера/счетчика T3
$003A TIMER3 OVF Переполнение таймера/счетчика T3
$003C USART1, RX Завершение приема UART
$003E USART1, UDRE Регистр данных UART1 пуст
$0040 USART1, TX Завершение передачи UART1
$0042 TWI Прерывание от модуля TWI
$0044 SPM_RDY Готовность SPM

Режимы адресации AVR

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.1. Регистровая адресация (один регистр общего назначения)

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.2. Регистровая адресация (два регистра общего назначения)

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.3. Регистровая адресация (регистры ввода

Вывода)

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.4. Прямая адресация данных

Рис.1.5. Косвенная адресация данных со смещением

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.6. Косвенная адресация данных

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Рис.1.7. Косвенная адресация данных с преддекрементом

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Рис.1.8. Косвенная адресация данных с постинкрементом

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Рис.1.9. Адресация константы в памяти программ в командах LPM и ELPM

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Рис.1.11. Косвенная адресация памяти программ в командах IJMP и ICALL

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Рис.1.10. Прямая адресация памяти программ в командах JMP и CALL

Рис.1.12. Относительная адресация памяти программ в командах RJMP и RCALL

СИСТЕМА КОМАНД AVR

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Unsigned char EEPROM_read(unsigned int uiAddress) - student2.ru

Наши рекомендации