新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機串口通信中字符發送的總結

        51單片機串口通信中字符發送的總結

        作者: 時間:2014-01-13 來源:網絡 收藏
        菜鳥我今天在練習時,對字符的發送方式總結了一下,有以下三種方式,若有大俠看到請勿見笑。
        /*方式一*/
        #includereg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        uchar flag,a,i;
        uchar code table[]="I get ";
        void init()
        {
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        SM0=0;
        SM1=1;
        REN=1;
        //TI=1;
        EA=1;
        ES=1;
        }
        void main()
        {
        init();
        while(1)
        {
        if(flag==1)
        {
        ES=0;
        for(i=0;i6;i++)
        {
        SBUF=table[i];
        while(TI==0);
        TI=0;
        }
        SBUF=a;
        while(TI==0);
        TI=0;
        ES=1;
        flag=0;
        }
        }
        }
        void ser() interrupt 4
        {
        a=SBUF;
        RI=0;
        P1=~P1;
        flag=1;
        }
        /*方式二*/
        #includereg52.h>
        #includestdio.h>
        #includeintrins.h>
        #define uchar unsigned char
        #define uint unsigned int
        uchar flag,a,i=0;
        uchar code table[]="I get ";
        void init()
        {
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        SM0=0;
        SM1=1;
        REN=1;
        //TI=1;
        EA=1;
        ES=1;
        }
        void main()
        {
        init();
        while(1)
        {
        if(flag==1)
        {
        ES=0;
        while(table[i]!=' 主站蜘蛛池模板: 石门县| 青海省| 孙吴县| 山阳县| 资阳市| 广灵县| 宜城市| 清远市| 观塘区| 英吉沙县| 克山县| 江源县| 阿城市| 大连市| 万载县| 华安县| 庐江县| 江城| 黄陵县| 个旧市| 崇仁县| 平陆县| 青铜峡市| 大埔区| 南江县| 襄垣县| 旬阳县| 岱山县| 新源县| 当涂县| 延川县| 沽源县| 随州市| 九龙县| 新乐市| 土默特左旗| 衡南县| 隆昌县| 内江市| 淳化县| 盐池县|