<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ADμC812的數(shù)據(jù)采集子系統(tǒng)及其系統(tǒng)編程技術(shù)

          ADμC812的數(shù)據(jù)采集子系統(tǒng)及其系統(tǒng)編程技術(shù)

          作者: 時間:2011-08-29 來源:網(wǎng)絡(luò) 收藏
          二、μ調(diào)試、

          本文引用地址:http://www.ex-cimer.com/article/172523.htm

            目前,由于μ只提供表貼封裝形式,因而在用仿真器進行程序調(diào)試時將會帶來一些問題。為方便調(diào)試,μA片內(nèi)除集成了各具特色的硬件模塊外,還因化了方便實用的監(jiān)控調(diào)試軟件,使其只需少量的外圍器件即可實現(xiàn)聯(lián)機調(diào)試,從而大大方便了用戶的使用,縮短了產(chǎn)品的研制周期。啟用調(diào)試方式的電路連接如圖3所示。

            在上電復(fù)位的瞬間,使EA引腳接高電平,PSEN引腳接一下拉電阻,即可使ADμC812進入監(jiān)控調(diào)試支援方式。在此方式下,通過基于PC的Quick Start開發(fā)工具包,即可下載用戶程序。通過運行于Microsoft Windows下的下的ADμC.exe調(diào)試軟件,可實時調(diào)試用戶程序。

            該調(diào)試軟件支持單步、斷點和連續(xù)運行等工作方式,可方便地觀察MCU的運行結(jié)果,包括內(nèi)部RAM、SFR、程序Flash EEPROM和數(shù)據(jù)Flash EEPROM等單元的內(nèi)容。從而提高了工作效率,縮短了產(chǎn)品的開發(fā)周期。圖3中MAX232為RS232電平轉(zhuǎn)換器,用于將TTL電平轉(zhuǎn)換成RS232電平,以便直接連至PC的串行口,進行聯(lián)機調(diào)試或下載程序。

            

          ADμC812的系統(tǒng)調(diào)試與編程下的電路連接

            Quick Start還提供了工作于DOS環(huán)境下的串行下載軟件DownLoad.exe。運行該軟件可直接將用戶程序到ADμC812芯片中的程序Flash存儲器中,免除了需用器和封裝適配器的麻煩,真正實現(xiàn)了在可編程。Quick Start開發(fā)工具軟件包可從www.analog.com/microconverter/quick-start.html下載得到。

            三、定時ADC編程舉例

            該例程主要說明如何利用ADC的單次轉(zhuǎn)換功能實現(xiàn)定時采樣的目的。定時器T0用于1.25ms定時,8個通道完成一次需要10ms。為增加抗干擾的能力,軟件中還加入了數(shù)字濾波功能。每個通道連續(xù)采樣16次后再進行平均處理,然后將高8位結(jié)果送出,其匯編語言源程序清單如下:

            $NOMOD51$INCLUDE() ;使用ADμC812預(yù)定義符

            Timer_ms_const equ(65536-9216/8);當晶振頻率為11.0592MHz時,10ms對應(yīng)9216個周期ADC_tlag equ 20H.0;AD轉(zhuǎn)換標志,=1時表示采樣的8路AD值有效ADC_coun equ 30H;用于指示當前正在處理的ADC通道ADC_result equ 38H;38H~3FH存入0~7通道的ADC結(jié)果ADC_acc equ 40H;40~4FH存入0~7通道的累加值ORG 0000Hstart:jmp BeginORG start+0BHJmp Timer0_interruptORG start+100hBegin;mov SP,#60Hmov R0,#20H;清工作單元mov R7,#40Hclr AiRAM_init;mov @R0,Ainc R0djnz R7,iRAM_initcall Timer0_init;初始化T0為1.25ms中斷一次call ADC_init;初始化ADC為單次轉(zhuǎn)換setb EAControlloop:Jnb ADC_flag,Controlloop…… ;將AD轉(zhuǎn)換的結(jié)果取走clr ADC_flag;允許開始下一次轉(zhuǎn)換jmp ControlloopADC_init:mov ADCCON1,#01101100B;

            上電ADCmov ADCCON2,ADC_count;選擇轉(zhuǎn)換通道retTimer0_interrupt:

            setb SCONV;開始單次ADC轉(zhuǎn)換mov TL0,#LOW(Timer_ms_const);裝入定時常數(shù)mov TH0,#HIGH(Timer_ms_const)push PSWmov PSW,#00001000B;使用page1mov R2,A;暫存A累Timer0_int_ADC:jb ADC_flag,Timer0_int_ADC_end;數(shù)據(jù)未取走則退出Mov A,ADCCON3;

            讀ADC狀態(tài)jb ACC.7,Timer0_int_ADCmov A,ADC_countanl A,#07Hrl Aadd A,#ADC_accmov R0,Amov A,ADCDATAL;將ADC轉(zhuǎn)換結(jié)果加入累加單元add A,@R0mov @R0,Ainc R0mov A,ADCDATAHanl A,#0FHaddc A,@R0mov #R0,Ainc ADC_countmov A,ADC_countanl A,#07Hmov ADCCON2,A;選擇下一通道m(xù)ov A,ADC_countcjne A,#80H,Timer0_int_ADC_endmov ADC_count,#0mov R0,#ADC_acc;數(shù)字濾波后存入ADC結(jié)果mov R1,#ADC_resultmov R7,#08Timer0_int_save_ADC:

            clr Amov #R0,Ainc R0xch A,#R0mov @R1,Ainc R0inc R1djnz,R7,Timer0_int_save_ADCsetb ADC_flagTimer0_int_ADC_end:Mov A,R2Pop PSWRetiTimer0_init;mov TH0,#HIGH(Timer_ms_const);裝入定時常數(shù)mov TL0,#LOW(Timer_ms_const)anl TMOD,#11110000Borl TMDD,#00000001BSetb ET0;允許T0中斷Setb TR0;T0開始運行RetEND


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();