微控制器AduC812通用數(shù)據(jù)端口介紹及P1口的應(yīng)用
2.3 定時器和計數(shù)器的數(shù)字輸入
AduC812具有3個16位的定時器/計數(shù)器,即定時器0、定時器1和定時器2。定時器/計數(shù)器硬件已包含在片內(nèi),用以減輕用軟件實現(xiàn)定時器/計數(shù)器功能時,處理期內(nèi)核固有的負擔。每一個定時器/計數(shù)器包含兩個8位寄存器THx和TLx(x=0、1、2)。所有3個定時器/計數(shù)器均可配置成定時器或事件計數(shù)器。
在定時器功能中,每個機器周期TLx寄存器增量。因此可以把它看作對機器周期計數(shù)。在計數(shù)器功能中,TLx寄存器根據(jù)其對應(yīng)的外部輸入引腳T0、T1或T0上的1至0的跳變增量。
在P1口中,T2是定時器2數(shù)字輸入,輸入至定時器/計數(shù)器2。當被使能時,對應(yīng)于T2輸入的1至0的跳變,計數(shù)器2增量。T2EX是數(shù)字輸入,計數(shù)器2 Capture/reload捕獲/重載(觸發(fā)并用作計數(shù)器2 Up/Down上/下)控制輸入。在ADCCON1.1中,T2C設(shè)置定時器2轉(zhuǎn)換位,可把定時器2的溢出位用作ADC轉(zhuǎn)換起始觸發(fā)脈沖輸入。
由于AduC812與8051有兼容的內(nèi)核,因而AduC812定時器2的原理與功能可簡單地概括如下:
AduC812中的定時器/計數(shù)器2是一個具有16位自動重裝載或捕獲能力的定時器/計數(shù)器,T2CON是它的專用控制寄存器,如圖3所示。
在定時器和計數(shù)器工作方式下,都可以通過T2CON中的控制位CP/2來選擇捕獲能力或重載能力。TH2和TL2內(nèi)容的捕獲或自動重載是通過一對捕獲/重載寄存器RCAP2H和RCAP2L實現(xiàn)的。當CP/RL2=0時,選擇自動重裝載功能,即把RCAP2H和RCAP2L的數(shù)據(jù)自動轉(zhuǎn)入TH2和TL2;當C/RL2=1時,選擇捕獲功能,數(shù)據(jù)傳送方向恰與上述方向相反。
捕獲或重載發(fā)生于下面兩種情況:
(1)定時器2的寄存器TH2和TL2溢出時,若
CP/RL2=0,則打開重裝載的三態(tài)緩沖器,把RCAP2H和RCAP2L的數(shù)據(jù)自動轉(zhuǎn)入TH2和TL2中,同時溢出標志位置1,申請中斷。
(2)當EXEN2=1且T2EX端的信號有負跳變時,CP/RL2是0還是1,將發(fā)生捕獲操作或重載操作,同時標志位EXF2置1,申請中斷。例如,利用定時器2測量周期如圖4所示。
通過下面程序的運行,定時器2的TL2、TH2定時值就是周期T的值。
2.4 SPI串口選擇輸入
AduC812提供了三種串行I/O端口:UART接口、I2C兼容的串行接口和串行外設(shè)接口(SPI)。其中,SPI接口是工業(yè)標準的同步串行接口,是一種全雙工、三線通訊的接口,它允許MCU與各種外圍設(shè)備以串行方式(8位數(shù)據(jù)同時同步地被發(fā)送和接收)進行通信。主時鐘可以編程為不同的狀態(tài),既可編程為四種不同主波特率中的任一種,又可對時鐘的極性和相位進行編程。SPI也可用于那些需要比微控制器上的并行I/O端口更多輸入端或輸出端的場合,因而提供了一種只需使用最少的微控制器引腳的擴展I/O功能的最簡單辦法。
SPI系統(tǒng)通過使用4條線與多種標準外圍器件直接接口:串行時鐘線SCLOCK、主機輸入/從機輸出數(shù)據(jù)線MISO、主機輸出/從機輸入數(shù)據(jù)線MOSI和低電平有效的從機選擇線SS(其中SS在PI口中)。
由于AduC812中的SPI串口有主模式和從模式兩種工作模式,因此系統(tǒng)可配置為主(Master)操作或從(Slave)操作。在用戶系統(tǒng)中,AduC812既可作為主MCU,也可作為從MCU。在主模式下,伴隨每一位數(shù)據(jù)的發(fā)送/接收發(fā)送一次時鐘,此時AduC812作為主機控制數(shù)據(jù)向從外圍器件傳送。而在從模式下,每一位數(shù)據(jù)都是在接收到時鐘信號之后才發(fā)送/接收,SPI總線可在軟件的控制下構(gòu)成各種簡單或復(fù)雜的系統(tǒng)。例如:1個主MCU和幾個從MCU;幾個從MCU相互連接構(gòu)成多主機系統(tǒng)(分布式系統(tǒng));1個主MCU和1個或幾個從I/O設(shè)備。在大多數(shù)應(yīng)用場合中,使用1個MCU作為主機,控制數(shù)據(jù)向1個或多個從外圍器件傳送。從器件只能在主機發(fā)命令下才能接收或向主機傳送數(shù)據(jù)。其數(shù)據(jù)的傳輸格式是高位(MSB)在前,低位(LSB)在后。
SS作為從單片機的SPI輸入端,是AduC812特有的功能,通過SS將主單片機中的數(shù)據(jù)傳送到從單片機,從而實現(xiàn)主單片機對從單片機的信息傳送。
AduC812的P1口兼容了MCS51系列單片機的功能,而且又有著自己獨特的多種其它可實現(xiàn)的功能。這樣,在一片單片機上利用P1口可以實現(xiàn)盡可能多的功能。
評論