Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 13.10.2011, 12:32   #21
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Порты не рекомендуется садить на землю или питание. Или вход с подтяжкой и никуда не подключен, или выход и тоже никуда. На выходах, подключенных к отключенным внешним цепям (микросхемам) нужно устанавливать 0. При включении некоторой периферии (таймер в ШИМ, и2с, СПИ...) эти модули отбирают у проца соответствующие ножки и настраивают направление и уровень на ножке по своему усмотрению а не как в программе. Короче перед переходом в сон отключать всЁ, что не требуется для выхода из сна и давать СЛИП
Реклама:
niXto вне форума  
Непрочитано 13.10.2011, 12:54   #22
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

ldi temp, 0b00000000
out DDRB, temp
ldi temp, 0b00000000
out PORTB, temp
ldi temp, 0b00000000
out DDRD, temp
ldi temp, 0b00000000
out PORTD, temp
ldi temp, 0b00000000
out DDRC, temp
ldi temp, 0b00000000
out PORTC, temp

LDI TEMP, 0b10100000
OUT MCUCR, TEMP
SLEEP

У меня вот так сделано, я немного не понимаю что вы хотите сказать, лучше на примере покажите что конкретно надо в порт слать, извините что я такой тупой (((

Последний раз редактировалось putmannn; 13.10.2011 в 12:59.
putmannn вне форума  
Непрочитано 13.10.2011, 13:00   #23
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

putmannn,
ldi temp, 0b00000000
out DDRB, temp
out PORTB, temp
out DDRD, temp
out PORTD, temp
out DDRC, temp
out PORTC, temp
отключить нахрен таймера, все потроха ненужные - потом включите при просыпании
jump вне форума  
Непрочитано 13.10.2011, 13:07   #24
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Хорошо было бы узнать полный список потрохов, что бы знать что отключать.
АЦП, таймер это я понял. А какие ещё ?
putmannn вне форума  
Непрочитано 13.10.2011, 13:44   #25
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

ну мы ж не общество патологоанатомов в потрохах вашего МК ковыряться - родили инициализацию вы, вы и отсекайте
как говорится: чем породил, тем и...
откройте doc2486 на пажине 3, долго смотрите до самогипноза на фигу1 - там видно, как минимум, что можно убить
jump вне форума  
Сказали "Спасибо" jump
putmannn (13.10.2011)
Непрочитано 13.10.2011, 14:10   #26
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Мде, если бы я так же хорошо разбирался в этих блок схемах как и Вы, то может что нибудь и понял там, а сюда я пришёл за конкретными ответами и желательно с примером кода. Как Вы не понимаете, что новичку очень непросто сразу разобраться в таком многообразии информации.
Не отсылайте пожалуйста меня листать даташиты, я уже что мог, то понял от туда, а сюда пришел за конкретными ответами.
Извините если что не так написал.
putmannn вне форума  
Непрочитано 13.10.2011, 16:05   #27
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,915
Сказал спасибо: 2,980
Сказали Спасибо 3,159 раз(а) в 2,144 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Сообщение от putmannn Посмотреть сообщение
Не отсылайте пожалуйста меня листать даташиты, я уже что мог, то понял от туда, а сюда пришел за конкретными ответами.
Мы не кормим рыбой, а учим делать удочки.
Как уже правильно заметили, не зная какие блоки используются (Ваша инициализация) - нельзя дать правильный ответ (в правильном вопросе - половина ответа). Ну а схема - лишней не будет, если Вы хотите, что-бы Вас чему-то тут учили.

З.Ы. Кроме Вас - Ваши схема и программа никому не нужны. У каждого своих наберётся преизрядно.
ForcePoint вне форума  
Непрочитано 13.10.2011, 18:16   #28
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

.include "m8def.inc"


.def a =R5 ;значение тока на диодах с АЦП
.def kshim =R6 ;значение шим при выключении диодов кнопкой
.def t =R7 ;значение нажатой кнопка с АЦП
.def akk =R8 ;напряжение на АКБ с АЦП
.def shims =R9 ;счётчик ступеней сглаживания ШИМ
.def shiml =R10 ;десятичная составляющая ШИМ
.def shim =R11 ;собственно частота ШИМ
.def tacp =R12 ;временная переменная как и temp
.def sumak =R13 ;временная переменная
.def sumh =R14 ;временная переменная
.def suml =R15 ;временная переменная
.def temp =R16 ;временная переменная
.def divsot =R17 ;сотни при формировании из двоичного числа
.def divdes =R18 ;десятки при формировании из двоичного числа
.def dived =R19 ;единицы при формировании из двоичного числа
.def tempdiv=R20 ;временная переменная
.def selacp =R21 ;селектор АЦП (ток диода,АКБ,кнопки,термодатчик)
.def acp =R22 ;используется при делении
.def indflag=R23
.def kontu =R24 ;значение требуемой мощности на диодах
.def flag =R25 ;0бит-состояние кнопки 3(включен или нет),
;1бит-индикатор удержания кнопки 3.
;2бит-индикатор удержания кнопки 2.
;3бит-состояние кнопки 2(включен или нет),

.DSEG
button3: .byte 1
button2: .byte 1
suml1: .byte 1 ;для подсчёта ср.арифметического тока диодов
sumh1: .byte 1 ;для подсчёта ср.арифметического тока диодов
sumak1: .byte 1 ;для подсчёта ср.арифметического тока диодов
suml2: .byte 1 ;для подсчёта ср.арифметического напряж. АКБ
sumh2: .byte 1 ;для подсчёта ср.арифметического напряж. АКБ
sumak2: .byte 1 ;для подсчёта ср.арифметического напряж. АКБ

;Сегмент кода
.cseg
.org 0

;Определяем вектора прерываний
rjmp RESET ;External Pin, Power-on Reset, Brown-out Reset, and Watchdog Reset
rjmp INT_0 ;External Interrupt Request 0
rjmp INT_1 ;External Interrupt Request 1
rjmp TIMER2_COMP ;Timer/Counter2 Compare Match
rjmp TIMER2_OVF ;Timer/Counter2 Overflow
rjmp TIMER1_CAPT ;Timer/Counter1 Capture Event
rjmp TIMER1_COMPA ;Timer/Counter1 Compare Match A
rjmp TIMER1_COMPB ;Timer/Counter1 Compare Match B
rjmp TIMER1_OVF ;Timer/Counter1 Overflow
rjmp TIMER0_OVF ;Timer/Counter0 Overflow
rjmp SPI_STC ;Serial Transfer Complete
rjmp USART_RXC ;USART, Rx Complete
rjmp USART_UDRE ;USART Data Register Empty
rjmp USART_TXC ;USART, Tx Complete
rjmp ADC_CC ;ADC Conversion Complete
rjmp EE_RDY ;EEPROM Ready
rjmp ANA_COMP ;Analog Comparator
rjmp TWI ;Two-wire Serial Interface
rjmp SPM_RDY ;Store Program Memory Ready

INT_0 : ret
INT_1 : ret

;******** Обработка прер.по совпадению Т2 **************************

TIMER2_COMP :






mov acp, akk

rcall div




mov temp, t
cpi temp, 1 ;проверяем нажатие кнопки
breq butt3 ;переход если нажата
ldi temp, 0 ;если отпущена обнуляем счётчик
sts button3, temp ;времени удержания кнопки
cbr flag, 2 ;сбрасываем флаг удержания кнопки 3


mov temp, t
cpi temp, 2 ;проверяем нажатие кнопки
breq butt2 ;переход если нажата
ldi temp, 0 ;если отпущена обнуляем счётчик
sts button2, temp ;времени удержания кнопки
cbr flag, 4 ;сбрасываем флаг удержания кнопки 3




mov temp, akk ;отключение светодиодов при опасном
subi temp, 115 ;уровне заряда АКБ
brcc seg1 ;если неопасно то продолжаем светить
cbi PORTB, 1 ;иначе выключаем диоды
cbr flag, 1 ;снимаем флаг включенных диодов
mov kshim, shim ;запомнили яркость,чтобы при включении было так же






seg1:

sbrs indflag, 0
rjmp seg2
mov temp, dived
rcall lcd

cbi PORTD, 3
sbi PORTC, 2
rcall m0
ldi indflag,0b00000010
reti

seg2: sbrs indflag, 1
rjmp seg3
mov temp, divdes
rcall lcd

cbi PORTD, 2
sbi PORTD, 3
rcall m0
ldi indflag,0b00000100
reti

seg3: mov temp, divsot
rcall lcd

cbi PORTC, 2
sbi PORTD, 2

rcall m0
ldi indflag,0b00000001




reti


butt3: sbrc flag, 1 ;если кнопка ещё удерживается
rjmp seg1 ;возвращаемся на индикацию
lds temp, button3 ;в temp счётчик времени удержания кнопки
inc temp ;увеличиваем на 1
cpi temp, 10 ;сравниваем с задержкой против дребезга
breq led1 ;переход если задержку выдержали
sts button3,temp ;иначе обновили счётчик времени удержания кнопки
rjmp seg1 ;возвращаемся на индикацию
led1: ldi temp, 0 ;обнуляем счетчик удержания кнопки
sts button3,temp
sbrc flag, 0 ;если диоды включены
rjmp led2off ;переход на выключение
rjmp led2on ;иначе включаем
rjmp seg1 ;возвращаемся на индикацию

butt2: sbrc flag, 2 ;если кнопка ещё удерживается
rjmp seg1 ;возвращаемся на индикацию
lds temp, button2 ;в temp счётчик времени удержания кнопки
inc temp ;увеличиваем на 1
cpi temp, 10 ;сравниваем с задержкой против дребезга
breq led2 ;переход если задержку выдержали
sts button2,temp ;иначе обновили счётчик времени удержания кнопки
rjmp seg1 ;возвращаемся на индикацию
led2: ldi temp, 0 ;обнуляем счетчик удержания кнопки
sts button2,temp
sbrc flag, 3 ;если диоды включены
rjmp led1off ;переход на выключение
rjmp led1on ;иначе включаем
rjmp seg1 ;возвращаемся на индикацию

ret


;************************************************* ********************

TIMER2_OVF : ret
TIMER1_CAPT : ret
TIMER1_COMPA : ret
TIMER1_COMPB : ret

;******** Обработка прер.по переполтению Т1 *************************************

TIMER1_OVF :


rcall ktok2



reti

;************************************************* ********************

TIMER0_OVF : ret
SPI_STC : ret
USART_RXC : ret
USART_UDRE : ret
USART_TXC : ret

;******** Обработка прер.по АЦП *************************************


ADC_CC :

cpi selacp, 1 ;если селектор АЦП =1 то идём на контроль тока
breq tok

cpi selacp, 2 ;если селектор АЦП =2 то идём на опрос кнопок
breq key

cpi selacp, 3 ;если селектор АЦП =3 то идём на опрос кнопок
breq akb



akb: ldi selacp, 1



in temp, ADCL ; просто формальность (первым всегда читается ADCL)
in temp, ADCH ; wreg contains result


lds suml, suml2
lds sumh, sumh2
lds sumak, sumak2


add suml, temp
clr temp
adc sumh, temp


inc sumak
mov temp, sumak
cpi temp, 255
breq wozv1

sts suml2, suml
sts sumh2, sumh
sts sumak2, sumak


ldi temp, 0b11100001 ;запуск преобразования АЦП-1 для тока на диодах
out ADMUX, temp
ldi temp, 0b11001111
out ADCSR, temp



reti
;-------------------------------------------------------------------------------
tok: rjmp tok1 ;не хватает длины перехода, перевалочная
key: rjmp key1 ;не хватает длины перехода, перевалочная
;-------------------------------------------------------------------------------
wozv1: ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml

mov temp, suml
;subi temp, 169 ;вычитаем из датчика АКБ (делаем 100%)
;lsr temp ;делим на 2, получаем %


mov akk, temp

clr sumak
clr suml
clr sumh

sts suml2, suml
sts sumh2, sumh
sts sumak2, sumak









ldi temp, 0b11100001 ;запуск преобразования АЦП-1 для тока на диодах
out ADMUX, temp
ldi temp, 0b11001111
out ADCSR, temp


reti

key1: ldi selacp, 3
in temp, ADCL ; просто формальность (первым всегда читается ADCL)
in tacp, ADCH ; wreg contains result
mov t, tacp
lsr t
lsr t
lsr t
lsr t
lsr t
lsr t

ldi temp, 0b11100000 ;запуск преобразования АЦП-0 для аккумулятора
out ADMUX, temp
ldi temp, 0b11001111
out ADCSR, temp



reti

tok1: ldi selacp, 2
in temp, ADCL ; просто формальность (первым всегда читается ADCL)
in temp, ADCH ; wreg contains result




lds suml, suml1
lds sumh, sumh1
lds sumak, sumak1

ldi selacp, 2
add suml, temp
clr temp
adc sumh, temp


inc sumak
mov temp, sumak
cpi temp, 32
breq wozv

sts suml1, suml
sts sumh1, sumh
sts sumak1, sumak


ldi temp, 0b11100111 ;запуск преобразования АЦП-7 для кнопок
out ADMUX, temp
ldi temp, 0b11001111
out ADCSR, temp



reti



wozv:
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml
ror sumh
ror suml


mov a, suml
clr sumak
clr suml
clr sumh

rcall ktok

sts suml1, suml
sts sumh1, sumh
sts sumak1, sumak


ldi temp, 0b11100111 ;непрерывное чтение, АЦП-0
out ADMUX, temp
ldi temp, 0b11001111
out ADCSR, temp



reti



;************************************************* ********************

EE_RDY : ret
ANA_COMP : ret
TWI : ret
SPM_RDY : ret

;------------------------------------------------------------------------------

reset:

;LDI TEMP, 0b10100000
;OUT MCUCR, TEMP
;SLEEP

ldi temp, 0b11001111
out ADCSR, temp

ldi temp, 0b11100001
out ADMUX, temp





ldi kontu, 10 ;мощность

ldi temp, 0
sts button3, temp
sts button2, temp
sts sumak1, temp
sts suml1, temp
sts sumh1, temp

ldi indflag, 0b00001001
ldi temp, 1
mov shiml, temp
mov shims, temp
mov selacp, temp
ldi temp, 211 ;начальная яркость фонаря
mov shim, temp

ldi temp, LOW(RAMEND)
out SPL, temp

ldi temp, HIGH(RAMEND)
out SPH, temp


cli ;отключаем прерывания


ldi temp, 0b11111111 ; в DDRB 1,2,3 на выход, 0,4,5,6,7 на вход
out DDRB, temp
ldi temp, 0b11111111 ;
out PORTB, temp

ldi temp, 0b11111111 ; в DDRD все на выход
out DDRD, temp
ldi temp, 0b11111111 ; для индикации
out PORTD, temp

ldi temp, 0b01111100 ; в DDRС на выход
out DDRC, temp
ldi temp, 0b11111100 ; для вывода на индикатор
out PORTC, temp






ldi temp, 0 ;Величина скважности 1А канала ШИМ
out OCR1AH, temp
ldi temp, 0
out OCR1AL, temp

ldi temp, 0 ;Величина скважности 1В канала ШИМ
out OCR1BH, temp
ldi temp, 5
out OCR1BL, temp

ldi temp, 0 ;Верхний предел счёта
out ICR1H, temp
ldi temp, 255
out ICR1L, temp

ldi temp, 50 ;Настройка Т2 для формирования картинки
out OCR2, temp
ldi temp, 0b00001111 ;100 обновлений для каждого сегмента
;312 раз в секунду (16 Mgz)
out TCCR2, temp

ldi temp, 0b00110010 ;Настройка Т1
out TCCR1A, temp
ldi temp, 0b00011001 ;
out TCCR1B, temp

ldi temp, 0b10000100
out TIMSK, temp

ldi temp, 0
sts button3, temp

sbr flag, 1 ;устанавливаем флаг включенных диодов

sei ;Включаем прерывания
cbi PORTB, 4

;*********************** Главный цикл **************************


main:



rjmp main








;********************** Знакогенератор *******************

DcMatrix: .db 0b10101111,0b00100010 ;0,1
.db 0b10011011,0b10111010 ;2,3
.db 0b00110110,0b10111100 ;4,5
.db 0b10111101,0b00101010 ;6,7
.db 0b10111111,0b10111110 ;8,9

lcd: ;преобразование двоичного числа
;в код 7-сегментного индикатора

ldi ZL,Low(DcMatrix*2) ;инициализация массива
ldi ZH,High(DcMatrix*2)

ldi divsot,0 ;прибавление переменной
add ZL,temp ;к 0-му адресу массива
adc ZH,divsot

lpm ;загрузка значения
mov temp,r0
ret


;********************** Деление *******************
div:

ldi divsot, 0
decsot: inc divsot
mov tempdiv, acp
subi acp, 100
brcc decsot
dec divsot

mov acp, tempdiv

ldi divdes, 0
decdes: inc divdes
mov tempdiv, acp
subi acp, 10
brcc decdes
dec divdes

mov acp, tempdiv

ldi dived, 0
deced: inc dived
subi acp, 1
brcc deced
dec dived

mov acp, tempdiv

ret

;********************** Включение 2-го LED *******************

led2on: sbi PORTB, 1 ;включаем диоды
sbr flag, 1 ;устанавливаем флаг включенных диодов
sbr flag, 2 ;устанавливаем флаг клавиша нажата

mov shim, kshim ;включаем с яркостью до выключения

rjmp seg1 ;возвращаемся на индикацию

led2off:cbi PORTB, 1 ;выключаем диоды
cbr flag, 1 ;снимаем флаг включенных диодов
sbr flag, 2 ;устанавливаем флаг клавиша нажата

mov kshim, shim ;запомнили яркость,чтобы при включении было так же

rjmp seg1 ;возвращаемся на индикацию




;********************** Вывод остатка порта в PD0, PD1 *******************
m0:
rol temp
brcs m1
cbi PORTB, 3
rjmp m2
m1: sbi PORTB, 3

m2: rol temp
brcs m3
cbi PORTD, 7
rjmp m4
m3: sbi PORTD, 7

m4: rol temp
brcs m5
cbi PORTD, 6
rjmp m6
m5: sbi PORTD, 6


m6: rol temp
brcs m7
cbi PORTD, 5
rjmp m8
m7: sbi PORTD, 5

m8: rol temp
brcs m9
cbi PORTC, 3
rjmp m10
m9: sbi PORTC, 3

m10: rol temp
brcs m11
cbi PORTD, 1
rjmp m12
m11: sbi PORTD, 1

m12: rol temp
brcs m13
cbi PORTD, 4
rjmp m14
m13: sbi PORTD, 4

m14: rol temp
brcs m15
cbi PORTB, 4
ret
m15: sbi PORTB, 4

ret

;********************** Контроль за током *******************
ktok: cp a, kontu ;сравниваем значение тока с контрольным
breq entok ;если равно то на выход
brcs tokminus ;иначе идём на уменьшение

inc shiml ;увеличиваем десятичную составляющую ШИМ
mov temp, shiml
cpi temp, 50 ;если ещё не достигли 10 на выход из процедуры
breq tplus ;иначе
rjmp entok
tplus: inc shim ;увеличиваем реальный ШИМ
ldi temp, 0
mov shiml, temp ;и обнуляем десятичную составляющую ШИМ

ret

tokminus:
dec shiml ;уменьшаем десятичную составляющую ШИМ
mov temp, shiml
cpi temp, 0 ;проверяем не 0 ли ещё
breq tmin
rjmp entok ;если нет то на выход из процедуры
tmin: dec shim
ldi temp, 50 ;иначе уменьшаем реальный ШИМ
mov shiml, temp ;и десятичную составляющую ШИМ = 10

entok: ret



;********************** Вкл.выкл. второго диода *******************

led1off:ldi temp, 0b00000000
out ADCSR, temp
ldi temp, 0b00000000 ; в DDRB 1,2,3 на выход, 0,4,5,6,7 на вход
out DDRB, temp
ldi temp, 0b00000000 ;
out PORTB, temp

ldi temp, 0b00000000 ; в DDRD все на выход
out DDRD, temp
ldi temp, 0b00000000 ; для индикации
out PORTD, temp

ldi temp, 0b00000000 ; в DDRС на выход
out DDRC, temp
ldi temp, 0b00000000 ; для вывода на индикатор
out PORTC, temp

IN TEMP, MCUCR
ORI TEMP, 0b10100000
OUT MCUCR, TEMP
sleep



sbi PORTB, 5 ;выключаем диоды
cbr flag, 8 ;устанавливаем флаг выключенных диодов
sbr flag, 4 ;устанавливаем флаг клавиша нажата
ldi kontu, 100

rjmp seg1 ;возвращаемся на индикацию


led1on: cbi PORTB, 5 ;включаем диоды
sbr flag, 8 ;снимаем флаг выключенных диодов
sbr flag, 4 ;устанавливаем флаг клавиша нажата
ldi kontu, 150

rjmp seg1 ;возвращаемся на индикацию
ret

;********************** Плавная регулировка ШИМ *******************

ktok2:
inc shims ;увеличиваем счётчик ступеней сглаживания ШИМ
cp shims, shiml ;сравниваем с десятичной составляющей ШИМ
brcs spl1 ;идём если ещё не превысили дес.составляющую
out OCR1BL, shim ;иначе оставляем ШИМ как есть
rjmp spl2

spl1: inc shim ;разбавляем завышеным значением для сглаживания
out OCR1BL, shim
dec shim

spl2: ldi temp, 50 ;сглаживание в 10 раз
cpse shims, temp ;если не достигли то возврат из процедуры

ret
clr shims ;иначе обнуляем счётчик ступеней сглаживания ШИМ
ret

Последний раз редактировалось putmannn; 13.10.2011 в 20:36.
putmannn вне форума  
Непрочитано 13.10.2011, 22:58   #29
kittec
Гражданин KAZUS.RU
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

putmannn, так Вы разобрались с усыплением меги или нет, а то я вижу SLEEP забит.
kittec вне форума  
Непрочитано 13.10.2011, 23:12   #30
llans
Частый гость
 
Регистрация: 23.04.2011
Адрес: Санкт- Петербург
Сообщений: 42
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
llans на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Напишите, какое потребление если сразу после reset раскоментирован sleep
kittec, sleep у него в конце
llans вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Атмега 8 PWM и сервы mg995Tower Pro deeman30rus Микроконтроллеры, АЦП, память и т.д 6 26.05.2011 12:37
Помогите с часами (атмега 16) SvZhuk Proteus 1 19.11.2010 02:29
Атмега 32а, не известно под какую частоту прошита. sae74 Микроконтроллеры, АЦП, память и т.д 1 10.04.2010 19:33
Ballast Designer, режимы включения ламп netigors Источники питания и свет 3 17.04.2009 06:42
Методика поиска неисправностей телевизоров.Сервисные режимы halizev2 Измерительное оборудование 0 13.12.2008 03:34


Часовой пояс GMT +4, время: 12:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot