- •Міністерство транспорту та зв’язку україни львівський коледж державного університету інформаційно-комунікаційних технологій
- •Дослідження роботи spі – інтерфейсу мікроконтролера
- •1. Мета роботи
- •2. Теоретичні відомості
- •Алгоритм і програма для вивчення передачі інформації через
- •3. Підготовка до виконання роботи та індивідуальне завдання до лабораторної роботи
- •4. Питання вхідного контролю
- •5. Інструмент, обладнання, прилади
- •6. Порядок виконання роботи
- •7. Питання вихідного контролю
- •8. Оформлення звіту :
- •Перелік посилань
Алгоритм і програма для вивчення передачі інформації через
SPI-інтерфейс
Рисунок 11 – Блок-схема алгоритму передачі даних між МК та ПЛМ по SPI інтерфейсу
Пункти Конфігурація Альтери та Конфігурація Альтери 2 передбачають почергову видачу трьох конфігураційних байтів в Альтеру за вказаними адресами. Адреси виставляються на адресній шині МК-Альтера (А3..А0)
Фрагмент програми і підпрограм, що реалізована в навчальному лабораторному стенді для передачі даних по SPI.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Лабораторна робота №5 +
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Назва: SPI
Основні регістри: MCBYTE – регістр даних МС
PLDBYTE – регістр даних PLM
SPDR – регістр даних інтерфейсу SPI
Опис програми: Робота виконує передачу даних між МС і PLM по послідовному порту SPI, використовуючи головний пристрій PLM Altera
Опис основного коду програми:
S1: call Read_Key_In ;
mov LEDDR,KEYREG ;
call Write_LED_H ;
; Зчитування даних в МС з тумблерів
jnb BUT_CNT,end_SPI_Work ;
jb BUT_ENT,S1 ;
mov MCBYTE,LEDDR ;
mov a,#01h
call Delay_sec
S2: call Read_Key_In ;
mov LEDDR,KEYREG ;
call Write_LED_L ;
; Зчитування даних в PLM з тумблерів
jnb BUT_CNT,end_SPI_Work ;
jb BUT_ENT,S2 ;
mov PLDBYTE,LEDDR ;
call SPI_Slave ; Виклик підпрограми передачі даних по SPI
mov LEDDR,SPDR ; Вивід отриманих даних МС на світлодіоди
call Write_LED_H ;
Використовуються підпрограми: Read_Key_In Write_LED_H Write_LED_L Delay_sec SPI_Slave
;-------------------------кінець--------------------------------------
SPI_Wait
;++++++ SPI_Wait +++++++++++++++++++++++++++++++++++++++++++++++++++
Підпрограма здійснює затримку виконання програми до закінчення передачі
по SPI-інтерфейсу
Приклад:
SPI_Wait:
push acc
SPI_Wait_do:
mov a,SPSR
jnb acc.7,SPI_Wait_do
pop acc
ret
:__________________________________________________________________________
SPI_Slave
;+++++++++++++++ SPI_Slave++++++++++++++++++++++++++++++++++++
;
; PLDBYTE = byte of SPI Altera reg
; MCBYTE = byte of SPDR
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Підпрограма виконує такі функції:
Налаштовує SPI-інтерфейс МК в режим Slave
Здійснює запис байтів MCBYTE і PLDBYTE в SPI-регістри МК і ПЛМ, відповідно
Забезпечує ініціалізацію виходів SPI-інтерфейсу ПЛМ
Забезпечує підключення паралельної шини SPI-регістру ПЛМ до нижньої лінійки світлодіодів
Ініціалізує передачу даних по SPI-інтерфейсу між ПЛМ і МК
По закінченні передачі відключає ПЛМ від SPI-шини і виводить вміст регістру МК на верхню лінійку світлодіодів
Повертає SPI-інтерфейс МК в попередній режим
;_____________________________________________________________________________
