Разработка микропроцессорного устройства управления

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

регистры не являются ячейками ОЗУ. Такое решение является еще одной отличительной особенностью архитектуры AVR, повышается эффективность работы микроконтроллера и его производительность.

Регистры ввода/вывода:

Все регистры ввода/вывода можно разделить на две группы служебные регистры и регистры, относящиеся к конкретным периферийным устройствам.

Размещение в памяти регистров ввода/вывода приведено в таблице 3.1. В скобках указываются соответствующие им адреса ячеек ОЗУ.

 

НазваниеАдресФункцияUCSR1C($9D)Регистр управления и состояния С USART1UDR1($9C)Регистр данных USART1UCSR1A($9B)Регистр управления и состояния A USART1UCSR1B($9A)Регистр управления и состояния В USART1UBRR1L($99)Регистр скорости передачи USART1, младший байтUBRR1H($98)Регистр скорости передачи USART1, старший байтUCSR0C($95)Регистр управления и состояния С USART0UBRR0H($90)Регистр скорости передачи USART0, старший байтTCCR3C($8C)Регистр управления С таймера/счетчика ТЗTCCR3A($8B)Регистр управления А таймера/счетчика ТЗTCCR3B($8A)Регистр управления В таймера/счетчика ТЗTCNT3H($89)Счетный регистр таймера/счетчика ТЗ, старший байтTCNT3H($88)Счетный регистр таймера/счетчика ТЗ, младший байтOCR3AH($87)Регистр совпадения А таймера/счетчика ТЗ, старший байтOCR3AL($86)Регистр совпадения А таймера/счетчика ТЗ, младший байтOCR3BH($85)Регистр совпадения В таймера/счетчика ТЗ, старший байтOCR3BL($84)Регистр совпадения В таймера/счетчика ТЗ, младший байтOCR3CH($83)Регистр совпадения С таймера/счетчика ТЗ, старший байтOCR3CL($82)Регистр совпадения С таймера/счетчика ТЗ, младший байтICR3H($81)Регистр захвата таймера/счетчика ТЗ, старший байтICR3L($80)Регистр захвата таймера/счетчика ТЗ, младший байтETIMSK($7D)Дополнительный регистр маски прерываний от таймеров/счетчиковETIFR($7C)Дополнительный регистр флагов прерываний от таймеров/счетчиковTCCR1C($7A)Регистр управления С таймера/счетчика Т1OCR1CH($79)Регистр совпадения С таймера/счетчика Т1, старший байтOCR1CL($78)Регистр совпадения С таймера/счетчика Т1, младший байтTWCR($74)Регистр управления TWITWDR($73)Регистр данных TWITWAR($72)Регистр адреса TWITWSR($71)Регистр состояния TWITWBR($70)Регистр скорости передачи TWIOSCCAL($6F)Регистр калибровки тактового генератораXMCRA($6D)Регистр управления А внешней памятьюXMCRB($6C)Регистр управления В внешней памятьюEICRA($6A)Регистр управления А внешними прерываниямиSPMCR($68)Регистр управления памятью программPORTG($65)Регистр данных порта GDDRG($64)Регистр направления данных порта GPORTF($62)Регистр данных порта FDDRF($61)Регистр направления данных порта FSREG$3F($5F)Регистр состоянияSPH$3E($5E)Указатель стека, старший байтSPL$3D($5D)Указатель стека, младший байтXDIV$3C($5C)Регистр управления делителем тактовой частотыRAMPZ$3B($5B)Регистр выбора страницыEICRB$3A($5A)Регистр управления В внешними прерываниямиEIMSK$39($59)Регистр маски внешних прерыванийEIFR$38 ($58)Регистр флагов внешних прерыванийTIMSK$37($57)Регистр маски прерываний от таймеров/счетчиковTIFR$36($56)Регистр флагов прерываний от таймеров/счетчиковMCUCR$35($55)Регистр управления микроконтроллеромMCUCSR$34($54)Регистр управления и состояния микроконтроллераTCCR0$33($53)Регистр управления таймером/счетчиком Т0TCNT0$32($52)Счетный регистр таймера/счетчика Т0OCR0$31($51)Регистр совпадения таймера/счетчика Т0ASSR$30($50)Регистр состояния асинхронного режимаTCCR1A$2F($4F)Регистр управления А таймера/счетчика Т1TCCR1B$2E($4E)Регистр управления В таймера/счетчика Т1TCNT1H$2D($4D)Счетный регистр таймера/счетчика Т1, старший байтTCNT1L$2C($4C)Счетный регистр таймера/счетчика Т1, младший байтOCR1AH$2B($4B)Регистр совпадения А таймера/счетчика Т1, старший байтOCR1AL$2A($4A)Регистр совпадения А таймера/счетчика Т1, младший байтOCR1BH$29($49)Регистр совпадения В таймера/счетчика Т1, старший байтOCR1BL$28($48)Регистр совпадения В таймера/счетчика Т1,младший байтICR1H$27($47)Регистр захвата таймера/счетчика Т1, старший байтTCCR2$25($45)Счетный регистр таймера/счетчика Т2TCNT2$24($44)Регистр совпадения таймера/счетчика Т2OCR2$23($43)Регистр совпадения таймера/счетчика Т2OCDR$22($42)Регистр внутрисхемной отладкиWDTCR$21($41)Регистр управления сторожевым таймеромSFIOR$20($40)Регистр специальных функцийEEARH$1F($3F)Регистр адреса EEPROM, старший байтEEARL$1E($3E)Регистр адреса EEPROM, младший байтEEDR$1D($3D)Регистр данных EEPROMEECR$1C($3C)Регистр управления EEPROMPORTA$1B($3B)Регистр данных порта АDDRA$1A($3A)Регистр направления данных порта АPINA$19($39)Выводы порта АPORTB$18($38)Регистр данных порта ВDDRB$17($37)Регистр направления данных порта ВPINB$16($36)Выводы порта ВPORTC$15($35)Регистр данных порта СDDRC$14($34)Регистр направления данных порта СPINC$13($33)Выводы порта СPORTD$12($32)Регистр данных порта DDDRD$11($31)Регистр направления данных порта DPIND$10($30)Выводы порта DSPDR$0F($2F)Регистр данных SPISPSR$0E($2E)Регистр состояния SPISPCR$0D($2D)Регистр управления SPIUDR0$0C($2C)Регистр данных USART0UCSR0A$0B($2B)Регистр управления и состояния A USART0UCSR0B$0A($2A)Регистр управления и состояния В USART0UBRR0L$09($29)Регистр скорости передачи USART0, младший байтACSR$08($28)Регистр управления и состояния аналогового компаратораADMUX$07($27)Регистр управления мультиплексором АЦПADCSRA$06($26)Регистр управления и состояния АЦПADCH$05($25)Регистр данных АЦП, старший байтADCL$04($24)Регистр данных АЦП, младший байтPORTE$03($23)Регистр данных порта ЕDDRE$02($22)Регистр направления данных порта ЕPINE$01($21)Выводы порта ЕPINF$00($20)Выводы порта F

Прерывания.

Прерывание прекращает нормальный ход программы для выполнения приоритетной задачи, определяемой внутренним или внешним событием микроконтроллера. При возникновении прерывания микроконтроллер сохраняет в стеке содержимое счетчика команд PC и загружает в него адрес соответствующего вектора прерывания. По этому адресу, как правило, находится команда безусловного перехода к подпрограмме обработки прерывания. Последней командой подпрограммы обработки прерывания должна быть команда RETI, кото