📄 spim.sdi
字号:
,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,;
,,,; SPIM.ASM MPB Ver:1.0 13-9-05
,,,;...............................................................
,,,;
,,,; SPI Master program
,,,;
,,,; Outputs clock to slave transmitter, receives BCD data
,,,; and sends it to slave receiver for display
,,,;
,,,;
,,,;
,,,;
,,,;
,,,;
,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,
,,, PROCESSOR 16F877 ; define MPU
00002007,3731,, __CONFIG 0x3731 ; XT clock (4MHz)
,,,
,,,; LABEL EQUATES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,
,,, INCLUDE "P16F877.INC" ; Standard register labels
,,,
,,,Store EQU 020
,,,
,,,; Initialise ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,
,,, ORG 0 ; Place machine code
00000000,0000,, NOP ; Required for ICD mode
,,,
00000001,1683 1303,, BANKSEL TRISC
00000003,1287,, BCF TRISC,5 ; Serial data (SDO) output
00000004,1187,, BCF TRISC,3 ; Serial clock (SCK) output
00000005,1007,, BCF TRISC,0 ; Slave select (SS) output
,,,
00000006,0103,, CLRW SSPSTAT ; Default clock timing
,,,
00000007,1283 1303,, BANKSEL PORTD
00000009,1407,, BSF PORTC,0 ; Reset slave transmitter
0000000A,0194,, CLRF SSPCON ; SPI master mode, clock = 1MHz
,,,
,,,
,,,; MAIN LOOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,,,
0000000B,1694,, BSF SSPCON,SSPEN ; Enable SPI mode
0000000C,1007,again,again BCF PORTC,0 ; Enable slave transmitter
,,,
0000000D,0093,, MOVWF SSPBUF ; Rewrite buffer to start clock
0000000E,1D8C,waitin,waitin BTFSS PIR1,SSPIF ; wait for SPI interrupt
0000000F,280E,, GOTO waitin ; for data recieved
,,,
00000010,118C,, BCF PIR1,SSPIF ; clear interrupt flag
00000011,0813,, MOVF SSPBUF,W ; read SPI buffer
00000012,00A0,, MOVWF Store ; store BCD value
,,,
00000013,1407,, BSF PORTC,0 ; Disable slave transmitter
00000014,0093,, MOVWF SSPBUF ; Reload SPI buffer
,,,
00000015,1D8C,waits,waits BTFSS PIR1,SSPIF ; wait for SPI interrupt
00000016,2815,, GOTO waits ; for data sent
00000017,118C,, BCF PIR1,SSPIF ; clear interrupt flag
,,,
00000018,280C,, GOTO again ; repeat main loop
,,,
,,,
,,,
,,, END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -