⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spim.sdi

📁 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案(Digital Mille
💻 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 + -