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