📄 _main.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 + -