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

📄 avr_mmc.lst

📁 AT89C51 MP3源程序AT89C51 MP3源程序 SD AT89C51 MP3源程序AT89C51 MP3源程序 SD
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"AVR_MMC.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  82               	.global	_Z7DelayMsm
  84               	_Z7DelayMsm:
   1:AVR_MMC.c     **** /*
   2:AVR_MMC.c     **** ;**************************************************************************************************
   3:AVR_MMC.c     **** ;*									Copyright (c) 2006 by JiaoJinXing. 
   4:AVR_MMC.c     **** ;*											All rights reserved.
   5:AVR_MMC.c     **** ;*
   6:AVR_MMC.c     **** ;*---- 文件信息 -----------------------------------------------------------------------------------
   7:AVR_MMC.c     **** ;* 文   件   名 : AVR_MMC.c
   8:AVR_MMC.c     **** ;* 创   建   人 : 焦进星
   9:AVR_MMC.c     **** ;* 描        述 : MMC卡驱动文件文件
  10:AVR_MMC.c     **** ;*
  11:AVR_MMC.c     **** ;*---- 历史版本信息 -------------------------------------------------------------------------------
  12:AVR_MMC.c     **** ;* 日   期  : 2008年 12 月 15 日
  13:AVR_MMC.c     **** ;* 创 建 人  : 焦进星
  14:AVR_MMC.c     **** ;* 描   述  : 建立版本 V1.0.0
  15:AVR_MMC.c     **** ;*
  16:AVR_MMC.c     **** ;*---- 联系方式 -----------------------------------------------------------------------------------
  17:AVR_MMC.c     **** ;* Email    : wyoujtg@163.com
  18:AVR_MMC.c     **** ;* Web      : http://wyoujtg.blog.163.com  
  19:AVR_MMC.c     **** ;**************************************************************************************************
  20:AVR_MMC.c     **** ;*/
  21:AVR_MMC.c     **** 
  22:AVR_MMC.c     **** #include "minifs.h"
  23:AVR_MMC.c     **** 
  24:AVR_MMC.c     **** #ifdef  AVR_MMC
  25:AVR_MMC.c     **** 
  26:AVR_MMC.c     **** /*
  27:AVR_MMC.c     **** ;**************************************************************************************************
  28:AVR_MMC.c     **** ;* 函数名称 : SPI_Init
  29:AVR_MMC.c     **** ;* 描    述 : SPI初始化
  30:AVR_MMC.c     **** ;* 输 	 入 : 无
  31:AVR_MMC.c     **** ;*        
  32:AVR_MMC.c     **** ;* 输 	 出 : 无
  33:AVR_MMC.c     **** ;**************************************************************************************************
  34:AVR_MMC.c     **** ;*/
  35:AVR_MMC.c     **** void DelayMs(uint32 time)
  36:AVR_MMC.c     **** {
  86               	.LM1:
  87               	/* prologue: frame size=0 */
  88               	/* prologue end (size=0) */
  89               	.LBB2:
  90               	.LBB3:
  37:AVR_MMC.c     **** 	uint32 temp;
  38:AVR_MMC.c     **** 	uint32 count;
  39:AVR_MMC.c     **** 	
  40:AVR_MMC.c     **** 	count = 2663;
  41:AVR_MMC.c     **** 	while (count-- > 0)
  42:AVR_MMC.c     **** 	{
  43:AVR_MMC.c     **** 	   for (temp = 0; temp < 512; temp++);
  44:AVR_MMC.c     **** 	   {
  45:AVR_MMC.c     **** 		   __asm__ __volatile__("nop");
  92               	.LM2:
  93 0000 26E6      		ldi r18,lo8(2662)
  94 0002 3AE0      		ldi r19,hi8(2662)
  95 0004 40E0      		ldi r20,hlo8(2662)
  96 0006 50E0      		ldi r21,hhi8(2662)
  97               	.L8:
  98 0008 8FEF      		ldi r24,lo8(511)
  99 000a 91E0      		ldi r25,hi8(511)
 100 000c A0E0      		ldi r26,hlo8(511)
 101 000e B0E0      		ldi r27,hhi8(511)
 102               	.L7:
 104               	.LM3:
 105 0010 8054      		subi r24,lo8(-(-64))
 106 0012 9040      		sbci r25,hi8(-(-64))
 107 0014 A040      		sbci r26,hlo8(-(-64))
 108 0016 B040      		sbci r27,hhi8(-(-64))
 109 0018 B7FF      		sbrs r27,7
 110 001a FACF      		rjmp .L7
 112               	.LM4:
 113               	/* #APP */
 114 001c 0000      		nop
 115               	/* #NOAPP */
 116 001e 2150      		subi r18,1
 117 0020 3109      		sbc r19,__zero_reg__
 118 0022 4109      		sbc r20,__zero_reg__
 119 0024 5109      		sbc r21,__zero_reg__
 120               	
 121 0026 80F7      		brcc .L8
 122               	.LBE3:
 123               	.LBE2:
 124               	/* epilogue: frame size=0 */
 125 0028 0895      		ret
 126               	/* epilogue end (size=1) */
 127               	/* function void DelayMs(uint32) size 21 (20) */
 134               	.global	_Z8SPI_Initv
 136               	_Z8SPI_Initv:
  46:AVR_MMC.c     **** 	   }
  47:AVR_MMC.c     **** 	}
  48:AVR_MMC.c     **** }
  49:AVR_MMC.c     **** 
  50:AVR_MMC.c     **** /*
  51:AVR_MMC.c     **** ;**************************************************************************************************
  52:AVR_MMC.c     **** ;* 函数名称 : SPI_Init
  53:AVR_MMC.c     **** ;* 描    述 : SPI初始化
  54:AVR_MMC.c     **** ;* 输 	 入 : 无
  55:AVR_MMC.c     **** ;*        
  56:AVR_MMC.c     **** ;* 输 	 出 : 无
  57:AVR_MMC.c     **** ;**************************************************************************************************
  58:AVR_MMC.c     **** ;*/
  59:AVR_MMC.c     **** void SPI_Init(void)
  60:AVR_MMC.c     **** {
 138               	.LM5:
 139               	/* prologue: frame size=0 */
 140               	/* prologue end (size=0) */
 141               	.LBB4:
  61:AVR_MMC.c     ****     DDRB |= (1 << PB0);									/* SS端口设置为输出 */
 143               	.LM6:
 144 002a B89A      		sbi 55-0x20,0
  62:AVR_MMC.c     ****     DDRB |= (1 << PB2);									/* MOSI端口设置为输出 */
 146               	.LM7:
 147 002c BA9A      		sbi 55-0x20,2
  63:AVR_MMC.c     ****     DDRB &= ~(1 << PB3);									/* MISO端口设置为输入 */
 149               	.LM8:
 150 002e BB98      		cbi 55-0x20,3
  64:AVR_MMC.c     ****     DDRB |= (1 << PB1);									/* SCK端口设置为输出 */
 152               	.LM9:
 153 0030 B99A      		sbi 55-0x20,1
  65:AVR_MMC.c     **** 	/* SPI ENABLE, MASTER MODE, Fsoc/16 */	
  66:AVR_MMC.c     ****     SPCR |= (1 << SPE) | (1 << MSTR) | (1 << SPR1) | (1 << SPR0); 
 155               	.LM10:
 156 0032 8DB1      		in r24,45-0x20
 157 0034 8365      		ori r24,lo8(83)
 158 0036 8DB9      		out 45-0x20,r24
  67:AVR_MMC.c     **** 	PORTB |= (1 << PB0);									/* SS=1 */
 160               	.LM11:
 161 0038 C09A      		sbi 56-0x20,0
 162               	.LBE4:
 163               	/* epilogue: frame size=0 */
 164 003a 0895      		ret
 165               	/* epilogue end (size=1) */
 166               	/* function void SPI_Init() size 9 (8) */
 169               	.global	_Z9SPI_HiSPDv
 171               	_Z9SPI_HiSPDv:
  68:AVR_MMC.c     **** }
  69:AVR_MMC.c     **** 
  70:AVR_MMC.c     **** /*
  71:AVR_MMC.c     **** ;**************************************************************************************************
  72:AVR_MMC.c     **** ;* 函数名称 : SPI_HiSPD
  73:AVR_MMC.c     **** ;* 描    述 : SPI转入高速模式
  74:AVR_MMC.c     **** ;* 输 	 入 : 无
  75:AVR_MMC.c     **** ;*        
  76:AVR_MMC.c     **** ;* 输 	 出 : 无
  77:AVR_MMC.c     **** ;**************************************************************************************************
  78:AVR_MMC.c     **** ;*/
  79:AVR_MMC.c     **** void SPI_HiSPD(void)
  80:AVR_MMC.c     **** {
 173               	.LM12:
 174               	/* prologue: frame size=0 */
 175               	/* prologue end (size=0) */
 176               	.LBB5:
  81:AVR_MMC.c     ****     SPCR |= (0 << SPR1) | (0 << SPR0);				/* SPI ENABLE, MASTER MODE, Fsoc/16 */
 178               	.LM13:
 179 003c 8DB1      		in r24,45-0x20
 180 003e 8DB9      		out 45-0x20,r24
  82:AVR_MMC.c     **** 	SPSR |= (1 << SPI2X); 
 182               	.LM14:
 183 0040 709A      		sbi 46-0x20,0
 184               	.LBE5:
 185               	/* epilogue: frame size=0 */
 186 0042 0895      		ret
 187               	/* epilogue end (size=1) */
 188               	/* function void SPI_HiSPD() size 4 (3) */
 192               	.global	_Z12SPI_SendDatah
 194               	_Z12SPI_SendDatah:
  83:AVR_MMC.c     **** }
  84:AVR_MMC.c     **** 
  85:AVR_MMC.c     **** /*
  86:AVR_MMC.c     **** ;**************************************************************************************************
  87:AVR_MMC.c     **** ;* 函数名称 : SPI_SendData
  88:AVR_MMC.c     **** ;* 描    述 : SPI发送数据
  89:AVR_MMC.c     **** ;* 输 	 入 : data: 数据
  90:AVR_MMC.c     **** ;*        
  91:AVR_MMC.c     **** ;* 输 	 出 : SPDR
  92:AVR_MMC.c     **** ;**************************************************************************************************
  93:AVR_MMC.c     **** ;*/
  94:AVR_MMC.c     **** uint8 SPI_SendData(uint8 data)
  95:AVR_MMC.c     **** {
 196               	.LM15:
 197               	/* prologue: frame size=0 */
 198               	/* prologue end (size=0) */
 199               	.LBB6:
 200               	.LBB7:
  96:AVR_MMC.c     **** 	uint8 temp;
  97:AVR_MMC.c     **** 
  98:AVR_MMC.c     **** 	SPDR = data;

⌨️ 快捷键说明

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