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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

AT89S5X 脫機下載器制

作者:佚名   來源:互聯網   點擊數:  更新時間:2010年05月17日   【字體:

  最近因工作需要,準備自已做一個AT89S5X的脫機下載器,初步考慮是用AT89S52做主機,將目標代碼通過串口寫入到AT24C64中(AT24C64有8K空間,剛好夠52用)。到現場后再通過主機將EEPROM中的代碼能過模擬ISP時序寫入到目標單片機上,實現脫機下載。

  在畫原理圖前,打算先將S5X的ISP時序搞清楚,剛開始啃英文文檔時,內牛滿面啊。。。那啥,把高位發送看成了低位發選。。。整整搞了兩天都沒發覺。。因為AT的文檔中關于ISP說的不清不楚的(至少在我看來是這樣的),后來上網搜了USBASP的源程序,參考了里面的關于S5X的ISP時序,才終于明白過來。。。下面是關于S5X的ISP時序編程中一些要點:

1:關于復位時序

RST = 1;
SCK = 0;
DELAY(1);
RST = 0;    //這里要注意,有一個拉低過程
DELAY(1);
RST = 1;
DELAY(1);

2:連機檢測,判斷是否進入到ISP編程模式

ISP_WR(0XAC);
ISP_WR(0X53);
ISP_WR(0X00);
TempData[3]=ISP_WR(0X00);    //第四個字節邊寫邊讀出數據如果是0X69,則說明進入

          到了ISP模式

3:關于讀識別字,在沒有測試擦除(Erase)命令前,剛讀出來的數據是正常的(1E 52 06),后來在測試擦除命令時,懷疑
擦除延時時間太短,杯具了。。。讀出來的值一直是1F 7F 1F。。。

ISP_WR(0X28);
ISP_WR(0X00);
ISP_WR(0X00);
TempData[0] = ISP_WR(0X00);    //1E

ISP_WR(0X28);
ISP_WR(0X01);
ISP_WR(0X00);
TempData[1] = ISP_WR(0X00);    //52

ISP_WR(0X28);
ISP_WR(0X02);
ISP_WR(0X00);
TempData[2] = ISP_WR(0X00);    //06

4:關于擦除(Erase)命令,網絡上搜到的延時是500MS左右,具體的我還沒測試,等整個程序功能都完善了再測試確定各個延
時參數。

5:關于ISP各個引腳連接:

MOSI:主機出 從機入

MISO:主機入 從機出

SCK/RST:這個應該就不用說了
======================================================
下面的是我的測試程序。
======================================================
/**********************************************************************
S5X ISP測試程序
***********************************************************************/
#include <at89x52.h>
#include "1602.h"

sbit RST  =   P2^3;
sbit MISO  =  P2^2;
sbit MOSI  =  P2^1;
sbit SCK  =  P2^0;

ISP_WR(uchar command);
ISP_RD();
void DELAY(uint temp);


void main()
{
  uchar TempData[4];

  P0 = 0XFF;
  P1 = 0XFF;
  P2 = 0XFE;
  P3 = 0XFF;

  Lcd_Init();

  MOSI = 1;
  MISO = 1;
  RST = 1;
  SCK = 0;
  DELAY(1);
  RST = 0;   //這里注意
  DELAY(1);
  RST = 1;
  DELAY(1);


  ISP_WR(0XAC);
  ISP_WR(0X53);
  ISP_WR(0X00);
  TempData[3]=ISP_WR(0X00);   //連機測試

/*            //寫入測試
  ISP_WR(0X40);
  ISP_WR(0X00);
  ISP_WR(0X00);
  ISP_WR(0XA5);
  DELAY(5000);
*/
/* 
  ISP_WR(0XAC);      //擦除測試
  ISP_WR(0X80);
  ISP_WR(0X00);
  ISP_WR(0X00);
  DELAY(5000);
*/ 

  ISP_WR(0X28);
  ISP_WR(0X00);
  ISP_WR(0X00);
  TempData[0] = ISP_WR(0X00);   //1E
 
  ISP_WR(0X28);
  ISP_WR(0X01);
  ISP_WR(0X00);
  TempData[1] = ISP_WR(0X00);   //52

  ISP_WR(0X28);
  ISP_WR(0X02);
  ISP_WR(0X00);
  TempData[2] = ISP_WR(0X00);     //06
/*
  ISP_WR(0X20);      //讀測試
  ISP_WR(0X00);
  ISP_WR(0X00);
  TempData[3] = ISP_WR(0X00);
*/
//**********************************************************************以下是送LCD1602顯示的數據
  if((TempData[0] >>4) >9) Lcd_Out(Data,(TempData[0]>>4)+0x37);
  else Lcd_Out(Data,(TempData[0]>>4)+0x30);
  if((TempData[0] & 0x0f) >9) Lcd_Out(Data,(TempData[0] & 0x0f)+0x37);
  else Lcd_Out(Data,(TempData[0] &0x0f)+0x30);

  if((TempData[1] >>4) >9) Lcd_Out(Data,(TempData[1]>>4)+0x37);
  else Lcd_Out(Data,(TempData[1]>>4)+0x30);
  if((TempData[1] & 0x0f) >9) Lcd_Out(Data,(TempData[1] & 0x0f)+0x37);
  else Lcd_Out(Data,(TempData[1] &0x0f)+0x30);

  if((TempData[2] >>4) >9) Lcd_Out(Data,(TempData[2]>>4)+0x37);
  else Lcd_Out(Data,(TempData[2]>>4)+0x30);
  if((TempData[2] & 0x0f) >9) Lcd_Out(Data,(TempData[2] & 0x0f)+0x37);
  else Lcd_Out(Data,(TempData[2] &0x0f)+0x30);

  if((TempData[3] >>4) >9) Lcd_Out(Data,(TempData[3]>>4)+0x37);
  else Lcd_Out(Data,(TempData[3]>>4)+0x30);
  if((TempData[3] & 0x0f) >9) Lcd_Out(Data,(TempData[3] & 0x0f)+0x37);
  else Lcd_Out(Data,(TempData[3] &0x0f)+0x30);
  while(1);
}


ISP_WR(uchar DATA)
{
  uchar i,Rec_Data;
 
  for(i=0;i<8;i++)
  {
   MOSI = DATA& 0x80;
   DATA= DATA<<1; 

   Rec_Data = Rec_Data << 1;
   if(MISO == 1) Rec_Data |= 0x01;

   SCK = 1;
   DELAY(1);
   SCK = 0;
   DELAY(1);
  } 
  return(Rec_Data);
}


void DELAY(uint temp)
{
  uint i,j;
  for(i=0;i<temp;i++)
   for(j=0;j<30;j++);
}

關閉窗口

相關文章

主站蜘蛛池模板: 国产剧情在线 | 九九热在线精品视频 | 99视频在线精品免费观看2 | 天堂影院av | 久久精品视频网 | 精品国产一区二区三 | 秋霞午夜鲁丝一区二区老狼 | 国产成人91 | 国产精品1区2区3区 国产乱码精品一区二区三 成人区精品一区二区婷婷 www.欧美日韩 | 久久艳片www.17c.com | 四虎影院在线 | 97在线观看视频 | 日韩欧美在线视频观看 | 国产成人毛片 | 96精品| 麻豆国产一区二区三区四区 | 国产全肉乱妇杂乱视频 | 国产剧情一区 | 国产三级在线观看视频 | 五月六月丁香 | 免费观看黄色大片 | 国产一区欧美 | 99视频免费观看 | 99视频免费观看 | 亚洲日本中文字幕 | 色女人影院 | www.青青草| 欧美激情视频一区 | 狠狠干夜夜操 | 九九精品网 | 精品国产毛片 | 日日摸天天添天天添破 | 超碰123 | 国产成人精品久久久 | 日本午夜影院 | 涩涩的视频 | 五月婷婷在线视频 | 欧美色综合网 | 老司机免费福利视频 | 欧美日韩综合网 | 精品少妇v888av |