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

 
 
> Как организовать передачу одного байта по SPI
Scorpline
сообщение Oct 30 2007, 16:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 25-10-07
Пользователь №: 31 737



Допустим в R1 лежит переменная... Как организовать ее передачу по SPI на ассемблере.
Может с кодом кто поможет....?
(изучаю асм... для 8051 ...много вопросов)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
oran-be
сообщение Oct 31 2007, 14:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Код
;****            Драйвер вывода через аппартный SPI - функция
get_data:
                    mov    B, #8
gd_loop:
                    rlc    A
                    mov    piSPI_DATA, C
                    setb    piSPI_CLK
                    clr    piSPI_CLK
                    djnz    B, gs_loop
                    ret

Запихивается байт в аккумулятор, вызывается функция - и данные в SPI

Сообщение отредактировал oran-be - Oct 31 2007, 14:25
Go to the top of the page
 
+Quote Post
Scorpline
сообщение Nov 4 2007, 17:33
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 25-10-07
Пользователь №: 31 737



Цитата(oran-be @ Oct 31 2007, 18:24) *
Код
;****            Драйвер вывода через аппартный SPI - функция
get_data:
                    mov    B, #8
gd_loop:
                    rlc    A
                    mov    piSPI_DATA, C
                    setb    piSPI_CLK
                    clr    piSPI_CLK
                    djnz    B, gs_loop
                    ret

Запихивается байт в аккумулятор, вызывается функция - и данные в SPI


...Если не затруднит в двух словах что за "Драйвер вывода через аппартный SPI - функция"?
И еще "mov B,#8" это имеется в виду что передовать будем все 8 бит(байт целиком)?
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 5 2007, 11:41
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Цитата(Scorpline @ Nov 4 2007, 21:33) *
...Если не затруднит в двух словах что за "Драйвер вывода через аппартный SPI - функция"?
И еще "mov B,#8" это имеется в виду что передовать будем все 8 бит(байт целиком)?

Здесь имеется в виду, что это код, работающий непосредственно с железом, в частности с портами, реализуя интерфейс SPI программным способом медодом дергания за порты. А функция - это то, что это реализовано в виде функции. То есть, для вывода байта надо загрузить в А данное и сделать


call get_data
... Здесь уже занные ушли в SPI
Go to the top of the page
 
+Quote Post
Scorpline
сообщение Nov 5 2007, 15:59
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 25-10-07
Пользователь №: 31 737



Цитата(oran-be @ Nov 5 2007, 15:41) *
Здесь имеется в виду, что это код, работающий непосредственно с железом, в частности с портами, реализуя интерфейс SPI программным способом медодом дергания за порты. А функция - это то, что это реализовано в виде функции. То есть, для вывода байта надо загрузить в А данное и сделать
call get_data
... Здесь уже занные ушли в SPI

Спасибо.... Доходчиво... однако все не так сложно.biggrin.gif
Go to the top of the page
 
+Quote Post
AlexNG
сообщение Nov 27 2007, 14:44
Сообщение #6





Группа: Новичок
Сообщений: 4
Регистрация: 21-11-07
Пользователь №: 32 560



у 8086 есть spi интерфейс?
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 27 2007, 15:10
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(AlexNG @ Nov 27 2007, 19:44) *
у 8086 есть spi интерфейс?

Нет. i8086 это CPU - процессор, а не MCU - микроконтроллер. У CPU нет периферийных модулей типа UART, SPI, I2C.
Go to the top of the page
 
+Quote Post



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

 


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


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