新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)

51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)

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

在串行中斷被打開(kāi)的條件下,對(duì)方式0和方式1來(lái)說(shuō),一幀數(shù)據(jù)發(fā)送/接收完后,除置位TI/RI外,還會(huì)引起串行中斷請(qǐng)求,并執(zhí)行串行中側(cè)目務(wù)程序。但對(duì)方式2和方式3的接收機(jī)而言,還要視SM2和RB8的狀態(tài),才可確定RI是否被置位以及串行中斷的開(kāi)放:

SM2 RB8 接收機(jī)中斷標(biāo)志與中斷狀態(tài)

0 1 激活RI,引起中斷

1 0 不激活RI,不引起中斷

1 1 激活RI,引起中斷

單片機(jī)正是利用方式2,3的這一特點(diǎn),實(shí)現(xiàn)多機(jī)間的通信。串行端口的常用應(yīng)用方法見(jiàn)相關(guān)章節(jié)。

波特率的確定:

對(duì)方式0來(lái)說(shuō),波特率已固定成fosc/12,隨著外部晶振的頻率不同,波特率亦不相同。常用的fosc有12MHz和6MHz,所以波特率相應(yīng)為1000×103和500×103位/s。在此方式下,數(shù)據(jù)將自動(dòng)地按固定的波特率發(fā)送/接收,完全不用設(shè)置。

對(duì)方式2而言,波特率的計(jì)算式為2SMOD·fosc/64。當(dāng)SMOD=0時(shí),波特率為fm/64;當(dāng)SMOD=1時(shí),波特率為fosc/32。在此方式下,程控設(shè)置SMOD位的狀態(tài)后,波特率就確定了,不需要再作其它設(shè)置。

對(duì)方式1和方式3來(lái)說(shuō),波特率的計(jì)算式為2SMOD/32×T1溢出率,根據(jù)SMOD狀態(tài)位的不同,波特率有Tl/32溢出率和T1/16溢出率兩種。由于T1溢出率的設(shè)置是方便的,因而波特率的選擇將十分靈活。

前已敘及,定時(shí)器Tl有4種工作方式,為了得到其溢出率,而又不必進(jìn)入中斷服務(wù)程序,往往使T1設(shè)置在工作方式2的運(yùn)行狀態(tài),也就是8位自動(dòng)加入時(shí)間常數(shù)的方式。由于在這種方式下,T1的溢出率(次/秒)計(jì)算式可表達(dá)成:

點(diǎn)擊瀏覽下一頁(yè)

下面一段主程序和中斷服務(wù)程序,是利用串行方式l從數(shù)據(jù)00H開(kāi)始連續(xù)不斷增大地串行發(fā)送一片數(shù)據(jù)的程序例。設(shè)單片機(jī)晶振的頻率為6MHZ,波特率為1200位/秒。

37.jpg


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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉