• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機的ISP在線編程設計

    單片機的ISP在線編程設計

    作者: 時間:2011-05-18 來源:網絡 收藏

    隨著電子技術的日益發展,芯片的規模越來越大,封裝日趨小型化,相應地對系統板級調試的困難也在加大。在傳統的調試方式中,頻繁的調試和更換程序需要頻繁地插拔芯片,開發效率極低。AT89S系列提供的技術徹底地改變了傳統的開發模式,開發系統時不會損壞芯片的引腳,加速了產品的上市并降低了研發成本,縮短了從、制造到現場調試的時間,簡化了生產流程,大大提高了工作效率,因此它是對市場定型產品進行現場升級和維護的經濟、有效的方式,極大地促進了PLD產品的發展。

    本文引用地址:http://www.czjhyjcfj.com/article/172768.htm

    1 PC機并行口

    1.1 并行口硬件接口簡介

      標準并行口有25個引腳,其中數據端口引腳為2~9,狀態端口引腳為15、10~13,控制端口引腳1、14、16、17用于連接器件,其他引腳18~25是接地引腳GND。25針并行口如圖1所示。

    按此在新窗口瀏覽圖片
    圖1 25針并行口

      并行口工作在SPP模式下,PC機是通過對3個8位端口寄存器的讀或寫來實現對它們的控制。端口寄存器分別是:

      ◆ 數據端口(地址0x378)為D7~D0,對應引腳P9~P2;
      ◆ 狀態端口(地址0x379)為S7~S3,對應引腳P11、P10、P12、P13、P15;
      ◆ 控制端口(地址0x37A)為C3~C0,對應引腳P17、P16、P14、P1。

      注意: S7、C0、C1、C3信號的邏輯狀態在連接器處是與相應寄存器位相反的。對這些位進行寫操作時,寫入的值應該與連接器處設置的值相反;同樣,進行讀操作時,讀取的值也與連接器處設置的值相反。

    1.2 并行口簡介

      Windows對系統底層操作采取了屏蔽的策略,但是在硬件或系統軟件開發中只要涉及系統底層的操作,就不得不深入到Windows的內核去編寫屬于系統級的設備驅動程序。對并行口的讀/寫操作就是如此。為了繞過 Windows安全保護機制,需要允許32位 Windows程序直接對 I/O口進行操作。這里使用由 Yariv Kaplan編寫的 WinIo庫中的幾個函數來實現對I/O口的讀/寫。

    (1) 初始化與終止
      對端口讀/寫前后要分別初始化和終止。
      InitializeWinIo();
      ShutdownWinIo();

    (2) 安裝與卸載
      如果操作系統是Windows98或Windows95,則需要調用驅動函數。
      InstallWinIoDriver(PSTR pszWinIoDriverPath, bool IsDemandLoaded = false);
      RemoveWinIoDriver();

    (3) 讀/寫I/O口
      GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);
      SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);

      GetPortVal函數從指定端口讀取一個BYTE/WORD/DWORD類型的值;SetPortVal函數向指定端口寫入一個BYTE/WORD/DWORD類型的值;wPortAddr是指定一個端口地址值;pdwPortVal為指向一雙字節型變量的指針,該變量存儲從wPortAddr端口讀取的值;dwPortVal為一雙字節型變量寫到wPortAddr端口中;bSize指定讀取字節數,值可以為1、2或4。

    2 AT89S5X系列

    2.1 AT89S51簡介

      AT89S51是一個低功耗、高性能CMOS 8位單片機,片內含4 KB (InSystem Programming)的可反復擦寫1 000次的Flash只讀程序存儲器。該器件采用Atmel公司的高密度、非易失性存儲技術制造,兼容標準MCS51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和 Flash存儲單元。功能強大的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。

    2.2 AT89S51串行時序及指令

    2.2.1 串行編程模式下的時序分析

    按此在新窗口瀏覽圖片

    2.2.2 串行編程指令

      串行編程使用4字節協議,指令如表1所列。

    表1 串行編程指令
    按此在新窗口瀏覽圖片


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 额敏县| 巍山| 绥棱县| 临夏市| 偃师市| 肇州县| 冷水江市| 虞城县| 安丘市| 泗水县| 贵州省| 文昌市| 扶余县| 泰兴市| 枣庄市| 白朗县| 洛宁县| 施甸县| 扬中市| 白朗县| 许昌市| 资源县| 区。| 大城县| 澳门| 长宁区| 利川市| 乌鲁木齐县| 麻江县| 黔东| 雅江县| 巴彦县| 西和县| 启东市| 伊宁县| 安丘市| 广南县| 沿河| 余庆县| 台北县| 元江|