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