由美國(guó)模擬器件公司新近推出的ADμC812單片機(jī),其內(nèi)部包含了高精度的8通道12位模數(shù)變換器(ADC),2通道12位數(shù)模變換器(DAC)以及可編程的8位(與8051單片機(jī)兼容)微控制器單元(MCU),另有8Kbytes閃速/電擦除程序存儲(chǔ)器,640B的閃速/電擦除數(shù)據(jù)存儲(chǔ)器,通用異步收發(fā)信機(jī)(UART),串行外圍接口(SPI) 和I2C串行總線端口,還有看門狗,電源監(jiān)控等功能。它可廣泛地應(yīng)用于各種測(cè)控系統(tǒng)。本文主要介紹ADμC812單片機(jī)在多路溫濕度測(cè)控系統(tǒng)中的應(yīng)用。
2 ADμC812單片機(jī)介紹
2.1 功能方框圖
ADμC812單片機(jī)的功能如圖1所示。
2.2 模數(shù)轉(zhuǎn)換部分
它包含了5μs、8通道12位的單電源A/D轉(zhuǎn)換器,它接收的模擬量輸入范圍為0-Vref,片內(nèi)提供高精度、低漂移的2.5V基準(zhǔn)電壓,外部基準(zhǔn)在2.3V-AVdd(模擬正電源電壓)的范圍內(nèi)。
它的工作由3個(gè)特殊功能寄存器(SFR)來(lái)控制:
·ADCCON1:控制轉(zhuǎn)換和采集時(shí)間,硬件轉(zhuǎn)換模式以及掉電模式。格式:
上述格式中, MD1、MD0是控制ADC的工作模式,為01時(shí),ADC正常工作。CK1、CK0是選擇送入ADC時(shí)鐘的主時(shí)鐘分頻系數(shù),可選的分頻比分別為1、2、4、8。AQ1、AQ0是選擇采樣/保持電路采集輸入信號(hào)的時(shí)間,可選1、2、4、8個(gè)ADC時(shí)鐘數(shù)。T2C為1時(shí),將由定時(shí)器2的溢出位來(lái)啟動(dòng)ADC轉(zhuǎn)換。EXC為1時(shí),將由外部引腳,即P3.5的低電平啟動(dòng)ADC轉(zhuǎn)換。
·ADCCON2:控制ADC通道選擇和轉(zhuǎn)換模式。格式:
上述格式中,ADCI是ADC中斷標(biāo)志位,在單個(gè)ADC轉(zhuǎn)換結(jié)束時(shí),由硬件置位,當(dāng)MCU響應(yīng)ADC中斷服務(wù)子程序時(shí),由硬件清除。DMA是DMA模式使能位,為1時(shí),啟動(dòng)ADC的DMA模式工作。CCONV是連續(xù)轉(zhuǎn)換位,為1時(shí),ADC進(jìn)入連續(xù)轉(zhuǎn)換模式。SCONV是單次轉(zhuǎn)換位,為1時(shí),ADC開(kāi)始單個(gè)轉(zhuǎn)換周期,當(dāng)轉(zhuǎn)換完成時(shí),SCONV位自動(dòng)復(fù)位至“0”。CS3、CS2、CS1、CS0是通道選擇位,0-7對(duì)應(yīng)8路模擬量輸入通道。
·ADCCON3:忙狀態(tài)指示。格式:
上述格式中,BUSY是ADC忙狀態(tài)位,高電平有效。其余位則被保留,供內(nèi)部使用。
2.3 數(shù)模轉(zhuǎn)換部分
兩個(gè)片內(nèi)12位DAC通過(guò)單個(gè)控制特殊功能寄存器和4個(gè)數(shù)據(jù)特殊功能寄存器來(lái)控制,即,DAC0L、DAC1L:低8位DAC字節(jié);DAC0H、DAC1H:高4位DAC字節(jié);DACCON:DAC0和DAC1操作所需的通用控制位。
DACCON的格式:
上述格式中,MODE是模式選擇位,為1時(shí),8位模式;為0時(shí),12位模式。 RNG1、 RNG0分別是DAC1/ 0輸出范圍選擇位,為1時(shí),0-Vdd;為0時(shí),0-Vref。CLR1、 CLR0分別是DAC1/ 0清除位,低電平有效。SYNC是DAC1/ 0更新同步位,高電平有效。PD1、 PD0分別是DAC1/ 0掉電位,低電平有效。
3 在多路溫濕度測(cè)控系統(tǒng)中的應(yīng)用
3.1 硬件設(shè)計(jì)
利用ADμC812單片機(jī)的8路模擬量輸入通道可分別對(duì)4路溫度和4路濕度信號(hào)進(jìn)行檢測(cè),2路模擬量輸出通道可用于控制通風(fēng)除濕系統(tǒng),構(gòu)成一個(gè)多路的溫度、濕度的自動(dòng)檢測(cè)、顯示和調(diào)控系統(tǒng)。如圖2所示。
多個(gè)該系統(tǒng)還可通過(guò)串行口分別與上位機(jī)聯(lián)接,組成主從分布式結(jié)構(gòu),在下位機(jī)上完成數(shù)據(jù)的采集、處理、顯示、設(shè)置、判斷、報(bào)警、控制輸出和通信等功能,在上位機(jī)上完成多臺(tái)集中的溫濕度顯示、置初值、報(bào)警、制表和打印等功能。硬件框圖如圖3所示。
3.2 軟件設(shè)計(jì)
下位機(jī)系統(tǒng)上電進(jìn)行初始化,包括ADC模塊、DAC模塊、定時(shí)器和串行口等。
ADC模塊初始化:設(shè)置ADCCON1~3這三個(gè)特殊功能寄存器的初值。DAC模塊初始化:設(shè)置DACCON的初值。定時(shí)器初始化:設(shè)置TMOD,送計(jì)數(shù)初值至(TH,TL),啟動(dòng)定時(shí)器(TR=1),開(kāi)中斷(ET=1,EA=1)。串行口初始化:設(shè)置SCON,PCON,開(kāi)中斷(ES=1,EA=1)。定時(shí)器和串行口的初始化與MCS-51單片機(jī)相同。然后,定時(shí)采樣各路溫濕度,并與預(yù)置值進(jìn)行比較,若正常,輸出為零,繼續(xù)采樣;若不正常,則聲光報(bào)警,并啟動(dòng)通風(fēng)除濕系統(tǒng)。系統(tǒng)主程序流程圖如圖4所示。
4 結(jié)束語(yǔ)
ADμC812單片機(jī)功能強(qiáng),體積小,性能穩(wěn)定,且價(jià)格比較便宜。因此,它不僅適用于多路溫濕度測(cè)控系統(tǒng),也適用于稱重系統(tǒng),智能化傳感器校正與調(diào)節(jié)系統(tǒng),便攜式電子儀器等其它測(cè)控系統(tǒng)中。它是新一代的真正意義上的單片機(jī)系統(tǒng),必將給控制領(lǐng)域帶來(lái)新的沖擊。