新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 微控制器AduC812通用數(shù)據(jù)端口介紹及P1口的應(yīng)用

微控制器AduC812通用數(shù)據(jù)端口介紹及P1口的應(yīng)用

作者: 時(shí)間:2012-02-22 來(lái)源:網(wǎng)絡(luò) 收藏

2.3 定時(shí)器和計(jì)數(shù)器的數(shù)字輸入

本文引用地址:http://2s4d.com/article/172008.htm

  具有3個(gè)16位的定時(shí)器/計(jì)數(shù)器,即定時(shí)器0、定時(shí)器1和定時(shí)器2。定時(shí)器/計(jì)數(shù)器硬件已包含在片內(nèi),用以減輕用軟件實(shí)現(xiàn)定時(shí)器/計(jì)數(shù)器功能時(shí),處理期內(nèi)核固有的負(fù)擔(dān)。每一個(gè)定時(shí)器/計(jì)數(shù)器包含兩個(gè)8位寄存器THx和TLx(x=0、1、2)。所有3個(gè)定時(shí)器/計(jì)數(shù)器均可配置成定時(shí)器或事件計(jì)數(shù)器。

  在定時(shí)器功能中,每個(gè)機(jī)器周期TLx寄存器增量。因此可以把它看作對(duì)機(jī)器周期計(jì)數(shù)。在計(jì)數(shù)器功能中,TLx寄存器根據(jù)其對(duì)應(yīng)的外部輸入引腳T0、T1或T0上的1至0的跳變?cè)隽俊?/span>

  在口中,T2是定時(shí)器2數(shù)字輸入,輸入至定時(shí)器/計(jì)數(shù)器2。當(dāng)被使能時(shí),對(duì)應(yīng)于T2輸入的1至0的跳變,計(jì)數(shù)器2增量。T2EX是數(shù)字輸入,計(jì)數(shù)器2 Capture/reload捕獲/重載(觸發(fā)并用作計(jì)數(shù)器2 Up/Down上/下)控制輸入。在ADCCON1.1中,T2C設(shè)置定時(shí)器2轉(zhuǎn)換位,可把定時(shí)器2的溢出位用作ADC轉(zhuǎn)換起始觸發(fā)脈沖輸入。

  由于與8051有兼容的內(nèi)核,因而定時(shí)器2的原理與功能可簡(jiǎn)單地概括如下:

  AduC812中的定時(shí)器/計(jì)數(shù)器2是一個(gè)具有16位自動(dòng)重裝載或捕獲能力的定時(shí)器/計(jì)數(shù)器,T2CON是它的專用控制寄存器,如圖3所示。

  

AduC812中的定時(shí)器/計(jì)數(shù)器

  在定時(shí)器和計(jì)數(shù)器工作方式下,都可以通過(guò)T2CON中的控制位CP/2來(lái)選擇捕獲能力或重載能力。TH2和TL2內(nèi)容的捕獲或自動(dòng)重載是通過(guò)一對(duì)捕獲/重載寄存器RCAP2H和RCAP2L實(shí)現(xiàn)的。當(dāng)CP/RL2=0時(shí),選擇自動(dòng)重裝載功能,即把RCAP2H和RCAP2L的自動(dòng)轉(zhuǎn)入TH2和TL2;當(dāng)C/RL2=1時(shí),選擇捕獲功能,傳送方向恰與上述方向相反。

  捕獲或重載發(fā)生于下面兩種情況:

  (1)定時(shí)器2的寄存器TH2和TL2溢出時(shí),若

  CP/RL2=0,則打開(kāi)重裝載的三態(tài)緩沖器,把RCAP2H和RCAP2L的自動(dòng)轉(zhuǎn)入TH2和TL2中,同時(shí)溢出標(biāo)志位置1,申請(qǐng)中斷。

  (2)當(dāng)EXEN2=1且T2EX端的信號(hào)有負(fù)跳變時(shí),CP/RL2是0還是1,將發(fā)生捕獲操作或重載操作,同時(shí)標(biāo)志位EXF2置1,申請(qǐng)中斷。例如,利用定時(shí)器2測(cè)量周期如圖4所示。

  

利用定時(shí)器2測(cè)量周期

  通過(guò)下面程序的運(yùn)行,定時(shí)器2的TL2、TH2定時(shí)值就是周期T的值。

  

程序

  2.4 SPI串口選擇輸入

  AduC812提供了三種串行I/O端口:UART接口、I2C兼容的串行接口和串行外設(shè)接口(SPI)。其中,SPI接口是工業(yè)標(biāo)準(zhǔn)的同步串行接口,是一種全雙工、三線通訊的接口,它允許MCU與各種外圍設(shè)備以串行方式(8位數(shù)據(jù)同時(shí)同步地被發(fā)送和接收)進(jìn)行通信。主時(shí)鐘可以編程為不同的狀態(tài),既可編程為四種不同主波特率中的任一種,又可對(duì)時(shí)鐘的極性和相位進(jìn)行編程。SPI也可用于那些需要比微上的并行I/O端口更多輸入端或輸出端的場(chǎng)合,因而提供了一種只需使用最少的微引腳的擴(kuò)展I/O功能的最簡(jiǎn)單辦法。

  SPI系統(tǒng)通過(guò)使用4條線與多種標(biāo)準(zhǔn)外圍器件直接接口:串行時(shí)鐘線SCLOCK、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(其中SS在PI口中)。

  由于AduC812中的SPI串口有主模式和從模式兩種工作模式,因此系統(tǒng)可配置為主(Master)操作或從(Slave)操作。在用戶系統(tǒng)中,AduC812既可作為主MCU,也可作為從MCU。在主模式下,伴隨每一位數(shù)據(jù)的發(fā)送/接收發(fā)送一次時(shí)鐘,此時(shí)AduC812作為主機(jī)控制數(shù)據(jù)向從外圍器件傳送。而在從模式下,每一位數(shù)據(jù)都是在接收到時(shí)鐘信號(hào)之后才發(fā)送/接收,SPI總線可在軟件的控制下構(gòu)成各種簡(jiǎn)單或復(fù)雜的系統(tǒng)。例如:1個(gè)主MCU和幾個(gè)從MCU;幾個(gè)從MCU相互連接構(gòu)成多主機(jī)系統(tǒng)(分布式系統(tǒng));1個(gè)主MCU和1個(gè)或幾個(gè)從I/O設(shè)備。在大多數(shù)場(chǎng)合中,使用1個(gè)MCU作為主機(jī),控制數(shù)據(jù)向1個(gè)或多個(gè)從外圍器件傳送。從器件只能在主機(jī)發(fā)命令下才能接收或向主機(jī)傳送數(shù)據(jù)。其數(shù)據(jù)的傳輸格式是高位(MSB)在前,低位(LSB)在后。

  SS作為從單片機(jī)的SPI輸入端,是AduC812特有的功能,通過(guò)SS將主單片機(jī)中的數(shù)據(jù)傳送到從單片機(jī),從而實(shí)現(xiàn)主單片機(jī)對(duì)從單片機(jī)的信息傳送。

  AduC812的口兼容了MCS51系列單片機(jī)的功能,而且又有著自己獨(dú)特的多種其它可實(shí)現(xiàn)的功能。這樣,在一片單片機(jī)上利用口可以實(shí)現(xiàn)盡可能多的功能。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉