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

📄 _main.lst

📁 SD卡-SDHC卡扇区读写测试
💻 LST
字号:
C51 COMPILER V8.05a   _MAIN                                                                11/03/2010 20:36:58 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE _MAIN
OBJECT MODULE PLACED IN _main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE _main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "sdx.h"
   2          #include "uart.h"
   3          
   4          /*******************************************************
   5          
   6                  +-------------------------------------------+
   7                  |  振南电子 高级外设测试 之 SD卡的扇区读写  |
   8                  +-------------------------------------------+
   9          
  10            此源码版权属 振南 全权享有,如欲引用,敬请署名并告知
  11                  严禁随意用于商业目的,违者必究,后果自负
  12                   振南电子 
  13                       ->产品网站 http://www.znmcu.cn/
  14                       ->产品网店 http://shop.znmcu.cn/
  15                       ->产品咨询 QQ :987582714 
  16                                              MSN:yzn07@126.com
  17                                      WW :yzn07
  18            程序说明:本程序用于测试SD卡(包括SD与SDHC)的扇区读写,
  19                      程序将向SD卡78扇区写入0~255 0~255 这512个字
  20                                  节的数据,随后再从78扇区中将数据读回,看写入
  21                                  的数据与读出的数据是否吻合,如果吻合将从串口
  22                                  输出“SD卡扇区读写测试成功”同时P13连接的发光
  23                                  二极管点亮,否则输出“.....失败”P13连接的发光
  24                                  二极管不点亮
  25            注:此驱动是原始SD卡驱动升级版,可以支持SD与SDHC。关于
  26                此驱动程序暂无教程,敬请期待!
  27          **********************************************************/
  28          
  29          #define ADDR 78  //要操作的SD卡的扇区地址
  30          
  31          sbit LED=P1^3; //如果测试成功,此IO上连接的二极管被点亮
  32          
  33          unsigned char xdata pbuf[512]; //数据缓冲区
  34          
  35          void main()
  36          {
  37   1       int i=0;
  38   1      
  39   1       unsigned char flag=0;
  40   1      
  41   1       UART_Init();
  42   1       UART_Send_Str("串口设置完毕\r\n");
  43   1      
  44   1       SD_Ready_Go();
  45   1       UART_Send_Str("SD卡初始化完毕\r\n");
  46   1      
  47   1       for(i=0;i<512;i++)
  48   1        pbuf[i]=i;       //向数据缓冲区中写入0~255 0~255,共512个字节
  49   1       UART_Send_Str("向缓冲区中装入完毕\r\n");
  50   1      
  51   1       SD_Write_Sector(ADDR,pbuf);//将数据缓冲区中的512个字节的数据写入SD卡的第ADDR扇区中
  52   1       UART_Send_Str("写 SD卡扇区完毕\r\n");
  53   1      
  54   1       for(i=0;i<512;i++) //清空数据缓冲区
  55   1        pbuf[i]=0;
C51 COMPILER V8.05a   _MAIN                                                                11/03/2010 20:36:58 PAGE 2   

  56   1       UART_Send_Str("清空缓冲区完毕\r\n");
  57   1      
  58   1       SD_Read_Sector(ADDR,pbuf);//从SD卡的第ADDR扇区中读取512个字节的数据到数据缓冲区
  59   1       UART_Send_Str("读 SD卡扇区完毕\r\n");
  60   1      
  61   1       for(i=0;i<512;i++) 
  62   1       {
  63   2        if(((unsigned char)i)!=pbuf[i])  //对读出的数据进行匹配,如果不吻合则flag=1,否则flag=0
  64   2        {
  65   3         flag=1;
  66   3         break;
  67   3        }
  68   2       }
  69   1       UART_Send_Str("匹配完毕\r\n");
  70   1      
  71   1       if(flag)
  72   1       {
  73   2        LED=1; //发光二极管灭 
  74   2        UART_Send_Str("SD卡扇区读写测试失败!\r\n"); //数据不吻合
  75   2       }
  76   1       else 
  77   1       {
  78   2        LED=0; //发光二极管点亮 
  79   2        UART_Send_Str("SD卡扇区读写测试成功!\r\n"); //数据吻合
  80   2       }
  81   1       while(1);
  82   1      }
  83          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    212    ----
   CONSTANT SIZE    =    167    ----
   XDATA SIZE       =    512    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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