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

📄 spi.lst

📁 gps mmc logging using z8f6421 zilog microcontroller
💻 LST
📖 第 1 页 / 共 2 页
字号:
                           A   195    ;   12	}
                           A   196    .line 12
00000F D6 0000             A   197    	CALL	__b_framereset
000012 AF                  A   198    	RET	
                           A   199    .endfunc "TransmitSPI",12,"_TransmitSPI"
                           A   200    	SEGMENT ROM_DATA
                           A   201    
                           A   202    
                           A   203    ;**************************** _TransferSPI ***************************
                           A   204    ;Name                         Addr/Register   Size   Type
                           A   205    ;_TransmitSPI                        IMPORT  -----   function
                           A   206    ;data                                 R15+4      0   parameter
                           A   207    
                           A   208    
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:23     page:   5


PC     Object              I  Line    Source spi.src
                           A   209    ; Aggregate Stack Size: 0 (words)
                           A   210    
                           A   211    
                           A   212    	SEGMENT spi_TEXT
                           A   213    ;   13	
                           A   214    ;   14	unsigned char TransferSPI(unsigned char data)
                           A   215    ;   15	//simultaneously transfers data from master to slave and from slave to master (from host to
                           A   216    ;   16	{
000013                     A   217    _TransferSPI:
                           A   218    .define "_TransferSPI"
                           A   219    .value _TransferSPI
                           A   220    .class 2
                           A   221    .type 76
                           A   222    .type 0
                           A   223    .endef
                           A   224    .begfunc "TransferSPI",16,"_TransferSPI"
                           A   225    .define "data"
                           A   226    .class 17
                           A   227    .reg -1
                           A   228    .type 12
                           A   229    .type 0
                           A   230    .endef
000013 D6 0000             A   231    	CALL	__b_frameset00
                           A   232    ;   17		SPIDATA = data;
                           A   233    .line 17
000016 880E04              A   234    	LDX	R0,4(RR14)
000019 940F60              A   235    	LDX	3936,R0
                           A   236    ;   18		TransmitSPI();
                           A   237    .line 18
00001C D6 0000             A   238    	CALL	_TransmitSPI
                           A   239    ;   19		data = SPIDATA;
                           A   240    .line 19
00001F 840F60              A   241    	LDX	R0,3936
000022 89E004              A   242    	LDX	4(RR14),R0
                           A   243    ;   20		return data;
                           A   244    .line 20
000025 880E04              A   245    	LDX	R0,4(RR14)
                           A   246    ;   21	}
                           A   247    .line 21
000028 D6 0000             A   248    	CALL	__b_framereset
00002B AF                  A   249    	RET	
                           A   250    .endfunc "TransferSPI",21,"_TransferSPI"
                           A   251    	SEGMENT ROM_DATA
                           A   252    
                           A   253    
                           A   254    ;**************************** _InitSPI ***************************
                           A   255    ;Name                         Addr/Register   Size   Type
                           A   256    
                           A   257    
                           A   258    ; Aggregate Stack Size: 0 (words)
                           A   259    
                           A   260    
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:23     page:   6


PC     Object              I  Line    Source spi.src
                           A   261    	SEGMENT spi_TEXT
                           A   262    ;   22	
                           A   263    ;   23	
                           A   264    ;   24	
                           A   265    ;   25	void InitSPI(void) 
                           A   266    ;   26	//initializes the SPI
                           A   267    ;   27	{
00002C                     A   268    _InitSPI:
                           A   269    .define "_InitSPI"
                           A   270    .value _InitSPI
                           A   271    .class 2
                           A   272    .type 65
                           A   273    .type 0
                           A   274    .endef
                           A   275    .begfunc "InitSPI",27,"_InitSPI"
00002C D6 0000             A   276    	CALL	__b_frameset00
                           A   277    ;   28		//SPI pins alternate function
                           A   278    ;   29		PCADDR = ALT_FUN;
                           A   279    .line 29
00002F E9020FD8            A   280    	LDX	4056,#2
                           A   281    ;   30		PCCTL |= PIN_ALT;
                           A   282    .line 30
000033 493C0FD9            A   283    	ORX	4057,#60
                           A   284    ;   31		PCADDR = 0x00;
                           A   285    .line 31
000037 E9000FD8            A   286    	LDX	4056,#-0
                           A   287    ;   32	
                           A   288    ;   33		//SPI settings
                           A   289    ;   34		SPICTL = (PHASE|CLKPOL|MASTER|SPI_ENABLE);
                           A   290    .line 34
00003B E9030F61            A   291    	LDX	3937,#3
                           A   292    ;   35		SPIMODE = (NUMBIT8|SSIO|SS_HIGH);
                           A   293    .line 35
00003F E9030F63            A   294    	LDX	3939,#3
                           A   295    ;   36		
                           A   296    ;   37		//Baud Rate Generator
                           A   297    ;   38		SPIBRH = BAUD_H;
                           A   298    .line 38
000043 E9000F66            A   299    	LDX	3942,#-0
                           A   300    ;   39		SPIBRL = BAUD_L;	
                           A   301    .line 39
000047 E9050F67            A   302    	LDX	3943,#5
                           A   303    ;   40	}
                           A   304    .line 40
00004B D6 0000             A   305    	CALL	__b_framereset
00004E AF                  A   306    	RET	
                           A   307    .endfunc "InitSPI",40,"_InitSPI"
                           A   308    	SEGMENT ROM_DATA
                           A   309    
                           A   310    
                           A   311    ;**************************** _AssertSS ***************************
                           A   312    ;Name                         Addr/Register   Size   Type
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:23     page:   7


PC     Object              I  Line    Source spi.src
                           A   313    
                           A   314    
                           A   315    ; Aggregate Stack Size: 0 (words)
                           A   316    
                           A   317    
                           A   318    	SEGMENT spi_TEXT
                           A   319    ;   41	
                           A   320    ;   42	
                           A   321    ;   43	void AssertSS()
                           A   322    ;   44	//selects the MMC (slave)
                           A   323    ;   45	//used at the start of an SPI transaction
                           A   324    ;   46	{
00004F                     A   325    _AssertSS:
                           A   326    .define "_AssertSS"
                           A   327    .value _AssertSS
                           A   328    .class 2
                           A   329    .type 65
                           A   330    .type 0
                           A   331    .endef
                           A   332    .begfunc "AssertSS",46,"_AssertSS"
00004F D6 0000             A   333    	CALL	__b_frameset00
                           A   334    ;   47		SPIMODE &= ~SS_HIGH;	//SS' assert	
                           A   335    .line 47
000052 59FE0F63            A   336    	ANDX	3939,#254
                           A   337    ;   48	}
                           A   338    .line 48
000056 D6 0000             A   339    	CALL	__b_framereset
000059 AF                  A   340    	RET	
                           A   341    .endfunc "AssertSS",48,"_AssertSS"
                           A   342    	SEGMENT ROM_DATA
                           A   343    
                           A   344    
                           A   345    ;**************************** _DeassertSS ***************************
                           A   346    ;Name                         Addr/Register   Size   Type
                           A   347    
                           A   348    
                           A   349    ; Aggregate Stack Size: 0 (words)
                           A   350    
                           A   351    
                           A   352    	SEGMENT spi_TEXT
                           A   353    ;   49	
                           A   354    ;   50	
                           A   355    ;   51	void DeassertSS()
                           A   356    ;   52	//deselects the MMC(slave)
                           A   357    ;   53	//used at the end of an SPI transaction
                           A   358    ;   54	{
00005A                     A   359    _DeassertSS:
                           A   360    .define "_DeassertSS"
                           A   361    .value _DeassertSS
                           A   362    .class 2
                           A   363    .type 65
                           A   364    .type 0
ZiLOG Z8 Encore! Macro Assembler Version 2.45 (06120402)                                         14-Jan-09     10:50:23     page:   8


PC     Object              I  Line    Source spi.src
                           A   365    .endef
                           A   366    .begfunc "DeassertSS",54,"_DeassertSS"
00005A D6 0000             A   367    	CALL	__b_frameset00
                           A   368    ;   55		SPIMODE |= SS_HIGH;		//SS' deassert
                           A   369    .line 55
00005D 49010F63            A   370    	ORX	3939,#1
                           A   371    .line 56
000061 D6 0000             A   372    	CALL	__b_framereset
000064 AF                  A   373    	RET	
                           A   374    .endfunc "DeassertSS",56,"_DeassertSS"
                           A   375    	XREF __b_framereset:ROM
                           A   376    	XREF __b_frameset00:ROM
                           A   377    	XDEF _DeassertSS
                           A   378    	XDEF _AssertSS
                           A   379    	XDEF _InitSPI
                           A   380    	XDEF _TransferSPI
                           A   381    	XDEF _TransmitSPI
                           A   382    	END


Errors: 0
Warnings: 0
Lines Assembled: 383

⌨️ 快捷键说明

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