• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 80c51單片機串口通訊實驗總結(jié)

    80c51單片機串口通訊實驗總結(jié)

    作者: 時間:2012-10-11 來源:網(wǎng)絡(luò) 收藏

    SCON是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標志,在我的學習過程中,選用了方式1來實現(xiàn)串口通信(SM0=0 SM1=1)這種方式波特率可變而且為發(fā)送8為數(shù)據(jù)的工作方式。


    REN為接收控制位,軟件置1后,允許接收;

    TI為發(fā)送中斷位,RI為接收中斷位,均由軟件置1方可繼續(xù)工作;

    由于物理地址上存在兩個SBUF寄存器……但軟件地址上只存在一個,所以串行口的收發(fā)均由SBUF控制。設(shè)所要發(fā)送的字符為“a”,“a”的ACSII碼為0x98H,則發(fā)送所用的命令行為SBUF=“a”;,計算機接收端就會收到98H;相反接收時方式則為b=SBUF;(b為無符號char型變量).在實際操作時由于發(fā)送有延時所以發(fā)送多位數(shù)據(jù)時,以及接受多位數(shù)據(jù)時,不能直接羅列這些命令行,應(yīng)加入檢測TI RI并軟件置0的命令。

    以發(fā)送為例:

              SBUF=“b”;while(TI!=1);TI=0;SBUF=“a”;while(TI!=1);TI=0;SBUF=“c”;while(TI!=1);TI=0;SBUF=“k”;while(TI!=1);TI=0;

    即可發(fā)送“back”至串口。

    在使用串口通信的同時,波特率的同步有定時器實現(xiàn),由于反復(fù)使用波特率,8位自動重裝的定時器工作方式2最為合適

    TMOD=0x20;
    TH1=0xfe;
    TL1=oxfe;
    TR1=1;

    即可產(chǎn)生晶振為11.0592mhz的9600波特率……

    控制串行口接收的方式有兩種~中斷法和查詢法

    查詢發(fā)采用while語句每當有數(shù)據(jù)傳送時,通過RI判斷

    中斷法采用EA=1;ES=1;的串行口中斷 中斷子程序中對RI置0。

    51單片機相關(guān)文章:51單片機教程


    單片機相關(guān)文章:單片機教程


    單片機相關(guān)文章:單片機視頻教程


    單片機相關(guān)文章:單片機工作原理


    通信相關(guān)文章:通信原理


    晶振相關(guān)文章:晶振原理


    關(guān)鍵詞: 80c51 單片機 串口通訊

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 绥化市| 仁怀市| 乌海市| 桐乡市| 吴桥县| 邹城市| 岑溪市| 商南县| 天峻县| 东乌珠穆沁旗| 青海省| 绥棱县| 天峻县| 申扎县| 哈尔滨市| 惠安县| 黄大仙区| 恩平市| 嘉善县| 启东市| 兰考县| 安顺市| 于田县| 揭西县| 孝昌县| 清流县| 西和县| 古浪县| 陕西省| 云南省| 黔江区| 龙南县| 四平市| 临桂县| 沁水县| 商丘市| 陇川县| 阿图什市| 门头沟区| 沙湾县| 科技|