新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機中斷系統結構

        51單片機中斷系統結構

        作者: 時間:2012-10-23 來源:網絡 收藏

        在串行中斷被打開的條件下,對方式0和方式1來說,一幀數據發送/接收完后,除置位TI/RI外,還會引起串行中斷請求,并執行串行中側目務程序。但對方式2和方式3的接收機而言,還要視SM2和RB8的狀態,才可確定RI是否被置位以及串行中斷的開放:

        SM2 RB8 接收機中斷標志與中斷狀態

        0 1 激活RI,引起中斷

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

        1 1 激活RI,引起中斷

        單片機正是利用方式2,3的這一特點,實現多機間的通信。串行端口的常用應用方法見相關章節。

        波特率的確定:

        對方式0來說,波特率已固定成fosc/12,隨著外部晶振的頻率不同,波特率亦不相同。常用的fosc有12MHz和6MHz,所以波特率相應為1000×103和500×103位/s。在此方式下,數據將自動地按固定的波特率發送/接收,完全不用設置。

        對方式2而言,波特率的計算式為2SMOD·fosc/64。當SMOD=0時,波特率為fm/64;當SMOD=1時,波特率為fosc/32。在此方式下,程控設置SMOD位的狀態后,波特率就確定了,不需要再作其它設置。

        對方式1和方式3來說,波特率的計算式為2SMOD/32×T1溢出率,根據SMOD狀態位的不同,波特率有Tl/32溢出率和T1/16溢出率兩種。由于T1溢出率的設置是方便的,因而波特率的選擇將十分靈活。

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

        點擊瀏覽下一頁

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

        37.jpg


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连江县| 辛集市| 察哈| 沂水县| 益阳市| 宜川县| 饶河县| 云南省| 鄂尔多斯市| 久治县| 宿迁市| 昌乐县| 含山县| 花垣县| 化州市| 陆川县| 郸城县| 肥西县| 杭州市| 寻甸| 平武县| 饶平县| 龙江县| 元江| 廉江市| 佛学| 五指山市| 肇州县| 铜梁县| 昔阳县| 咸宁市| 札达县| 乌拉特前旗| 屏东市| 鄂托克旗| 舟山市| 伊川县| 新密市| 临邑县| 漯河市| 南康市|