51內(nèi)核8位單片機MAX7651的開發(fā)環(huán)境
摘要:介紹一種基于四時鐘周期、高速8051內(nèi)核的混合信號8位單片機max7651。探討在開發(fā)基于max7651的應(yīng)用系統(tǒng)時所面臨的問題,并推薦相應(yīng)的解決方案。 關(guān)鍵詞:max7651 at89lv55 8xc51ra/rb/rc all-07 flash 四時鐘周期在全球8位單片機領(lǐng)域,英特爾(intel)生產(chǎn)的mcs-51系列是毋庸質(zhì)疑的領(lǐng)導(dǎo)者。借助英特爾廣泛的授權(quán)行為,基于8051內(nèi)核的8位單片機兼容產(chǎn)品早已根深葉茂。dallas semiconductor通過改良、優(yōu)化傳統(tǒng)的8051內(nèi)核,開發(fā)出了高速、四時鐘周期和單時鐘周期8051內(nèi)核,并在此基礎(chǔ)上推出了一系列高速8位單片機。maxim利用高速、四時鐘周期8051內(nèi)核開發(fā)出的第一款混合信號單片機max7651,內(nèi)部集成了12位adc、8位dac以及16kb的flash存儲器,非常適合便攜式設(shè)備應(yīng)用。1 max7651簡介??max7651內(nèi)部集成了一個完全的12位、8通道adc、2通道dac、3個定時/計數(shù)器、16kb flash存儲器以及一個兼容于工業(yè)標(biāo)準(zhǔn)8051的四時鐘周期高速內(nèi)核。其它特性包括:256字節(jié)ram、4個8位i/o口、2個異步串行口、1個中斷控制器以及獨立的看門狗定時器,如圖1所示。??max7651內(nèi)部12位adc具有可編程增益調(diào)節(jié)和獨立的采樣保持器。轉(zhuǎn)換速率可達(dá)53ksps,8個輸入通道可以配置為8個獨立的單端信號輸入或者4個差分信號輸入。單片機通過特殊功能寄存器(sfr)adcon控制模數(shù)轉(zhuǎn)換的工作模式,轉(zhuǎn)換結(jié)果存放在addat0和addat1兩個寄存器中。
圖1 max8651內(nèi)部功能框圖
2 max7651軟件開發(fā)工具??max7651的程序指令集與8051系列完全兼容,具有廣泛的第三方開發(fā)軟件工具支持。比較著名的軟件工具包括:franklin公司的a51/c51、keil公司的a51/c51以及metalink公司的a51等匯編工具軟件。筆者一直使用keil公司的a51/c51,最新版本號是μp51v7.01。該版本c51已經(jīng)具備max7651的頭文件reg51ex.h,位于c51目錄。如果需要使用a51宏匯編程序,用戶要自己編制inc頭文件。筆者已經(jīng)完成reg7651.inc頭文件,只需要將它拷貝到c51目錄下即可隨時調(diào)用。??reg7651.inc頭文件見本刊網(wǎng)絡(luò)補充版(http://.cn)。??keil c51同時提供軟件模擬調(diào)試器功能。對于開發(fā)者來說,可以對應(yīng)用程序進(jìn)行小范圍的分區(qū)模擬測試,十分方便小型應(yīng)用程序的開發(fā),不需要專用的硬件仿真器。3 max7651硬件仿真調(diào)試工具??目前,并沒有專用的硬件仿真器完全支持max7651源程序仿真,主要是不能支持內(nèi)部模數(shù)轉(zhuǎn)換功能。在我國市場上,筆者認(rèn)為micetek公司的easypack/e ii 8052f和insight公司的me-52/me-52 plus是性價比較高的。特別是easypack/e ii 8052f能夠支持實時的源程序調(diào)試,用戶界面非常友好,用它可以仿真max7651的絕大部分功能。注意:一般的仿真器只提供標(biāo)準(zhǔn)的40-dip雙列直插插座,用戶必須自己制作64-tqfp(max7651)到40-dip轉(zhuǎn)換的插座適配器。
4 max7651的內(nèi)部flash編程??目前市面上沒有硬件編程器直接支持max7651 flash編程??梢圆扇∫恍┖唵未胧┙鉀Q這個問題,因為8051系列單片機都采用intel標(biāo)準(zhǔn)的定時時序來編程器件內(nèi)部存儲器,max7651也不例外。max7651具有16kb的內(nèi)部flash,但是結(jié)構(gòu)上與大多數(shù)單片機不同。它分為兩個8kb的存儲區(qū),每個存儲區(qū)又分為128個64字節(jié)的頁面。??max7651支持兩種flash編程模式。第一種是在應(yīng)用中編程,假定應(yīng)用程序在某一個8kb的存儲區(qū)內(nèi)運行,并且保證程序只局限在這個8kb的存儲區(qū)內(nèi)運行,可以通過這種方式編程另一個8kb flash存儲區(qū)。max7651具有四個特殊功能寄存器(eeal、eeah、eedat、eestcmd),用于實現(xiàn)此項功能。這里,可以將程序存儲器作為數(shù)據(jù)存儲器使用,用戶不需要額外擴展數(shù)據(jù)存儲器空間。第二種編程模式是,采用外部編程器的并行接口進(jìn)行編程。目前我國市場比較通用的編程器有:臺灣河洛公司的all-07和all-11p2、xeltek公司的superpro/680和superpro/v等。其中all-07編程器目前支持的器





