Jump to content

Search the Community

Showing results for tags 'ATmega8515'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 3 results

  1. Здравствуйте, у меня есть учебно-отладочный стенд как то я уже писал о нем http://forum.cxem.ne...opic=130710&hl=. Цель: пишу программу которая будет играться со светодиодами, но вот незадача, пару секунд работает и как будто зависает. сломал уже всю голову, скорее я где-то накосячил. /* * AssemblerApplication1.asm * * Created: 09.12.2014 18:47:50 * Author: Sca1e */ ; Описание регистров и констант ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- .include "m8515def.inc" .def tmp0 = r16 ;Временный регистр 0 .def tmp1 = r17 ;Временный регистр 1 .def a = r18 .def b = r19 .def c = r20 .equ _pA = $8000 ;Сопоставляем имя адресу .equ _pB = $8001 ;Сопоставляем имя адресу .equ _pC = $8002 ;Сопоставляем имя адресу .equ dotsi = $A004 ;Сопоставляем имя адресу .equ LED_REG = $A006 ;Сопоставляем имя адресу .equ M1_REG = $A000 .equ M2_REG = $B000 .macro delay ;задержка ldi c,20 m1: ldi b,255 m2: ldi a,255 m3: dec a brne m3 dec b brne m2 dec c brne m1 .endmacro ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- ; Вектора прерываний ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- .cseg .org $0000 rjmp Start ;Переход на начало программы (Reset Handler) .org $0002 nop ; .org $0004 nop .org $0016 nop .org $0018 nop .org $001A nop .org $001C nop .org $0020 nop .org $0030 nop ;================================================================================================================================================= ;================================================================================================================================================= ; Настройка мк ;================================================================================================================================================= ;================================================================================================================================================= Start: cli ;Запрет прерываний ldi tmp0,low(RAMEND) ;Устанавливаем вершину стека мл. байт (не обязательно, т.к. в программе не используется стек) out SPL,tmp0 ldi tmp0,High(RAMEND) ;Устанавливаем вершину стека ст. байт (не обязательно, т.к. в программе не используется стек) out SPH,tmp0 ldi tmp0,0b11111111 ;Устанавливаем направление выводов PORTB. out DDRB,tmp0 ;PD0, PD5 - входы, PD6, PD7 - выходы ldi tmp0,0b11111111 ;Устанавливаем режим работы с внешней памятью out MCUCR,tmp0 ldi zH,High(114) ;Записываем значение задержки старший байт в регистр Z (значение по умолчанию) ldi zL,Low(114) ;Записываем значение задержки младший байт в регистр Z (значение по умолчанию) out OCR1AH,zH ;Записываем значение задержки старший байт out OCR1AL,zL ;Записываем значение задержки младший байт ldi tmp0,0b00001011 ;Устанавливаем предделитель Таймера1 равный 64, CTC1 out TCCR1B,tmp0 ldi tmp0,(1 << OCIE1A) out TIMSK,tmp0 sei ldi tmp0,0b00000000 sts _pA,tmp0 ldi tmp0,0b00000000 sts _pB,tmp0 ldi tmp0,0b00000010 sts _pC,tmp0 ldi tmp0,$00 sts LED_REG,tmp0 ldi tmp0,$00 sts dotsi,tmp0 ldi tmp1,$00 sts M1_REG,tmp1 ldi tmp1,$00 sts M2_REG,tmp1 m5: ldi tmp0,0b01010101 ;Инициализация диода ldi tmp1,0b10101010 ;================================================================================================================================================= ; Основной цикл ;================================================================================================================================================= st1: delay sts LED_REG,tmp0 delay sts LED_REG,tmp1 delay rjmp st1
  2. Возникла проблема с Протеусом. Указываю в настройках МК(ATmega8515) путь к исполняемому файлу, жму пуск симуляции и ничего не работает, по остановке в настройках МК путь к файлу сбрасывается. Неделю норм работало, теперь такая проблема. Причем на десктопе изначально такая проблема была, теперь и на ноуте =( Может кто сталкивался с таким багом, в интернете совсем пусто на эту тему.
  3. Добрый день, по ходу работы над 7-ми сегментными часами на ATmega8515 вылезла проблема с прерываниями, по счетчику. Перелопатил кучу информации и даташит, но в данном виде программы прерывания не работают, в чем может быть проблема? #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define digit_display_time 10 unsigned char milliseconds, seconds, ten_seconds, minutes, ten_minutes, hours, ten_hours; ISR(TIMER1_COMPA_vect) { milliseconds++; TCNT1H=0x00; TCNT1L=0x00; if (milliseconds >= 1000 ) { milliseconds = 0; seconds++; }; if (seconds >= 10) { seconds = 0; ten_seconds++; }; if (ten_seconds >= 6) { ten_seconds = 0; minutes++; }; if (minutes >= 10) { minutes = 0; ten_minutes++; }; if (ten_minutes >= 6) { ten_minutes = 0; hours++; }; if (hours >= 10) { hours = 0; ten_hours++; }; if (ten_hours >= 2 && hours == 4) { ten_hours = 0; hours=0; }; } void timer_init() { //OCR1A=125; OCR1AH = 0b00000000;// 125 OCR1AL = 0b01111101; //Предделитель на х64 TCCR1B = (0<<CS12)|(1<<CS11)|(1<<CS10); //Прерывание по совпадению TC1 A TIMSK=(1<<OCIE1A); sei(); } int main(void) { timer_init(); unsigned char digits[10] = {63,6, 91, 79, 102, 109, 125, 7, 127, 111}; DDRA = 0b11111111; DDRC = 0b11111111; PORTC = 0b00000000; while(1) { PORTA = digits[seconds]; DDRC = 0b00001000; _delay_ms(digit_display_time); PORTA = digits[ten_seconds]; DDRC = 0b00000100; _delay_ms(digit_display_time); PORTA = digits[minutes]; DDRC = 0b00000010; _delay_ms(digit_display_time); PORTA = digits[ten_minutes]; DDRC = 0b00000001; _delay_ms(digit_display_time); } } Clock.rar
×
×
  • Create New...