[an error occurred while processing this directive]
Пардон, только успел предложить свое участие - сорвали с места. Вот:
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено =AVR= 18 ноября 2005 г. 00:21
В ответ на: Ответ: Получилось что нибудь? отправлено lblsa 17 ноября 2005 г. 15:47

Вот ассемблерный текст. На С сам перепиши, мне лень:


.nolist
.include "2313def.inc"
.list

.equ xtal = 10000000 ;XTAL frequency, Hz
.equ clktime = 30 ;CLK half cycle length, uS
.equ gaptime = 10000 ;Inter-packet gap length, uS
.equ sendlen = 11 ;Send packet length, CLK pulses
.equ clkpin = PORTD6 ;Define port pin used as CLK

.def temp = r16 ;8-bit working register

.def cntrl = r24 ;16-bit counter
.def cntrh = r25 ;

.cseg
ldi temp,RAMEND ;Initialize stack pointer
out spl,temp ;

cbi PORTD,clkpin ;Initialize CLK pin to logic "0"

ldi r16,1 << clkpin ;Configure CLK pin as output
out DDRD,r16 ;

main:
ldi temp,sendlen ;Initialize packet clock counter

send:
ldi cntrl,low((clktime*xtal)/10000000)
ldi cntrh,high((clktime*xtal)/10000000)
sbi PORTD,clkpin ;Set CLK pin to logic "1"
rcall delay ;Hold it in "1" for desired time

ldi cntrl,low((clktime*xtal)/10000000)
ldi cntrh,high((clktime*xtal)/10000000)
cbi PORTD,clkpin ;Set CLK pin to logic "0"
rcall delay ;Hold it in "0" for desired time

dec temp ;Repeat SENDLEN times
brne send ;

ldi cntrl,low(((gaptime-2*clktime*sendlen)*xtal)/10000000)
ldi cntrh,high(((gaptime-2*clktime*sendlen)*xtal)/10000000)
rcall delay ;Provide desired inter-packet delay

rjmp main ;Repeat forever

;Provides delay of approx. 10*cntr/xtal uS
delay:
nop
nop
nop
nop
nop
nop

sbiw cntrl,1 ;Decrement 16-bit delay counter
brpl delay ;Loop while it's still positive

ret

Вот НЕХ-файл, можешь прошить в МК (целых 58 байт:):


:020000020000FC
:100000000FED0DBF969800E401BB0BE08EE190E090
:10001000969A0AD08EE190E0969806D00A95B1F7AC
:100020008CE794E201D0F1CF000000000000000056
:0A003000000000000197C2F70895D8
:00000001FF

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru