CPU+Цифровой потенциометр
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Spiritus 14 декабря 2004 г. 20:15

Автор: Юрий (194.44.2.---)
Дата: 14/12/2004 20:15

Кто работал SPI контроллера + MCP41010(SPI Цифровой Потенциометр)

Не получается запустить. Посмотрите, где я не прав?
(Или может кто свой рабочий код кинет...)

include "p16f873A.inc"

cs equ 0 ;PortB - 0 бит

org 0x000 ; Reset Vector
Call Delay528ms ;Код пауз не кидаю
Call Delay528ms ;Код пауз не кидаю

;------- Настройка портов и SPI в режим мастера ---------------------------------------------

bcf STATUS, RP0 ; need to set bank 0
clrf PORTC ; initialize port c

bsf STATUS, RP0 ; need to set bank 1
movlw b'00000000' ; all bits are outputs
movwf TRISC ;
movlw b'01111110' ;
movwf TRISB ;
clrf PIE1 ; disables all peripheral ints
clrf INTCON ; disables all interrupts
bcf STATUS, RP0 ; need to set bank 0

clrf SSPCON ; clear SSP control register
movlw b'00110001' ; SPI master, clk/16, ckp=0 ;old 00110001
movwf SSPCON ; SSPEN enabled

;------- Основные действия ---------------------------------------------
bsf PORTC, cs
Call Delay528ms ;Код пауз не кидаю
Call Delay528ms ;Код пауз не кидаю
bcf PORTC, cs

; movlw b'00010001'
movlw b'10001000'
call WriteSPIData
; movlw b'00001000'
movlw b'00000000'
call WriteSPIData

movlw b'00000100'
call WriteSPIData

nop
nop
nop
bsf PORTC, cs
Begin
nop
goto Begin
;------------------------------------------------------
WriteSPIData
movwf SSPBUF

loop1
bsf STATUS, RP0
btfss SSPSTAT, BF
goto loop1
bcf STATUS, RP0
retlw 0

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru