Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
WarllordD
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 42
1

atmega128 - фронт

25.03.2020, 13:24. Просмотров 168. Ответов 2
Метки нет (Все метки)

Добрый день
есть код программы , делающий таймер по переднему фронту, вопрос заключается в том как переделать прерывание чтобы было по заднему фронту
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
.include "m128def.inc"
 
.def tmp        = r16
.def r_zero     = r17
.def t_l        = r23
.def t_h        = r24
 
.equ kn0  = 0   
.equ kn1  = 1   
.equ inb  = 5   
.equ t1b  = 6   
.equ outb = 7   
 
.cseg
.org 0
    rjmp RESET
 
.org OC1Aaddr   
    rjmp TMR1_COMPA
 
.org OC1Baddr   
    
 
reset:
    ldi tmp,high(RAMEND)
    out SPH,tmp
    ldi tmp,low (RAMEND)
    out SPL,tmp
 
// 0,1,5,6 - вход, 7 - выход
    ldi tmp,0b10000000
    out DDRD,tmp
    ldi tmp,$FF
    out PORTD,tmp
 
// программирование таймера 1
//COMPA
//WGM12, CS0-CS2
    ldi tmp,(1<<WGM12) | 001
    out TCCR1B,tmp
    ldi tmp,0
    out TCCR1A,tmp
 
//первое значение COMPA
    ldi tmp,0
    out OCR1AH,tmp
    ldi tmp,10
    out OCR1AL,tmp
 
// программирование таймера 3
// обычный счет
// CS0-CS2
    ldi tmp,001
    sts TCCR3B,tmp
    ldi tmp,0
    sts TCCR3A,tmp
 
    ldi tmp, (1<<OCIE1A)    
    out TIMSK, tmp
    sei
 
    clr r_zero
m1:
//ожидание 1
    sbis PIND,inb
    jmp m1
 
//включение сигнала
    sbi PORTD,outb       
 
//запуск таймера формирования
    out TCNT1H, r_zero
    out TCNT1L, r_zero
 
//запуск таймера измерения
    sts TCNT3H, r_zero
    sts TCNT3L, r_zero
 
//ожидание 0
m2: sbic PIND,inb
    jmp m2
 
//выключение таймера измерения
//------------------------
    lds t_l,TCNT3L
    lds t_h,TCNT3H
 
//  ldi tmp,0
//  sts TCCR3B,tmp
//  ldi tmp,0
//  sts TCCR3A,tmp
    jmp m1
 
    
TMR1_COMPA: 
//выключение сигнала
    cbi PORTD,outb
 
//запись длительности
    
    ldi tmp,0
    sub t_l,tmp
    ldi tmp,10
    sbc t_h,tmp
//  ldi tmp,04
//  and t_h,t_h 
//  ror  t_h
    out OCR1AH,t_h//tmp
//  ror  t_l
//  ldi tmp,$FF 
    out OCR1AL,t_l//tmp
    
    reti
буду благодарен любой подсказке, заранее спасибо за ответы
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2020, 13:24
Ответы с готовыми решениями:

Перенастроить фронт
Здравствуйте, как в обработчике прерывания int0 перенастроить фронт?

производство Atmega128
Правда ли что Atmega128 снят с производства? В нигазинах-то их полно.

ATmega128 + FatFs
Третий день бьюсь над загадкой, и не выходит каменный цветок. Схему прилагаю. Подключено по SPI...

ESP8266+atmega128
помогите разобраться с модулем wi-fi. отправляю в модуль AT-команды, но не могу сделать нормальный...

2
pyzhman
876 / 520 / 77
Регистрация: 15.05.2012
Сообщений: 3,030
25.03.2020, 15:42 2
Assembler
1
2
3
//ожидание 1
    sbis PIND,inb
    jmp m1
Пропишите ожидание 0.
1
WarllordD
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 42
25.03.2020, 16:15  [ТС] 3
Assembler
1
2
3
4
ldi tmp,0
    sub t_l,tmp
    ldi tmp,10
    sbc t_h,tmp
если не трудно, можете посмотреть в чём здесь может быть ошибка т.к. сигнал уменьшается маленько (до 10), если выше прописывать значение , то сбивается и увеличивается , хотя должен уменьшаться в зависимости от чисел
0
25.03.2020, 16:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2020, 16:15

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

ATmega128 PORTF
Не получается настроить PORTF на выход. фуз джитага скинул, режим совместимости с м103 убрал,...

Прошить ATMEGA128
Народ, ни разу не работал со 128 и 256 мегами. Все МК с чем приходилось работать, прошивал STK-500...

АЦП Atmega128
По жизненной необходимости столкнулся с МК. Есть куча непоняток. Прошу Вас помочь мне. Необходимо...

Запрограммировал Atmega128. Не работатет...
Здравствуйте! Жил себе спокойно вместе с Atmega16. Захотелось работу с картой памяти. Запаял...


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

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

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