реклама на сайте
подробности

 
 
> UART И SPI НА АССЕМБЛЕРЕ, ATMEGA128A, ПОМОГИТЕ, ПОЖАЛУЙСТА
Uragan
сообщение Dec 12 2014, 21:55
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 12-12-14
Пользователь №: 84 100



здравствуйте всем! очень нужна ваша помощь
пишем spi на ассемблере для atmega 128 a, тихим тихим. буду признательна, если поможете) еще uart нужен, с ним вообще сложно
CODE
.include "m128def.inc"
.equ LowByte=60
.equ CS=PB0
.equ SCK=PB7

.org $000
rjmp reset
.org $001C
rjmp timer1_ovf

reset:
cli

ldi r16, TCNT1H
out TCNT1H, r16
ldi r16, LowByte
//ldi r16, TCNT1L
out LowByte, r16

ldi r16, (1<<TOIE1)
out TIMSK, r16
ldi r16, (1<<CS10)|(1<<CS11)
out TCCR1B, r16
ldi r17, (1<<4)
out DDRB, r17
clr r16
sei

main:
RJMP main

ldi r18, 1<<ADEN| 1<<ADIE|1<<ADPS2|1<<ADPS0
out ADCSRA, r18

timer1_ovf:
eor r16, r17
out PORTE, r16///


;start ADC 1/32=125; interrupt enable
ldi r18, 1<<ADEN| 1<<ADIE|1<<ADPS2|1<<ADPS0|1<<ADSC
out ADCSRA, r18
/*ldi r18, 1<<ADFR
out ADCSRA, r18
ldi r18, 1<<ADSC
out ADCSRA, r18*/



SPI_MasterInit:
; Установка MOSI и SCK на вывод, все остальные на ввод
ldi r17,(1<<DDB5)|(1<<DDB1)
out DDRB,r17
; Разрешение SPI в режиме мастера, установка скорости связи fck/16
ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0)
out SPCR,r17
ret
SPI_MasterTransmit:
; Запуск передачи данных (r16)
out SPDR,r16
Wait_Transmit:
; Ожидание завершения передачи данных
sbis SPSR,SPIF
rjmp Wait_Transmit
ret

SPI_SlaveInit:
; Установка MISO на вывод и всех ост. на ввод
ldi r17,(1<<DDB3)
out DDRB,r17
; Разрешение SPI
ldi r17,(1<<SPE)
out SPCR,r17
ret
SPI_SlaveReceive:
; Ожидание завершения передачи
sbis SPSR,SPIF
rjmp SPI_SlaveReceive
; Чтение принятых данных и выход из процедуры
in r16,SPDR
ret


Сообщение отредактировал IgorKossak - Dec 14 2014, 00:01
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016