Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Генератор сигналів синусоїдальної форми

Реферат Генератор сигналів синусоїдальної форми





тяжки порту A)

out DDRB, temp; Записуємо temp в DDRB (порт B на висновок)

;----------------------------- Ініціалізація компаратора -----------------------

ldi temp, 0x80 ACSR, temp; Вимкнення компаратора

;---------------------------- Перевірка запису в EEPROM ------------------------

; Оскільки пам'ять EEPROM призначена для довготривалого зберігання

; даних, то ми можемо записати в неї масив один раз, а потім,

; перевіряти записаний чи масив при повторному запуску програми. Якщо

; виявиться, що масив не збережений, то виконається перехід в цикл

; записи масиву, якщо записаний, то відразу в цикл читання

ldi addres, 0x08; Записуємо в регістр addres початок сегмента EEPROM

mm:

cli; Забороняємо всі переривання

sbic EECR, EEWE; Перевіряємо готовність EEPROM

rjmp mm; Якщо не готовий, то чекаємо (переходимо на мітку mm)

out EEAR, addres; Записуємо адреса в регістр адреси

sbi EECR, EERE; Встановлюємо біт дозволу читання

in data, EEDR; Розміщуємо прочитаний байт в регістр data

cpi data, 128; Порівнюємо з 128

breq start; Якщо одно, т.е якщо масив вже записаний в EEPROM,

; то переходимо на мітку start, якщо не дорівнює, то

; переходимо на мітку Write

;---------------------------- Запис масиву в EEPROM --------------------------

Write:

ldi addres, bufr; Записуємо в регістр addres початок сегмента EEPROM

ldi ZH, high (mas * 2); У реєстрову пару Z записуємо старший і

ldi ZL, low (mas * 2); молодший байт початкової адреси масиву

m8:

lpm data, Z +; Завантаження з постинкрементом в r17 (temp1)

; вмісту комірки, адреса якої зберігається

; в реєстрової парі Z

nn1:

cli; Забороняємо всі переривання

sbic EECR, EEWE; Перевіряємо готовність EEPROM

rjmp nn1; Якщо не готовий, то чекаємо

out EEAR, addres; Записуємо адреса в регістр адреси

out EEDR, data; Записуємо дані в регістр даних

sbi EECR, EEMWE; Встановлюємо біт дозволу запису

sbi EECR, EEWE; Встановлюємо біт записи

inc addres; Збільшуємо адресу в EEPROM

inc count; Збільшуємо значення лічильника на одиницю

cpi count, 64; Порівнюємо з 64

brne m8; Якщо не одно, то переходимо на мітку m8, якщо

; одно, тобто якщо в EEPROM записалися всі 64

; числа масиву, то переходимо на мітку start

;--------------------------------- Читання з EEPROM -------------------------------

start:

ldi count, 0; Обнуляємо лічильника

ldi addres, bufr; Записуємо в регістр addres початок сегмента EEPROM

; -------------------------------- Перша чверть синусоїди ------------------------------

m1:

cli; Забороняємо всі переривання

sbic EECR, EEWE; Перевіряємо готовність EEPROM

rjmp m1; Якщо не готовий, то чекаємо (переходимо на мітку m1)

out EEAR, addres; Записуємо адреса в регістр адреси

sbi EECR, EERE; Встановлюємо біт дозволу читання

in data, EEDR; Розміщуємо прочитаний байт в регістр data

inc addres; Збільшуємо адресу в EEPROM на одиницю

nop; Немає операції

out PortB, data; Висновок поточного значення синусоїди в порт PB

inc count; Збільшуємо значення лічильника на одиницю

cpi count, 64; Порівнюємо з 64

brne m1; Якщо не одно 64, то переходимо на мітку m1, якщо

; одно 64, тобто якщо з EEPROM були прочитані

; і відправлені на порт B всі 64 числа починаючи з

; першого числа масиву, записаного в EEPROM і

; закінчуючи останнім, то переходимо на мітку m2

; --------------------...


Назад | сторінка 10 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація виробництва та розрахунок дільниці по виготовленню приладнав чи ...
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ремонт виявився модернізацією