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

📄 spi.lis

📁 spi的i/o茉莉程序
💻 LIS
字号:
                        .module SPI.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICC\SPI\SPI.c
 0000                   .dbfunc e Spi_init _Spi_init fV
                        .even
 0000           _Spi_init::
 0000                   .dbline -1
 0000                   .dbline 10
 0000           ; #include <iom8v.h>
 0000           ; #include "uart.h"
 0000           ; #include "mytype.h"
 0000           ; #include "spi.h"
 0000           ; 
 0000           ; 
 0000           ; extern uint8 table[];
 0000           ; 
 0000           ; void Spi_init(void)
 0000           ; {
 0000                   .dbline 11
 0000           ; DDR1=((1<<WP)|(1<<SO)|(1<<SCLK)|(1<<CS));
 0000 8EE2              ldi R24,46
 0002 87BB              out 0x17,R24
 0004                   .dbline 12
 0004           ; SPCR=((1<<SPE)|(1<<MSTR)|(1<<SPR0));
 0004 81E5              ldi R24,81
 0006 8DB9              out 0xd,R24
 0008                   .dbline 13
 0008           ; WP_1;
 0008 C19A              sbi 0x18,1
 000A                   .dbline -2
 000A           L1:
 000A                   .dbline 0 ; func end
 000A 0895              ret
 000C                   .dbend
 000C                   .dbfunc e Spi_MT _Spi_MT fV
 000C           ;           data -> R16
                        .even
 000C           _Spi_MT::
 000C                   .dbline -1
 000C                   .dbline 17
 000C           ; }
 000C           ; 
 000C           ; void Spi_MT(uint8 data)
 000C           ; {
 000C                   .dbline 18
 000C           ; SPDR=data;
 000C 0FB9              out 0xf,R16
 000E           L3:
 000E                   .dbline 19
 000E           L4:
 000E                   .dbline 19
 000E           ; while(!(SPSR&(1<<SPIF)));
 000E 779B              sbis 0xe,7
 0010 FECF              rjmp L3
 0012                   .dbline -2
 0012           L2:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r data 16 c
 0014                   .dbend
 0014                   .dbfunc e Spi_MR _Spi_MR fc
 0014           ;           data -> R16
                        .even
 0014           _Spi_MR::
 0014                   .dbline -1
 0014                   .dbline 23
 0014           ; }
 0014           ; 
 0014           ; uint8 Spi_MR()
 0014           ; {
 0014                   .dbline 25
 0014           ; uint8 data;
 0014           ; data=SPDR;
 0014 0FB1              in R16,0xf
 0016                   .dbline 26
 0016           ; SPDR=data;
 0016 0FB9              out 0xf,R16
 0018           L7:
 0018                   .dbline 27
 0018           L8:
 0018                   .dbline 27
 0018           ; while(!(SPSR&(1<<SPIF)));
 0018 779B              sbis 0xe,7
 001A FECF              rjmp L7
 001C                   .dbline 31
 001C           ; //Prints("Get data Readdata...",1);
 001C           ; //Send_abyte(table[SPDR/16]);
 001C           ; //Send_abyte(table[SPDR/16]);
 001C           ; return SPDR;
 001C 0FB1              in R16,0xf
 001E                   .dbline -2
 001E           L6:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbsym r data 16 c
 0020                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -