日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)c語言教程:C51開關(guān)分支語句

          單片機(jī)c語言教程:C51開關(guān)分支語句

          作者: 時(shí)間:2012-09-12 來源:網(wǎng)絡(luò) 收藏

          SM0、SM1 為串行口工作模式設(shè)置位,這樣兩位能對應(yīng)進(jìn)行四種模式的設(shè)置??幢?8-2 串行口工作模式設(shè)置。

          SM0

          SM1

          模 式

          功 能

          波特率

          0

          0

          0

          同步移位寄存器

          fosc/12

          0

          1

          1

          8 位 UART

          可變

          1

          0

          2

          9 位 UART

          fosc/32 或 fosc/64

          1

          1

          3

          9 位 UART

          可變

          表 8-2 串行口工作模式設(shè)置

          在這里只說明最常用的模式 1,其它的模式也就一一略過,有興趣的朋友能找相關(guān)的 硬件資料查看。表中的 fosc 代表振蕩器的頻率,也就是晶體震蕩器的頻率。UART 為(Universal Asynchronous Receiver)的英文縮寫。

          SM2 在模式 2、模式 3 中為多處理機(jī)通信使能位。在模式 0 中要求該位為 0。

          REM 為允許接收位,REM 置 1 時(shí)串行口允許接收,置 0 時(shí)禁止接收。REM 是由軟件置位或 清零。如果在一個(gè)電路中接收和發(fā)送引腳 P3.0,P3.1 都和上位機(jī)相連,在軟件上有串行口中斷 處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串行口被上位機(jī)來的控制字符產(chǎn)生中斷,那么可 以在這個(gè)子程序的開始處加入 REM=0 來禁止接收,在子程序結(jié)束處加入 REM=1 再次打開串行口 接收。大家也能用上面的實(shí)際源碼加入 REM=0 來進(jìn)行實(shí)驗(yàn)。

          TB8 發(fā)送數(shù)據(jù)位 8,在模式 2 和 3 是要發(fā)送的第 9 位。該位能用軟件根據(jù)需要置位或 清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是 數(shù)據(jù)幀。

          RB8 接收數(shù)據(jù)位 8,在模式 2 和 3 是已接收數(shù)據(jù)的第 9 位。該位可能是奇偶位,地址/ 數(shù)據(jù)標(biāo)識位。在模式 0 中,RB8 為保留位沒有被使用。在模式 1 中,當(dāng) SM2=0,RB8 是已接 收數(shù)據(jù)的停止位。

          TI 發(fā)送中斷標(biāo)識位。在模式 0,發(fā)送完第 8 位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在 發(fā)送停止位之初,由硬件置位。TI 置位后,申請中斷,CPU 響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。 在任何模式下,TI 都必須由軟件來清除,也就是說在數(shù)據(jù)寫入到 SBUF 后,硬件發(fā)送數(shù)據(jù),

          中斷響應(yīng)(如中斷打開),這個(gè)時(shí)候 TI=1,表明發(fā)送已完成,TI 不會由硬件清除,所以這個(gè)時(shí)候必須用軟件對其清零。

          RI 接收中斷標(biāo)識位。在模式 0,接收第 8 位結(jié)束時(shí),由硬件置位。其它模式中則是在接 收停止位的半中間,由硬件置位。RI=1,申請中斷,要求 CPU 取走數(shù)據(jù)。但在模式 1 中,SM2=1 時(shí),當(dāng)未收到有效的停止位,則不會對 RI 置位。同樣 RI 也必須要靠軟件清除。

          常用的串行口模式 1 是傳輸 10 個(gè)位的,1 位起始位為 0,8 位數(shù)據(jù)位,低位在先,1 位停止 位為 1。它的波特率是可變的,其速率是取決于定時(shí)器 1 或定時(shí)器 2 的定時(shí)值(溢出速率)。 AT89c51 和 AT89C2051 等 51 系列芯片只有兩個(gè)定時(shí)器,定時(shí)器 0 和定時(shí)器 1,而定時(shí)器 2是 89C52 系列芯片才有的。



          評論


          相關(guān)推薦

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

          關(guān)閉