Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Вот оно:

Отправлено Sergey_B 26 июля 2007 г. 13:24
В ответ на: Логически всё правильно. Давайте посмотрим на определения всех регистров и битов. отправлено GM 26 июля 2007 г. 13:08

cli

; Установка указателя стека
ldi temp, high(RAMEND)
out SPH, temp
ldi temp, low(RAMEND)
out SPL, temp

; Инициализация портов
ldi temp, 0b00001000; Порт B
out DDRB, temp ;
ldi temp, 0b11110111; подключение pull-up резисторов
out PORTB, temp ;

ldi temp, 0x00 ; Порт C
out DDRC, temp ;
ldi temp, 0b11111111; подключение pull-up резисторов
out PORTC, temp ;

ldi temp, 0b00001010; Порт D
out DDRD, temp ;
ldi temp, 0b11111111; подключение pull-up резисторов
out PORTD, temp ;

; Инициализация USART
ldi temp, 0b01000000; UCSR0A - флаги
sts UCSR0A, temp

ldi temp, 0b10011000; UCSR0B - разрешение работы приёмника и передатчика
; и разрешение прерывания от приёмника
sts UCSR0B, temp

ldi temp, 0b00000110; UCSR0C - 8-n-1
sts UCSR0C, temp

ldi temp, 0b00000000; UBRR0H
sts UBRR0H, temp

ldi temp, 0b00011001; UBRR0L - 9600 @ 4 МГц
sts UBRR0L, temp

; Инициализация внешних прерываний

ldi temp, 0b00000010; EICRA - внешнее прерывание 0 - при
sts EICRA, temp ; отрицательном фронте


ldi temp, 0b00000001; EIMSK - разрешение внешнего прерывания 0
out EIMSK, temp

; Инициализация таймера 0
ldi temp, 0b00000000; TCCR0A - нет Output compare,
; нет Waveform generation
out TCCR0A, temp

ldi temp, 0b00000001; TCCR0B - нет Force output compare, нет
; Waveform generation, clk = clkIO
out TCCR0B, temp


ldi temp, 0b00000001; TIMSK0 - прерывание только по переполнению
sts TIMSK0, temp

; Инициализация таймера 2
ldi temp, 0b01000010; TCCR2A - toggle OC2A при совпадении,
sts TCCR2A, temp ; Waveform generation: CTC

ldi temp, 0b00000000; TCCR2B - нет Force output compare, нет
sts TCCR2B, temp ; Waveform generation, clk = 0

ldi temp, 53 ; OCR2A = 53 (13.25 мкс)
sts OCR2A, temp

ldi temp, 0b00000010; TIMSK2 - прерывание только по совпадению A
sts TIMSK2, temp

; Разрешение прерываний
sei



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru