資源簡介
基于51單片機160種例程,歡迎大家下載參考,謝謝!

代碼片段和文件信息
/*-----------------------------------------------
??名稱:讀SD卡寫彩屏
??公司:上海浩豚電子科技有限公司
??網站:www.doflye.net
??編寫:師訪
??日期:2009.12
??修改:無
??內容:通過讀出SD卡中320x240像素、16位BMP圖片的HEX數據,依次寫到屏上,還原圖片
??注意事項:由于SD卡使用SPI模式,并且是塊讀取(512Byte)所以需要單片機提供大于512的可用RAM,以供緩沖使用
????????????這里可以選擇STC89c52RD+、STC89C58RD+、STC89C516RD+,后綴RD+表明擴展RAM是1024字節,RC表明擴展RAM256字節
------------------------------------------------*/
#include?
#include?
#include<9325TP.h>
//=============================================================
//定義SD卡需要的4根信號線
sbit?SD_CLK?=?P1^1;
sbit?SD_DI??=?P1^2;
sbit?SD_DO??=?P1^0;
sbit?SD_CS??=?P1^3;
//===========================================================
//定義按鍵端口
sbit?KEY?=?P3^2;
//===========================================================
//定義512字節緩沖區,注意需要使用?xdata關鍵字
unsigned?char?xdata?DATA[512];
//===========================================================
//寫一字節到SD卡模擬SPI總線方式
void?SdWrite(unsigned?char?n)
{
unsigned?char?i;
for(i=8;i;i--)
{
SD_CLK=0;
SD_DI=(n&0x80);
n<<=1;
SD_CLK=1;
}
SD_DI=1;?
}?
//===========================================================
//從SD卡讀一字節模擬SPI總線方式
unsigned?char?SdRead()
{
unsigned?char?ni;
for(i=8;i;i--)
{
SD_CLK=0;
SD_CLK=1;
n<<=1;
if(SD_DO)?n|=1;
}
return?n;
}
//============================================================
//檢測SD卡的響應
unsigned?char?SdResponse()
{
unsigned?char?i=0response;
while(i<=8)
{
response?=?SdRead();
if(response==0x00)
break;
if(response==0x01)
break;
i++;
}
return?response;
}?
//================================================================
//發命令到SD卡
void?SdCommand(unsigned?char?command?unsigned?long?argument?unsigned?char?CRC)
{
SdWrite(command|0x40);
SdWrite(((unsigned?char?*)&argument)[0]);
SdWrite(((unsigned?char?*)&argument)[1]);
SdWrite(((unsigned?char?*)&argument)[2]);
SdWrite(((unsigned?char?*)&argument)[3]);
SdWrite(CRC);
}
//================================================================
//初始化SD卡
unsigned?char?SdInit(void)
{
int?delay=0?trials=0;
unsigned?char?i;
unsigned?char?response=0x01;
SD_CS=1;
for(i=0;i<=9;i++)
SdWrite(0xff);
SD_CS=0;
//Send?Command?0?to?put?MMC?in?SPI?mode
SdCommand(0x0000x95);
response=SdResponse();
if(response!=0x01)
{
return?0;
}?
while(response==0x01)
{
SD_CS=1;
SdWrite(0xff);
SD_CS=0;
SdCommand(0x010x00ffc0000xff);
response=SdResponse();
}?
SD_CS=1;
SdWrite(0xff);
return?1;?
}
//================================================================
//往SD卡指定地址寫數據一次最多512字節
unsigned?char?SdWriteBlock(unsigned?char?*Block?unsigned?long?addressint?len)
{
unsigned?int?count;
unsigned?char?dataResp;
//Block?size?is?512?bytes?exactly
//First?Lower?SS
SD_CS=0;
//Then?send?write?command
SdCommand(0x18address0xff);
if(SdResponse()==00)
{
SdWrite(0xff);
SdWrite(0xff);
SdWrite(0xff);
//command?was?a?success?-?now?send?data
//start?with?DATA?TOKEN?=?0xFE
SdWrite(0xfe);
//now?send?data
for(co
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5685??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\9325TP.h
?????文件???????5750??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd
?????文件???????5984??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd.c
?????文件???????4853??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd.hex
?????文件??????21065??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd.M51
?????文件???????1409??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd.Opt
?????文件???????1992??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\1G?51單片機SD?卡讀圖片?到彩屏\sd.Uv2
?????文件??????45143??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\8x16.h
?????文件??????45137??2015-08-02?22:33??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\8x8h.h
?????文件??????13749??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\9325TP.C
?????文件???????1870??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\9325TP.h
?????文件???????7430??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\GB1616.h
?????文件??????59971??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\ILI9163.uvopt
?????文件??????13764??2015-08-02?22:33??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\ILI9163.uvproj
?????文件???????1296??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\KEY.c
?????文件????????593??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\KEY_SWEEP.H
?????文件???????1820??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\LCD.H
?????文件????????580??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\main.c
?????文件??????19142??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\obj\ILI9163.hex
?????文件??????39156??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\obj\ILI9163.m51
?????文件??????39390??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\obj\貪吃蛇.m51
?????文件?????210009??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\pic.h
?????文件???????9268??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\SNAKE.c
?????文件????????296??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\SNAKE.h
?????文件?????127106??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\貪吃蛇
?????文件??????19142??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\貪吃蛇.hex
?????文件??????58806??2015-08-02?22:35??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\貪吃蛇.uvopt
?????文件??????13741??2015-08-02?22:34??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4?貪吃蛇實驗\貪吃蛇.uvproj
?????文件???????6498??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4寸彩屏顯示?12864信息\24x33.h
?????文件??????45143??2012-09-11?15:42??160種程序例程\2.4寸TFT彩屏配套測試程序\2.4寸彩屏顯示?12864信息\8x16.h
............此處省略1687個文件信息
- 上一篇:cyclegan預訓練模型
- 下一篇:數值分析(超清晰版
評論
共有 條評論