Я как дурак купил десяток ATtiny12 и не знаю чего теперь делать - ни один компилер с ними не работает, а в асме я ничерта не смыслю. Есть код из той статьи, но почему-то не компилится. Мож кто сможет изготовить из него прошивку? :roll:
- Код: Выделить всё
;********************************************************************
;* ��-�������: ��-��������� �� PB4 ���� ����� ��������� � ��������
;* ����� 36���, � TSOP1736 �� PB3 �� �����������
;*
;* MCU: ATtiny12@1MHz (c) RoboClub 2003
;********************************************************************
.include "tn12def.inc"
rjmp RESET ;reset handle
;* ���������� ����������
.def t1 = r1 ;������� ��� "�������" ��������
.def temp = r19 ;������� ������� ��������
.def count = r20 ;������� ����� ��������� � �����
;* �����������
.equ led = 0 ;LED �� PB0
.equ tsop = 3 ;TSOP �� PB3
.equ ir_led = 4 ;IR LED �� PB4
;* ������ ����
RESET:
sbi DDRB, led ;���������� LED �� ����� PORTB ����� 5
sbi DDRB, ir_led ;���������� IR LED �� ����� PORTB ����� 3
cbi DDRB, tsop ;���������� TSOP �� ���� PORTB ����� 2
sbi PORTB,tsop ;�������� "��������"
;* ������� ��������
.equ TIME1 = 4 ;������������ ��������
.equ TIME2 = 5 ;�������� ����� ����������
.equ TIME3 = 20 ;�������� ����� ������� ���������
.equ COUNT = 10 ;����� ��������� � �����
; ������� ���� ���������
; ----------------------
start:
ldi count, COUNT ;��������� � ������� ����� ��������� � �����
; ���� ������ ����� ���������
flash:
cbi PORTB, ir_led ;�������� IR LED
ldi temp, TIME1 ;��������� � temp ������������ ��������
Delay1: dec temp ;��������� �� ������� temp, ����
brne Delay1 ; �� ������ ������ 0
sbi PORTB, ir_led ;����� IR LED
ldi temp, TIME2 ;��������� � temp ������������ ����� ����� ����������
Delay2: dec temp ;��������� �� ������� temp, ����
brne Delay2 ; �� ������ ������ 0
dec count ;��������� �� 1 ������� ����� ���������
brne flash ;���� �� 0, �� �������� ��������� �������
;����� ����� ��������� ������ - ���������, ���� �� ������ �� TSOP
sbis PINB, tsop ;���� ������� �� ������ TSOP ������ (�.�. ������ ����)
rjmp ledon ;�� ���� �������� LED
cbi PORTB, led ;����� ����� LED
rjmp wait_next ;� ��������� � �������� ��������� �����
ledon: sbi PORTB, led ;����� LED
;�������� ����� ��������� ������ ���������
wait_next:
clr t1 ;���������� t1 (�.�. t1=0 ���, ��� ���� t1=256)
ldi temp, TIME3 ;������������� ����� ��������
Delay3: dec t1 ;�������� �� �������� t1 �� 256 �� 0
brne Delay3 ; �.�. 256*3 ������
dec temp ;��������� TIME3 ��� �������� �� t1
brne Delay3 ; �.�. ����� (TIME3*256*3 + TIME3*3) ������
rjmp start ;��������� � ������ �������� �����