Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ineeda
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 3
1

AT90S8535. Одновибратор

09.12.2013, 20:43. Просмотров 1026. Ответов 5
Метки нет (Все метки)

Здравствуйте! Нужна помощь с программированием таймера Т0 для микроконтроллера AT90S8535…По заданию дан – одновибратор с перезапуском,,,Но сперва хочу сделать сам одновибратор,,

Код программы написал до 14 мкс,,,а потом перескакивает на $FE,,не могу додуматься,,

Assembler
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
;*******************************************
.include "8535def.inc"     ; файл описания AT90S8535.
.cseg
.org $00           ; адрес начала программы в памяти программ. 
rjmp nacalo      ; прерывание по переполнению таймера Т0
.org $009  
rjmp posleperep              
;******************** программирование портов I/O                                                    
nacalo:                  
ldi r16,$FF          ; программирование порта С на выход
out ddrc, r16    
    
;******************** основная (фоновая) программа
ldi  r17,$FC             
out tcnt0, r17        
ldi r17,$02            
out tccr0,r17          
ldi r17,1              
out timsk,r17          
 
sei
prog:
nop
rjmp prog
reti
;**************************************************************************;
posleperep:
sbic portc,0;     Пропустить, если бит в регистре равен 0
 
rjmp nol
ldi r18, $01
out portc,r18
rjmp metka
 
nol:            
ldi r20, $00
out portc,r20
rjmp metka2
 
;**************************************************************************;
metka: 
ldi  r19,$FE             
out tcnt0, r19          
ldi r19,$02            
out tccr0,r19          
ldi r19,1              
out timsk,r19 
sei
prog2:
nop
rjmp prog2
reti
;**************************************************************************;
metka2: 
ldi  r21,$FD             
out tcnt0, r21          
ldi r21,$02            
out tccr0,r21          
ldi r21,1              
out timsk,r21
sei
prog3:
nop
rjmp prog3
reti
;********************************
0
Миниатюры
AT90S8535. Одновибратор  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 20:43
Ответы с готовыми решениями:

AT90S8535. Прерывания
Нужно сделать прерывание по сравнению события А таймер счётчик, внешнее прерывание 0 и внешнее...

AT90S8535. Cчетчик
Zdrastvuite! Nujno napisat programmu timera/s4et4ika.Poprobuiu opisat zadanie Dano: RegA dlya...

Для микроконтроллера AT90S8535
Здравствуйте,уважаемые форумчане, помогите пожалуйста решить такую задачку для микроконтроллера...

Одновибратор на таймере-счетчике атмеги – как?
Можно ли формировать таймером-счетчиком одиночный импульс (сделать аналог одновибратора), не...

5
Grey
Тутошний я
1796 / 951 / 171
Регистрация: 03.11.2009
Сообщений: 3,129
Записей в блоге: 2
09.12.2013, 23:34 2
Цитата Сообщение от ineeda Посмотреть сообщение
По заданию дан – одновибратор с перезапуском
Программный одновибратор? И как это с перезапуском? От чего перезапускается?
Цитата Сообщение от ineeda Посмотреть сообщение
Код программы написал до 14 мкс,,,а потом перескакивает на $FE
И об этом можно поподробнее?

И я в твоем коде не нашел инициализацию стека.

Добавлено через 2 часа 8 минут
Прерывание в прерывании зря нагородил.
И тактовый генератор хотя бы на 4 МГц настрой. Или предделитель меньше возми. Код впритык с прерыванием обрабатывается.
0
Voland_
1758 / 1090 / 108
Регистрация: 04.01.2010
Сообщений: 3,782
12.12.2013, 00:33 3
Цитата Сообщение от Grey Посмотреть сообщение
Прерывание в прерывании зря нагородил.
это как? По-моему, в авр не было NVIC (nested vector interrupt controller), соответственно, прерывания не могут "вызываться" из прерываний. команда 'sei' лишь разрешает их, но как только закончится обработка текущего прерывание, то есть выполнится команда 'reti'.
а во по существу: "
Цитата Сообщение от ineeda Посмотреть сообщение
Код программы написал до 14 мкс,,,а потом перескакивает на $FE,,не могу додуматься,,
И рад бы помочь, но сорри, не понял смысла сих слов.
"
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
12.12.2013, 09:23 4
Он имел ввиду то что отсутствуют интервалы времени в 13 мс и 20 мс.
0
Grey
Тутошний я
1796 / 951 / 171
Регистрация: 03.11.2009
Сообщений: 3,129
Записей в блоге: 2
12.12.2013, 19:58 5
Цитата Сообщение от korsaj Посмотреть сообщение
Он имел ввиду то что отсутствуют интервалы времени в 13 мс и 20 мс.
20 мс есть. Потом есть 5 мс. Потом попеременно высокий уровень 12,5 мс и низкий уровень 15,5 мс.

Добавлено через 21 минуту
Цитата Сообщение от Voland_ Посмотреть сообщение
команда 'sei' лишь разрешает их, но как только закончится обработка текущего прерывание, то есть выполнится команда 'reti'.
Команда 'sei' выставляет бит I в 1. При переходе в прерывание бит I сбрасыется в 0. Команда 'reti' опять ставит 1.
Контроллеру все равно когда переходить в прерывание, лишбы в бите I была еденица.
1
Grey
Тутошний я
1796 / 951 / 171
Регистрация: 03.11.2009
Сообщений: 3,129
Записей в блоге: 2
12.12.2013, 23:39 6
Вот такой алгоритм одновибратора с перезапуском
1
Миниатюры
AT90S8535. Одновибратор  
12.12.2013, 23:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 23:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

AT90S8535. Программа, реализующая функцию "И"
Помогите пожалуйста с написанием программы для микроконтроллера AVR(AT90S8535)..Дан логический...

Одновибратор с запуском по питанию?
Всем доброго дня! Нужна схема на ne555, которая при появлении питания включит реле на 5 сек. По...

Одновибратор на логических элементах
Собрал в программе такую схему. Будет ли она работать и каковы должны быть номиналы элементов?...

Одновибратор на таймере 555
Здравствуйте. Решаю следующую задачу: - имеется 4 вывода (1-2 - питание, 3 - пропадающий +, 4 -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.