Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ATmega AVR algorithm builder работа с таймером Здравствуйте , работаю в algorithm builder, кристалл AT90S8515. Как лучше реализовать задержку с помощью прерывания по таймеру? Например: паузу в n секунд. Может у кого есть ссылка на литературу? Много искал, но ничего толкового не находил. https://www.cyberforum.ru/ avr/ thread2649336.html ATmega AVR Как сравнить пару регистров с константой?
У меня счетчик от 0 до 65535 сделан на двух регистрах S_L и S_H. И есть константа .equ Pov = 44580. Как поизящнее и быстро сравнить счетчик с константой? Сравнивать отдельно старший и младший, как в моем коде и больше никак? Просто интересно, какие еще есть решения. .equ Pov = 44580 X0: inc S_L ;Увеличить счетчик (младший байт) на 1 breq X1 rjmp X2 X1 : inc S_H ;Увеличить...
ATmega AVR Atmega32+ 1-wire+ ds18b20 + UART(asm) https://www.cyberforum.ru/ avr/ thread2646909.html
Всем привет.Не могу решить эту задачу. Тема: Передача в персональный компьютер значения температуры, измеренной однокристальным AVR микроконтроллером (ATMEL) с помощью цифрового датчика температуры DS18B20 (Dallas Semiconductor). Так как я не смогу сделать проверку на компьютере(платы нет) решил эмулировать в proteus 8 professional и заменить rs 232 на uart.Разобраться как сделать эту работу не...
ATmega AVR Разработка программного кода устройства https://www.cyberforum.ru/ avr/ thread2643483.html
На микроконтроллере разработайте устройство расчета и отображения на 8-ми светодиодах значения N! (N – факториал, где N=5 – определяется в програм-ме в виде константы). Расчет производится по одному из возможных внешних пре-рываний, инициируемых при нажатии кнопки. Проверьте работоспособность про-граммно-аппаратных средств в программе Рroteus и протестируйте полученный результат математическим...
ATmega AVR Написать код устройства обеспечения индикатора напряжения
Разработать программное обеспечение индикатора напряжения, выполненного на микроконтроллере (Atmega8, Atmega16) в соответствии с принципиальной схемой индикатора напряжения, представленной на рисунке 1 (отдельный лист выдается членом комиссии). Частота тактового генератора контроллера 8MHz. АЦП работает в непрерывном режиме следующим образом: измеренное напряжение отображается на светодиодных...
ATmega AVR Частотомер на ATmega128 Здравствуйте, не могу разобраться в чем проблема. Написан код для того, что бы на выход PB4 подавался ШИМ сигнал, а с входа PD6 считывалась частота и всё это выводилось на ЖКИ. При подключении в протеусе у соответствующих портов мигают идикаторы, то есть сигнал приходит, но на ЖКИ ничего не выводится //библиотека хранящая адреса портов #include <avr/io.h> // Частота МК #define F_CPU... https://www.cyberforum.ru/ avr/ thread2643394.html
ATmega AVR Динамическая индикация на два независимых индикатора на atmega8 https://www.cyberforum.ru/ avr/ thread2642965.html
Здравствуйте. Так как только учусь программировать с миру по нитки собрал программу. На два индикатора разделил. Но никак не пойму как на втором индикаторе включить точку, что б она светилась постоянно не зависимо от отображаемой цифры. М и если можно, посоветуйте пожалуйста, как можно более оптимизировать код? #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> ...
Обмен данными между FLASH-памятью, SRAM и EEPROM ATmega AVR
Написать программу которая будет содержать в FLESH памяти программ числа 12,34,45,23. Считать эти числа и записать в SRAM, после чего сохранить в энергонезависимую память EEPROM. Переставить их местами при помощи стека и дописать в память EEPROM. (В памяти EEPROM должна получится последовательность 12,34,45,23,23,45,34,12). Считать записанные значения из память EEPROM в регистры общего назначения...
ATmega AVR Цикл for внутри цикла while (работа с переменными) https://www.cyberforum.ru/ avr/ thread2641747.html
Всем доброго дня. Помогите новичку. Задача. При нажатии на кнопку переменная получает некое числовое значение, в данный момент только одно.55. Внутри цикла for переменная получает это значение и отрабатывает этот цикл, в данном случаи мигает светодиодом указанное количество раз. Но почему то переменная из цикла while не переходит в цикл for хотя переменная объявлена глобально. Вот сам код: ...
ATmega AVR Передача данных и команд с ПК на ATmega128, по интерфейсу RS-232 Здравствуйте, уважаемые программисты и конструкторы, мне нужно сделать так, чтобы температура с DS18B20 отобразилась на ПК при запросе с него(можно с клавиатуры просто 1 иди t набрать)(или стандарт Modbus). Совсем не смогла понять как будет код выглядеть и нужно ли ещё как то Usart подключать(в коде). C подключением вроде разобралась(прикрепила скрин из протеуса). Что нужно добавить в коде? ... https://www.cyberforum.ru/ avr/ thread2638768.html
ATmega AVR Потушить свеотдиоды
Здравствуйте. Подскажите кто знает, есть такая задача: есть 7 кнопок, есть 7 лампочек. от 0 до 7. есть "код замка", например 3, 5, 7. Нажимаем на кнопку 3, загорается лампочка под номером 3, нажимаем на кнопку 5, загорается 5, и тд. После того как нажаты все три ПРАВИЛЬНЫХ кнопки, идет задержка и все диоды тухнут. написал такой код #define F_CPU 1000000UL #include <util/delay.h> #include...
ATmega AVR
0 / 0 / 0
Регистрация: 04.03.2019
Сообщений: 2
0

Таймер AVR - ATmega AVR - Ответ 14573014

22.05.2020, 23:17. Показов 496. Ответов 5
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Суть проекта: генерировать прямоугольный сигнал (меандр) с регулируемой частотой в диапазоне 1Hz...100kHz (1s...10us) и выводом частоты на дисплей 16х2. Регулировка осуществляется кнопками.

Выполнение: атмега16, таймер 1 (16 бит - 65535 тактов) частота ядра 8МГц, при двух коэфф. деления (1:1 и 1:256) можно регулировать в данном диапазоне. Использую режим "нормал" с прерыванием по переполнению 0 --> 65535. Ввожу расчётные значения в регистр TCNT1 для 1Гц (34285) и 100кГц (65534), не ясно как осуществить программно варьированием частотой в данном диапазоне. Таблиц
Собственно задача состоит в добавлении функции расчёта частоты и регулировку. HELP.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <stdio.h>
#include "main.h"
#include "lcd.h"
 
#define F_CPU 8000000UL 
                        
static char lcd_buffer[16];                     // output string buffer for lcd
static int freq;                                // variable for frequency
 
static void tc1_init()
{
    TCCR1A &= ~(1 << WGM11) & ~(1 << WGM10);    
    TCCR1B &= ~(1 << WGM13) & ~(1 << WGM12);    // "normal" mode            
    TIMSK  |= (1 << TOIE1);                     // OVF interrupt enable
    TCNT1 = 0;                                  // set initial timer value
}
 
static void io_init()
{
    DDRB = 0x00;                                // PB input buttons
    DDRD = 0x20;                                // PD5 output gen
}
 
static void timer_freq()
{   
    TCCR1B |= (1 << CS12);                      // prescaler 1:256                          
    TCNT1 = 34285;                              // start at 1Hz (1sec)  
}
 
static void wave_adj()                          // frequency adjusting
{
    if(~PINB & (1 << 0))                        // PB0 log 0 increase freq
    {
        freq =+ 10;
        _delay_ms(250);
    }
 
    if(~PINB & (1 << 1))                        // PB1 log 0 decrease freq
    {
        freq -= 10;
        _delay_ms(250);
    }
}
 
ISR(TIMER1_OVF_vect)
{
    PORTD ^= (1 << 5);                          // toggle log level 
    TCNT1 = 34285;          
}
 
int main(void)
{
    sei();                                      // enable global interrupts
    port_init();
    io_init();
    tc1_init();
    lcd_init();
    lcd_load();                                 // progress black bar and project's name
    lcd_clear();
    timer_freq();
    
    while (1)
    {
        
        wave_adj();
        
        set_pos(0,0); string_lcd("SETTING FREQ = ");
        
        set_pos(0,1); string_lcd("= ");
        
    //  sprintf(lcd_buffer, "%u", freq );
        string_lcd(lcd_buffer);
        
        set_pos(8,1); string_lcd("Hz"); 
    }
}


Вернуться к обсуждению:
Таймер AVR ATmega AVR
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2020, 23:17
Готовые ответы и решения:

Таймер-счетчик в AVR
Доброго времени суток. Моим заданием на л.р. было: используя таймер-счетчик, обеспечить выдачу...

ATmega AVR таймер
Извиняюсь за такой вопрос - офтоп, если не выражает модератор. Допустим я хочу изучить...

Прграммирование микроконтроллера на AVR (Универсальный таймер)
Здравствуйте, нужно описание (комментарий) к каждому присвоению, установки адреса в начало и т.д. ...

AVR STUDIO 4 Симулятор таймер по прерыванию
Здравствуйте! Подскажите пожалуйста, как работать с таймером по прерыванию в симуляторе AVR Studio...

5
22.05.2020, 23:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2020, 23:17
Помогаю со студенческими работами здесь

Есть таймер на на AVR запитанный от сети через резистор
как максимально обеспечить безперебойность работы схемы при воздествии сетевых помех есть ли...

AVR AVRISP STK500 V3.0 USB ISP Programmer for AVR IC
Люди помогите плз. не могу разобраться. приобрел этот чудный девайс (AVR AVRISP STK500 V3.0 USB...

AVR JTAG mkI + avarice + avr-gdb + Linux
По какой то неведомой причине мне причине не могу нормально подключится к серверу avarice через...

Как подкрутить AVR Toolchain к AVR Studio 4.19?
Здравствуйте. Как подкрутить AVR Toolchain к AVR Studio 4.19? avr-gcc есть, а make нет. Как...

AVR Atmega324PU не прошивается AVR ISP Mk2
Добрый день. На плату впаян данный микроконтроллер в корпусе tqfp. При подключении программатора...

Анализ стека AVR / AVR stack analysis
Привет! Уперся я в стек, и решил понять что почем. Нашел вот такой вот скриптик:...

(Avr Studio + WinAvr) vs (mikroC PRO for AVR)
Сам пользуюсь (Avr Studyo + WinAvr). Ктонибудь использует mykroC PRO for AVR ? Слышал там...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru