久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

基于stc單片機(jī)的AT89S52離線燒錄器程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年08月16日   【字體:



下面是部分源碼預(yù)覽,完整的代碼請到http://www.zg4o1577.cn/bbs/dpj-20605-1.html下載
#include "uart.h"
#include "s51pro.h"
#include "myfun.h"

#include "znfat/znFAT.h"

extern unsigned char OutBuf[4];
extern unsigned char InBuf[4];

unsigned char idata psignbuf[3];

unsigned char code_buf[32];

sfr P1M0 = 0x92;
sfr P1M1 = 0x91; //定義STC12單片機(jī)IO模式特殊功能寄存器

struct znFAT_Init_Args idata Init_Args; //初始化參數(shù)集合
struct FileInfo idata fileinfo; //文件信息集合

void main()
{
 unsigned int idata addr=0,i=0;
 unsigned int idata res=0,n_file=0,len=0;

 P1M1=0x40; //P16高阻輸入
 P1M0=0xa0; //如果使用51單片機(jī)來調(diào)試SD卡模塊,打開推挽,增強(qiáng)IO驅(qū)動能力

 UART_Init();
 UART_Send_Str("串口設(shè)置完畢\r\n");

 znFAT_Device_Init(); //存儲設(shè)備初始化
 UART_Send_Str("SD卡初始化完畢\r\n");
 
 znFAT_Select_Device(0,&Init_Args); //選擇設(shè)備

 res=znFAT_Init(); //文件系統(tǒng)初始化 
 
 if(!res) //文件系統(tǒng)初始化成功
 {
  UART_Send_Str("Suc. to init FS\r\n");
 
  UART_Put_Inf("BPB_Sector_No:",Init_Args.BPB_Sector_No);  
  UART_Put_Inf("Total_SizeKB:",Init_Args.Total_SizeKB);
  UART_Put_Inf("BytesPerSector:",Init_Args.BytesPerSector);
  UART_Put_Inf("FATsectors:",Init_Args.FATsectors); 
  UART_Put_Inf("SectorsPerClust:",Init_Args.SectorsPerClust);
  UART_Put_Inf("FirstFATSector:",Init_Args.FirstFATSector);
  UART_Put_Inf("FirstDirSector:",Init_Args.FirstDirSector);
  UART_Put_Inf("FSsec:",Init_Args.FSINFO_Sec);
  UART_Put_Inf("Next_Free_Cluster:",Init_Args.Next_Free_Cluster);
  UART_Put_Inf("FreenCluster:",Init_Args.Free_nCluster);
 }
 else //文件系統(tǒng)初始化失敗
 {
 UART_Put_Inf("Fail to init FS , Err Code:",res);
 }
 //==================================================================
 
 res=znFAT_Open_File(&fileinfo,"/*.bin",n_file,1); //打開文件
 
 while(!res)
 {
  UART_Put_Inf("Suc. to open file ",n_file);
  UART_Send_Str("================================\n");
  UART_Send_Str("File_Name(Short 8.3):");
  UART_Send_Str(fileinfo.File_Name);UART_Send_Enter();
  if(fileinfo.have_lfn) //如果有長名,則輸出長名
  {
   UART_Send_Str("File_Name(Long Name):");
   //中文輸出其UNICODE編碼碼值
  i=0;
  while(fileinfo.longname[i])
  {
  if(fileinfo.longname[i]<0x80)
   UART_Send_Byte((unsigned char)fileinfo.longname[i++]);
  else
  {
   UART_Put_Hex(fileinfo.longname[i++]);
   UART_Send_Byte(' ');
  }
  }
   UART_Send_Enter();
  }
  else
  {
   UART_Send_Str("This file have not Long Name.\r\n");;
  }
  UART_Put_Inf("File_Size:",fileinfo.File_Size);
 
  UART_Send_Str("File_CDate:");
  UART_Put_Num(fileinfo.File_CDate.year); UART_Send_Str("年");
  UART_Put_Num(fileinfo.File_CDate.month);UART_Send_Str("月");
  UART_Put_Num(fileinfo.File_CDate.day);  UART_Send_Str("日");
  UART_Put_Num(fileinfo.File_CTime.hour); UART_Send_Str("時");
  UART_Put_Num(fileinfo.File_CTime.min);  UART_Send_Str("分");
  UART_Put_Num(fileinfo.File_CTime.sec);  UART_Send_Str("秒\r\n");
 
  UART_Put_Inf("File_StartClust:",fileinfo.File_StartClust);
  UART_Put_Inf("File_CurClust:",fileinfo.File_CurClust);
  UART_Put_Inf("File_CurSec:",fileinfo.File_CurSec);
  UART_Put_Inf("File_CurPos:",fileinfo.File_CurPos);
  UART_Put_Inf("File_CurOffset:",fileinfo.File_CurOffset);
  UART_Send_Str("================================\n");
 
  Pro_Enable();
  UART_Send_Str("Program enable....\n");

  Pro_ReadSign(psignbuf);
  UART_Send_Str("Sign[0]:");
  binary(psignbuf[0]);UART_Send_Enter();
  UART_Send_Str("Sign[1]:");
  binary(psignbuf[1]);UART_Send_Enter();
  UART_Send_Str("Sign[2]:");
  binary(psignbuf[2]);UART_Send_Enter();

  Pro_Erase();
  UART_Send_Str("Program erase....\n");
 
 UART_Send_Str("Start programming....\n");
 addr=0;
 while(len=znFAT_ReadData(&fileinfo,fileinfo.File_CurOffset,32,code_buf))
 {
  for(i=0;i<len;i++)
  {
  while(!Write(code_buf[i],addr));
  addr++;
   }
  UART_Send_Byte('.');
  }
 
  UART_Send_Enter();
  Pro_Over();
  UART_Send_Str("Program over....\n");
 
 UART_Send_Str("Start to Play this Code....\n");
 
 RST=1;
 delay(1000);
 RST=0;
 
 for(i=0;i<100;i++)
 {
  delay(60000);
  }
 
 RST=1;
 
 UART_Send_Str("Complete playing this Code\n");

  znFAT_Close_File(&fileinfo);
 
 n_file++;
 res=znFAT_Open_File(&fileinfo,"/*.bin",n_file,1); //打開文件
 }
 //=================================================
 if(res==ERR_NO_FILE) //出現(xiàn)無匹配文件錯誤
 {
 UART_Put_Inf("Number of code file is ",n_file);
 }
 else
 {
 UART_Put_Inf("Have some Err:",res);
 }
 
 znFAT_Flush_FS(); //刷新文件系統(tǒng)
 
 while(1);
}

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 亚洲欧洲中文 | 国产美女特级嫩嫩嫩bbb片 | 欧美综合视频 | 欧美日韩国产三级 | 国产精品久久久久久久一区探花 | 亚洲成人综合网站 | 久久成人国产精品 | 麻豆久久久9性大片 | 亚洲激情在线观看 | 九色视频网站 | 久久99精品久久久久蜜桃tv | 日韩精品一区二区三区中文在线 | 一级黄色毛片免费 | 国产一区免费 | 国产一区二区精品在线观看 | 激情91| 亚洲国产精品一区二区三区 | 97色在线观看免费视频 | av中文字幕在线观看 | 亚洲精品国产a久久久久久 午夜影院网站 | 成年人视频在线免费观看 | 国产精品久久久久久久免费观看 | 亚洲狠狠 | 二区视频| 欧美成人a∨高清免费观看 欧美日韩中 | 午夜精品| 亚洲精品黄色 | 亚洲三区在线观看 | 香蕉超碰| 大陆一级毛片免费视频观看 | 久久久精品一区二区 | 欧美阿v| 毛片网在线观看 | 天堂精品视频 | 亚洲综合在线视频 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 免费在线观看一区二区 | 久久久av| 夜夜骚视频| 国产一区二区三区在线观看免费 | 在线成人 |