Сб июн 09, 2018 10:14:55
Сб июн 09, 2018 12:19:44
Сб июн 09, 2018 12:37:44
Сб июн 09, 2018 14:14:24
.include "tn2313def.inc"
.def temp =R16
.cseg
.org 0x00 rjmp init
;ТАБЛИЦА ВЕКТОРОВ ПРЕРЫВАНИЙ
.org ICP1addr rjmp T1_capt ;(0х03) Захват таймера/счетчика Т1
.org INT_VECTORS_SIZE
;НАСТРОЙКА СТЕКА И ПОРТОВ
init: ldi temp,RAMEND
out SPL,temp
ser temp
out DDRB,temp ;В на выход с 0
ldi temp,~(1<<PD6)
out DDRD,temp ;D на выход с 0, кроме PD6
ldi temp,(1<<PD6)
out PORTD,temp ;ICP на вход БЕЗ подтяжки
;НАСТРОЙКА ТАЙМЕРА T1
ldi temp,1<<ICIE1
out TIMSK,temp ;Разрешаем прерывание по захвату Т1
ldi temp,(1<<ICNC1 | 1<<ICES1 | 1<<CS12 | 0<<CS11 | 1<<CS10)
out TCCR1B,temp ;1/1024
sei
;ОСНОВНОЙ ЦИКЛ
MAIN: rjmp MAIN
;ОБРАБОТКА ПРЕРЫВАНИЯ ПО ЗАХВАТУ
T1_capt:clr temp
out TCNT1H,temp
out TCNT1L,temp ;Обнулили счетный регистр
in ZL,ICR1L
in ZH,ICR1H
out PORTD,ZH
out PORTB,ZL ;Вывели значение периода на св-диоды
reti
Сб июн 09, 2018 14:28:16
Пн июн 11, 2018 22:22:12
Вт июн 12, 2018 13:14:01
Ср июн 13, 2018 04:02:18
Чт июн 14, 2018 20:45:06
Пт июн 15, 2018 09:38:46
Пт июн 15, 2018 20:05:13
Частоту вращения всяких механизмов обычно измеряют в оборотах в МИНУТУ. Т.к. на герцы частота получается очень небольшой и её трудно будет измерить с достаточной точностью прямым способом. Быстрее и точнее измерять период между импульсами и потом приводить его к частоте. Для чего и нужна математика.считайте сколько придёт импульсов за 500 миллисекунд, и получите "готовую" частоту в герцах.
Сб июн 16, 2018 08:51:26
Вс июн 17, 2018 13:33:09
Вс июн 17, 2018 14:08:13
Вс июн 17, 2018 14:43:59
;----------;
; Fuse values
;----------;
.section .fuse,"a",@progbits
.dc.b 0b01111010 ; Fuse low bits
.dc.b 0b11111000 ; Fuse high bits
g:\_flashlight\ATtiny\HVS\LPT\avrxtool32\bin>avrpp.exe -RF
Put a device on the socket and type Enter...
PAR->Unknown device (FF-FF-FF).
HVS->Detected device is ATtiny13.
Low: 01101010
││││││└┴── CKSEL[1:0] Clock
││││└┴── SUT[1:0] Startup time
│││└── CKDIV8 Clock division ratio (1:1/1, 0:1/8)
││└── WDTON (1:WDT normal, 0:WDT always on)
│└── EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
└── SPIEN (1:Disable ISP, 0:Enable ISP) *Available only HVS mode
High:---11111
││││└── RSTDISBL (RESET pin 1:Enable, 0:Disable(PB5))
││└┴── BODLEVEL[1:0] (BOD 11:None, 10:1.8V, 01:2.7V, 00:4.3V)
│└── DWEN (On-Chip Debugging via RESET pin 1:Disable, 0:Enable)
└── SPMEN (SPM instruction 1:Disable, 0:Enable)
Cal: 98
g:\_flashlight\ATtiny\HVS\LPT\avrxtool32\bin>
Пн июн 18, 2018 08:29:48
Пн июн 18, 2018 18:11:44
Вт июн 26, 2018 09:50:02
Вт июн 26, 2018 11:51:43
Вт июн 26, 2018 12:04:54