HT46ru232單片機(jī)簡介
一、總體介紹:
HT46RU232 是 8 位高性能精簡指令集單片機(jī),專門為需要 A/D 轉(zhuǎn)換產(chǎn)品而設(shè)計,例如傳感器信號輸入。
低功耗、I/O 使用靈活、可編程分頻器、計數(shù)器、振蕩類型選擇、多通道 A/D 轉(zhuǎn)換、脈寬調(diào)制功能、IIC 接口、UART 總線,暫停和喚醒功能,使這款單片機(jī)可以廣泛應(yīng)用于傳感器的 A/D 轉(zhuǎn)換、馬達(dá)控制、工業(yè)控制、消費(fèi)類產(chǎn)品,子系統(tǒng)控制器等。 HT46ru232單片機(jī)有兩種封裝形式,一為下圖所示,28腳的DIP封裝,另外一種為48腳的SOP封裝。
二、系統(tǒng)時鐘:
HT系列單片機(jī)的指令周期為Fsys/4,其系統(tǒng)時鐘可以選用石英晶振4MHz或者8MHz。也可以選擇RC振蕩電路來實(shí)現(xiàn)。兩種形式如下圖:
如果選用外部 RC 振蕩方式,在 OSC1 與 VSS 之間需要接一個外部電阻,其阻值為 30k?~750k?;而 OSC2 上會輸出帶上拉的系統(tǒng)頻率的 4 分頻信號,可用于同步外部邏輯。RC 振蕩方式是一種低成本的方案,但是,RC振蕩頻率會隨著VDD、溫度和芯片自身參數(shù)的漂移而產(chǎn)生誤差。因此,在需要精確振蕩
頻率作為計時操作的場合,并不適合使用 RC 振蕩方式。
如果選用晶體振蕩方式,在 OSC1和OSC2之間需要連接一個晶體,用來提供晶體振蕩器所需的反饋和相移,除此之外,不再需要其它外部元件。另外,在OSC1和 OSC2之間也可使用諧振器來取代晶體振蕩器,但是在OSC1和OSC2 需要多連接兩個電容(如果振蕩頻率小于1MHz)。 WDT 振蕩器是一個內(nèi)部RC 振蕩器,并不需要連接任何外部元件。當(dāng)系統(tǒng)進(jìn)入暫停模式時,系統(tǒng)時鐘會停止,但 WDT 振蕩器會繼續(xù)工作,其振蕩周期大約為 65µs/5V。如果要降低功耗,可在掩膜選項(xiàng)中關(guān)閉WDT 振蕩器。
三、復(fù)位電路:
HT系列單片機(jī)提供了三種方法來產(chǎn)生系統(tǒng)復(fù)位。
·正常運(yùn)行時由RES引腳發(fā)生復(fù)位
·暫停模式下由RES引腳發(fā)生復(fù)位
·正常情況下由看門狗溢出發(fā)生復(fù)位
暫停模式中的看門狗定時器溢出與其它系統(tǒng)復(fù)位狀況不同,因?yàn)榭撮T狗定時器溢出會執(zhí)行“熱復(fù)位”,只有程序計數(shù)器PC 和堆棧指針SP 被復(fù)位,而系統(tǒng)其它部分都保持原有狀態(tài)。在其它復(fù)位狀態(tài)下,某些寄存器不會改變。在初始復(fù)位時,大部分寄存器會復(fù)位成初始的狀態(tài)。通過檢測PDF和TO 標(biāo)志,即可判斷出各種不同的復(fù)位原因。
為了保證系統(tǒng)振蕩器起振并穩(wěn)定運(yùn)行,系統(tǒng)復(fù)位或由暫停狀態(tài)喚醒時,系統(tǒng)啟動定時器(SST)提供了一個額外的延遲時間,共 1024個系統(tǒng)時鐘周期。 系統(tǒng)由暫停模式喚醒或上電復(fù)位時,SST 會被加在復(fù)位延時中。上電復(fù)位時會加入額外的SST 延遲,而由暫停模式喚醒僅有 SST 延遲。系統(tǒng)復(fù)位時各功能單元的狀態(tài)如下所示:
四、定時器/計數(shù)器
HT46RU232 有兩個定時/計數(shù)器(TMR0,TMR1)。定時/計數(shù)器 0 是一個 16 位向上計數(shù)器,其時鐘來源可以是外部信號輸入或內(nèi)部時鐘,內(nèi)部時鐘為 fSYS。定時/計數(shù)器 1 是一個 16 位向上計數(shù)器,其時鐘來源可以是外部信號輸入或內(nèi)部時鐘,內(nèi)部時鐘為 fSYS/4。外部信號輸入可以用來計數(shù)外部事件、測量時間間隔、測量脈沖寬度或產(chǎn)生一個精確的時基信號。有六個與定時/計數(shù)器0/1有關(guān)的寄存器, TMR0H(0CH)、 TMR0L(0DH)、 TMR0C(0EH)、 TMR1H(0FH)、
TMR1L(10H)、TMR1C(11H)。寫入 TMR0L(TMR1L)只能將數(shù)據(jù)寫到低字節(jié)緩沖器(8 位),而寫入TMR0H(TMR1H)會把指定數(shù)據(jù)和低字節(jié)緩沖器的數(shù)據(jù)分別寫到 TMR0H(TMR1H)和 TMR0L(TMR1L)預(yù)置寄存器中,定時/計數(shù)器 0/1 預(yù)置寄存器的內(nèi)容只有在寫入 TMR0H(TMR1H)時才會被改變。讀取TMR0H(TMR1H)會把TMR0H(TMR1)的內(nèi)容送至目標(biāo)單元,而TMR0L(TMR1L)的值被送至低字節(jié)緩沖器中。讀 TMR0L(TMR1L)將讀取低字節(jié)緩沖器的值。TMR0C(TMR1C)是定時/計數(shù)器 0/1 控制寄存器,用來定義定時/計數(shù)器一些選項(xiàng)。
TMR0C寄存器的位定義:
位7、6為定義定時器工作模式:T0M1,T0M0
00--------未用
01--------事件計數(shù)模式(對外部時鐘計數(shù))
10--------定時器模式(內(nèi)部模式)
11--------脈沖寬度測量模式
位5----未用,一般使用定義為0
位4----T0ON,打開關(guān)閉定時器(0關(guān)閉,1打開)
位3----T0E,定時器/計數(shù)器觸發(fā)模式
位2、1、0定義定時器時鐘預(yù)分頻級數(shù),以T0PSC2-0,8進(jìn)制數(shù)為指數(shù)n,F(xiàn)int=Fsys/(2的n次方).
TMR1C寄存器的位定義:
類似TMR0C,但TMR1C沒有對低三位定義。
TMR2C寄存器的位定義:
同TMR0C寄存器。
五、UART---異步串行口
串行口主要由3個UART寄存器來控制和檢測(UART、UART1、UART2)
UART(只讀) bit0-7的定義為:
·
TXIF 是發(fā)送數(shù)據(jù)寄存器為空標(biāo)志。若 TXIF=0,數(shù)據(jù)還沒有從緩沖器加載到移位寄存器中;若TXIF=1,數(shù)據(jù)已從TXR寄存器中加載到移位寄存器。讀取 USR寄存器再寫TXR寄存器將清除TXIF。當(dāng)TXEN被置位,即使發(fā)送緩沖器未滿,TXIF也會被置位。
評論