Технический Портал Левши Пятница, 29.11.2024, 12:37
| RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Последвтельный таймер
VasylYEДата: Пятница, 05.09.2008, 15:04 | Сообщение # 46
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline

схема подключения индикаторов с общим анодом.
чтобы засветить индикатор, на шину подают инвертированное число (0 - сегмент светится, 1 - нет)
на базу соотв. транзистора нужно подавать лог. 0

схема подключения индикаторов с общим катодом
здесь при подаче на шину 1 - сегмент светится, 0 - нет
коммутация транзисторов така я же.
в принципе можно обойтись без подтяжки к +5 (R5, R6) но это нужно экспериментировать
в архиве - упрощенная модель в протеусе таймера с обоими типами индикаторов.
Прикрепления: 9328271.gif (13.5 Kb) · 1586655.gif (15.7 Kb) · 3624971.rar (18.1 Kb)


А нам своє робить!
 
VasylYEДата: Понедельник, 08.09.2008, 19:14 | Сообщение # 47
Рядовой
Группа: Проверенные
Сообщений: 263
Награды: 1
Статус: Offline
Quote
Обнаружил еще проблему при нажатии на кнопку стоп таймер не начианет все с нового цикла а останавливается и при следующем старте продалжает. Похоже как на паузу.

исправление
в этой части кода
Code

;Аварийная остановка
Emergency_stop:
;Отключаем нагрузки
cbi PORTB, 4
cbi PORTB, 5
cbi PORTB, 6
cbi PORTB, 7

  ldi temp, 0x00
  out TCCR1B, temp  ;Остановка таймера
;

jmp ready

делаем правку
Code
;Аварийная остановка
Emergency_stop:
;Отключаем нагрузки
cbi PORTB, 4
cbi PORTB, 5
cbi PORTB, 6
cbi PORTB, 7

  ldi temp, 0x00
  out TCCR1B, temp  ;Остановка таймера
;

   ldi XH, HIGH(Current_timer)
   ldi XL, LOW(Current_timer)
   ldi temp, 0x01
   st X, temp  ;Устанавливаем текущий таймер = 1

jmp Tx_start__

проблема устраняется (таймеры перезагружаются значением, которое было до их старта).


А нам своє робить!
 
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск:

Copyright MyCorp © 2024