資料介紹
電子產(chǎn)品的更新?lián)Q代越來(lái)越快,怎樣縮短設(shè)計(jì)時(shí)間,快速推出產(chǎn)品,降低設(shè)計(jì)成本和提高系統(tǒng)整體性能是每個(gè)設(shè)計(jì)人員共同關(guān)心的問題。一種叫做在應(yīng)用可編程(In Application Programming-IAP)的設(shè)計(jì)方案應(yīng)運(yùn)而生,它可以在現(xiàn)場(chǎng)(當(dāng)原存在的代碼正在運(yùn)行時(shí))重新寫入運(yùn)行代碼。這種方案的優(yōu)點(diǎn)是可以降低開發(fā)代碼的時(shí)間、可在裝配線上測(cè)試和改裝產(chǎn)品、可在現(xiàn)場(chǎng)修正代碼錯(cuò)誤、可以容易地添加產(chǎn)品新功能甚至可以遠(yuǎn)程進(jìn)行系統(tǒng)的升級(jí)。目前,實(shí)現(xiàn)在應(yīng)用可編程一般有兩種方法:一種方法是使用與單片機(jī)配套的專用芯片;另一種是采用新型的支持在應(yīng)用可編程的單片機(jī)。本文介紹一種基于AT89C51單片機(jī)的在應(yīng)用可編程的設(shè)計(jì)方案,它只占用AT89C51的UART,只需少數(shù)的幾塊芯片就能實(shí)現(xiàn)上述功能。特別適用于需要用UART進(jìn)行通訊的測(cè)控網(wǎng)絡(luò)的設(shè)計(jì)。
1 設(shè)計(jì)思路
基于8051核的單片機(jī)提供兩個(gè)獨(dú)立的地址空間,一個(gè)用于程序存儲(chǔ)器,一個(gè)用于數(shù)據(jù)存儲(chǔ)器。這種特殊的地址結(jié)構(gòu)在任何情況下都不會(huì)將數(shù)據(jù)寫入程序空間,保護(hù)程序代碼不會(huì)被數(shù)據(jù)覆蓋,但這種特性使單片機(jī)在應(yīng)用可編程不能實(shí)現(xiàn)。如果采用一種方法“欺騙”系統(tǒng)使之誤認(rèn)為程序存儲(chǔ)器即為數(shù)據(jù)存儲(chǔ)器,則可向程序存儲(chǔ)器中寫數(shù)據(jù)了?!捌垓_”系統(tǒng)的方法是在IAP期間暫時(shí)將程序存儲(chǔ)器“重新分類”為數(shù)據(jù)空間而不是程序空間,然后在IAP完成后再將它重新分類為程序空間。這種方案需要一款存儲(chǔ)器既可以當(dāng)作數(shù)據(jù)存儲(chǔ)器又能作為程序存儲(chǔ)器?,F(xiàn)在市面上的多種具有掉電保護(hù)功能的靜態(tài)隨機(jī)存儲(chǔ)器既具有數(shù)據(jù)存儲(chǔ)器的高讀寫速度又具有程序存儲(chǔ)器的非揮發(fā)性。如DALLAS公司的DS1230Y-70是與通用RAM27256管腳兼容的,內(nèi)嵌鋰電池保護(hù)的非易失性存儲(chǔ)器,讀寫速度為70ns,掉電狀態(tài)下可以保存數(shù)據(jù)10年。
按照上述思路設(shè)計(jì)的具有在應(yīng)用可編程能力的單片機(jī)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)有以下幾個(gè)特點(diǎn):(1)有三塊RAM,其中RAM3是數(shù)據(jù)存儲(chǔ)器,RAMA、RAMB既是數(shù)據(jù)存儲(chǔ)器又是程序存儲(chǔ)器,RAMA和RAMB采用DS1230Y-70靜態(tài)RAM。RAMA和RAMB具有相同的地址,當(dāng)其中一塊作為程序存儲(chǔ)器時(shí),另一塊是數(shù)據(jù)存儲(chǔ)器。AT89C51的數(shù)據(jù)空間與地址空間分開的特性保證了這兩塊存儲(chǔ)器不會(huì)沖突。(2)增加了選擇電路,用來(lái)將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器“重新分類”,通過DN_CON控制信號(hào)線來(lái)選擇是將WR信號(hào)還是將PSEN信號(hào)送入相應(yīng)的靜態(tài)RAM。(3)增加了串行EEPROM以保存重要的信息,如模塊號(hào)及下載標(biāo)志等。

AT89C51具有4K的片內(nèi)Flash 存儲(chǔ)器,可以存放引導(dǎo)程序。系統(tǒng)初始化、串口中斷等程序作為引導(dǎo)程序,固化在AT89C51的Flash 存儲(chǔ)器中,而將主程序放在32KB的靜態(tài)RAM程序存儲(chǔ)器中。因此,該系統(tǒng)程序存儲(chǔ)器的地址空間從0000h~03FFh和8000H~0FFFFH。而數(shù)據(jù)存儲(chǔ)器地址從0000H~0FFFFH,如圖2所示。引導(dǎo)程序中將串口中斷設(shè)定為最高優(yōu)先級(jí),當(dāng)AT89C51接收到程序代碼下載的命令后,將向8000H~0FFFH的數(shù)據(jù)空間依次寫入程序代碼。當(dāng)程序代碼寫結(jié)束時(shí),改變DN_CON控制信號(hào),使原來(lái)的數(shù)據(jù)存儲(chǔ)器變?yōu)槌绦虼鎯?chǔ)器,而原來(lái)的程序存儲(chǔ)器變?yōu)閿?shù)據(jù)存儲(chǔ)器。在串口中斷程序結(jié)束時(shí),將堆棧中的串行中斷返回指針指向8000H,并退出中斷,使程序跳至8000H運(yùn)行下載的程序代碼。圖2中串行EEPROM采用基于I2C總線的24C01芯片,用以存放一些關(guān)鍵的數(shù)據(jù)信息,如測(cè)控模塊的站號(hào)、下載標(biāo)志等。

1 設(shè)計(jì)思路
基于8051核的單片機(jī)提供兩個(gè)獨(dú)立的地址空間,一個(gè)用于程序存儲(chǔ)器,一個(gè)用于數(shù)據(jù)存儲(chǔ)器。這種特殊的地址結(jié)構(gòu)在任何情況下都不會(huì)將數(shù)據(jù)寫入程序空間,保護(hù)程序代碼不會(huì)被數(shù)據(jù)覆蓋,但這種特性使單片機(jī)在應(yīng)用可編程不能實(shí)現(xiàn)。如果采用一種方法“欺騙”系統(tǒng)使之誤認(rèn)為程序存儲(chǔ)器即為數(shù)據(jù)存儲(chǔ)器,則可向程序存儲(chǔ)器中寫數(shù)據(jù)了?!捌垓_”系統(tǒng)的方法是在IAP期間暫時(shí)將程序存儲(chǔ)器“重新分類”為數(shù)據(jù)空間而不是程序空間,然后在IAP完成后再將它重新分類為程序空間。這種方案需要一款存儲(chǔ)器既可以當(dāng)作數(shù)據(jù)存儲(chǔ)器又能作為程序存儲(chǔ)器?,F(xiàn)在市面上的多種具有掉電保護(hù)功能的靜態(tài)隨機(jī)存儲(chǔ)器既具有數(shù)據(jù)存儲(chǔ)器的高讀寫速度又具有程序存儲(chǔ)器的非揮發(fā)性。如DALLAS公司的DS1230Y-70是與通用RAM27256管腳兼容的,內(nèi)嵌鋰電池保護(hù)的非易失性存儲(chǔ)器,讀寫速度為70ns,掉電狀態(tài)下可以保存數(shù)據(jù)10年。
按照上述思路設(shè)計(jì)的具有在應(yīng)用可編程能力的單片機(jī)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)有以下幾個(gè)特點(diǎn):(1)有三塊RAM,其中RAM3是數(shù)據(jù)存儲(chǔ)器,RAMA、RAMB既是數(shù)據(jù)存儲(chǔ)器又是程序存儲(chǔ)器,RAMA和RAMB采用DS1230Y-70靜態(tài)RAM。RAMA和RAMB具有相同的地址,當(dāng)其中一塊作為程序存儲(chǔ)器時(shí),另一塊是數(shù)據(jù)存儲(chǔ)器。AT89C51的數(shù)據(jù)空間與地址空間分開的特性保證了這兩塊存儲(chǔ)器不會(huì)沖突。(2)增加了選擇電路,用來(lái)將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器“重新分類”,通過DN_CON控制信號(hào)線來(lái)選擇是將WR信號(hào)還是將PSEN信號(hào)送入相應(yīng)的靜態(tài)RAM。(3)增加了串行EEPROM以保存重要的信息,如模塊號(hào)及下載標(biāo)志等。

AT89C51具有4K的片內(nèi)Flash 存儲(chǔ)器,可以存放引導(dǎo)程序。系統(tǒng)初始化、串口中斷等程序作為引導(dǎo)程序,固化在AT89C51的Flash 存儲(chǔ)器中,而將主程序放在32KB的靜態(tài)RAM程序存儲(chǔ)器中。因此,該系統(tǒng)程序存儲(chǔ)器的地址空間從0000h~03FFh和8000H~0FFFFH。而數(shù)據(jù)存儲(chǔ)器地址從0000H~0FFFFH,如圖2所示。引導(dǎo)程序中將串口中斷設(shè)定為最高優(yōu)先級(jí),當(dāng)AT89C51接收到程序代碼下載的命令后,將向8000H~0FFFH的數(shù)據(jù)空間依次寫入程序代碼。當(dāng)程序代碼寫結(jié)束時(shí),改變DN_CON控制信號(hào),使原來(lái)的數(shù)據(jù)存儲(chǔ)器變?yōu)槌绦虼鎯?chǔ)器,而原來(lái)的程序存儲(chǔ)器變?yōu)閿?shù)據(jù)存儲(chǔ)器。在串口中斷程序結(jié)束時(shí),將堆棧中的串行中斷返回指針指向8000H,并退出中斷,使程序跳至8000H運(yùn)行下載的程序代碼。圖2中串行EEPROM采用基于I2C總線的24C01芯片,用以存放一些關(guān)鍵的數(shù)據(jù)信息,如測(cè)控模塊的站號(hào)、下載標(biāo)志等。

下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- AT89C51 單片機(jī)中文資料 1次下載
- 基于AT89C51單片機(jī)的點(diǎn)擊轉(zhuǎn)速測(cè)量
- 基于AT89C51單片機(jī)的語(yǔ)音播報(bào)器的設(shè)計(jì)方案
- AT89C51單片機(jī)
- AT89C51單片機(jī)性能介紹
- 基于at89c51單片機(jī)的智能型穩(wěn)壓電源的設(shè)計(jì)
- 基于AT89C51單片機(jī)的電子數(shù)字時(shí)鐘電路的設(shè)計(jì)制作開題報(bào)告講解
- 如何使用AT89C51單片機(jī)設(shè)計(jì)與實(shí)現(xiàn)對(duì)水塔水位控制詳細(xì)資料說(shuō)明 21次下載
- AT89C51中文資料 227次下載
- 基于AT89C51單片機(jī)的電子表設(shè)計(jì) 57次下載
- AT89C51單片機(jī)編程器制作 39次下載
- 基于AT89C51單片機(jī)的萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn) 844次下載
- AT89C51單片機(jī)在超發(fā)電計(jì)量?jī)x中的應(yīng)用
- 基于AT89C51單片機(jī)的自動(dòng)糾偏儀的設(shè)計(jì)
- AT89C51 單片機(jī)高速串行輸出口設(shè)計(jì)
- 基于51單片機(jī)的電子鐘鬧鐘溫度顯示設(shè)計(jì) 4.6k次閱讀
- 基于51單片機(jī)的鍋爐水位溫度壓力檢測(cè)系統(tǒng)仿真設(shè)計(jì) 2.8k次閱讀
- 基于STC89C52單片機(jī)的智能交通燈設(shè)計(jì) 5.5k次閱讀
- 基于ISD4004和AT89C51單片機(jī)實(shí)現(xiàn)火車語(yǔ)音播報(bào)系統(tǒng)的設(shè)計(jì) 5.2k次閱讀
- 使用AT89C51實(shí)現(xiàn)的微型可編程控制器的講解 3.4k次閱讀
- 基于AT89C51單片機(jī)的LED漢字點(diǎn)陣滾動(dòng)顯示屏設(shè)計(jì) 8.5k次閱讀
- 基于AT89C51單片機(jī)的溫度檢測(cè)系統(tǒng)硬件電路設(shè)計(jì) 1.4w次閱讀
- AT89C51單片機(jī)實(shí)現(xiàn)全自動(dòng)洗衣機(jī)功能的設(shè)計(jì)方案 9.9k次閱讀
- AT89C51單片機(jī)對(duì)智能語(yǔ)音撥號(hào)報(bào)警系統(tǒng)的設(shè)計(jì) 2.7k次閱讀
- 基于AT89C51單片機(jī)直流電機(jī)PWM調(diào)速程序分享 1.8w次閱讀
- 基于AT89C51單片機(jī)下的引腳說(shuō)明及引腳圖 14.9w次閱讀
- AT89C51單片機(jī)和8051單片機(jī)有什么區(qū)別 5w次閱讀
- 一文教你快速全面掌握AT89C51單片機(jī)(含實(shí)際開發(fā)案例) 3.7w次閱讀
- AT89C51與AT89S51有何不同_AT89C51與AT89S51的區(qū)別 4w次閱讀
- 基于AT89C51的紅外遙控密碼鎖系統(tǒng)的設(shè)計(jì)方案 4.2k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說(shuō)明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費(fèi)
- 4丹佛斯2800系列變頻器說(shuō)明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊(cè)
- 0.74 MB | 1次下載 | 免費(fèi)
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測(cè)距模塊產(chǎn)品手冊(cè)
- 0.43 MB | 1次下載 | 免費(fèi)
- 8SDFM 激光測(cè)距模塊模組手冊(cè)
- 0.54 MB | 1次下載 | 免費(fèi)
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場(chǎng)分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費(fèi)
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費(fèi)
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場(chǎng)景
- 3.05 MB | 12次下載 | 免費(fèi)
- 6【開源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項(xiàng)目案例及入門學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費(fèi)
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論