新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 8051單片機開發工具DIY

        8051單片機開發工具DIY

        作者: 時間:2013-01-23 來源:網絡 收藏

        引 言:

        本文引用地址:http://www.104case.com/article/170606.htm

        目前介紹應用的文章很多,但介紹制作的文章卻較少。由于是一門實踐性很強的課程,如果采用傳統的開發模式,則要購買價格昂貴的仿真器、編程器等來作實驗。其實由于芯片功能的日益完善,我們可以利用芯片的在系統編程(ISP)功能制作出實用而低價的。本文旨在幫助愛好者開發制作出適合自己的開發工具。

        1 當前常用開發模式

        目前,基本上有兩種開發模式可供選擇:用仿真器、用編程器。

        ① 用仿真器。優點:方便,可以設置斷點,可以觀察存儲器及寄存器的內容。缺點:價格昂貴,不同類型的單片機要購買不同的仿真器;仿真器終究不是單片機,有時代碼在仿真器上能通過,但在單片機中不能正常工作,反而增加了調試的難度。

        ② 用編程器。優點:價格相對便宜,通常一款編程器可編程多種器件。缺點:操作相當不便,每次要將芯片在目標板與編程器之間轉移,并且還要在編譯操作界面與編程器操作界面之間切換,大部分時間在做簡單的重復工作。

        2 新的開發模式介紹及芯片選擇

        本文介紹的開發工具采用一種新的開發模式(類似于編程器開發模式)。由于利用了芯片的在系統編程功能,因此不需要移動芯片。在軟件設計時設計成:一旦代碼文件被重新編過,即自動下載到芯片,并自動復位運行,是真正的“所編即所得”。

        目前很多單片機都支持在系統編程。8051系列單片機支持在系統編程的也很多,但大多數是支持通過PC機的串口對單片機進行編程。這樣有四個不方便的地方:一是項目本身與PC機串行通信不方便;二是要增加1片MAX232電平轉換芯片;三是有的芯片要按特定的步驟進入下載模式,編程過程需要手工干預;四是有的芯片需要固件(定制的程序)的支持,如果不小心損壞了固件,則芯片的在系統編程功能也沒有了。

        經過比較,Atmel公司生產的AT89S8252是一種比較理想的芯片,適合制作開發工具。此芯片有如下特點:

        與8051兼容;

        內含8KB可擦寫1000次的程序存儲器,2KB可擦寫超過100 000次的數據存儲器及256字節8位寬內部RAM;

        可通過SPI接口在系統串行編程,與8051兼容

        串行編程時有自動擦寫周期,在調試大程序時可以分段下載,節約時間;

        低電壓下載,無需12V編程電壓。

        3 AT89S8252串行編程

        (1)AT89S8252串行編程模式

        當芯片的RST引腳置高電平時,所有程序和數據存儲器可以通過SPI總線接口[SCK,MOSI(input),MISO(output)]編程。RST變高以后,在編程或擦除操作之前必須首先發送一條編程允許命令。在串行編程模式下,芯片會在字節編程之前自動插入一個擦除周期。因此,除非芯片的代碼保護位被編程,編程之前不需要執行全片擦除命令。SPI接口之SCK時鐘頻率須低于晶振頻率的1/40。

        (2)AT89S8252串行編程步驟

        ① 在XTAL1與XTAL2之間連接一個3~24MHz的晶振;在VCC與GND之前加上電源電壓,將RST置高,等待10ms。

        ② 發送串行編程允許命令。

        ③ 發送寫/讀/擦除等命令及數據,串行數據高位在前,低位在后,數據在時鐘的上升沿鎖定。

        ④ 如果上一步是寫命令,至少等待2.5ms。

        ⑤ 需要時重復③、④兩步。

        ⑥ 將RST置低,芯片開始運行。

        (3)AT89S8252串行編程命令

        AT89S8252串行編程命令如表1所列。

        4)AT89S8252串行編程時序圖

        AT89S8252串行編程時序如圖1所示。

        DIY機械鍵盤相關社區:機械鍵盤DIY


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        關鍵詞: DIY 開發工具 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沁水县| 泾川县| 眉山市| 保定市| 离岛区| 靖西县| 灵石县| 顺昌县| 谢通门县| 花垣县| 襄汾县| 孙吴县| 中西区| 潜山县| 平果县| 南溪县| 化州市| 昌都县| 江北区| 界首市| 滨海县| 山西省| 韩城市| 兴山县| 兴安盟| 仲巴县| 宾川县| 建阳市| 通海县| 成武县| 大庆市| 志丹县| 瑞安市| 德昌县| 句容市| 万年县| 沙洋县| 沐川县| 石嘴山市| 河津市| 山东省|