新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機串口C程序

        51單片機串口C程序

        作者: 時間:2016-11-23 來源:網絡 收藏
        #include

        unsigned char tmp;

        本文引用地址:http://www.104case.com/article/201611/320337.htm

        //初始化串行口
        void csh()
        {
        SM0=0;
        SM1=1;
        REN=1;
        TI=0;
        RI=0;//以上是初始化scon寄存器,想當于SCON=0x50;
        PCON=0;//初始化電源,為波特率不增加
        TH1=0xF3;
        TL1=0XF3;//設置波特率為2400
        TMOD=0X20;//設置定時器,定時器1工作于8位自動重載模式, 用于產生波特率
        EA=1;//開總中斷

        ES=1;//ES-串行中斷允許控制位 ES = 1 允許串行中斷。
        TR1=1;//啟動定時器開始工作
        }
        void delayms(unsigned char ms)
        // 延時子程序
        {
        unsigned char i;
        while(ms--)
        {
        for(i = 0; i < 120; i++);
        }
        }


        void send_char(unsigned char txd)
        // 傳送一個字符
        {
        SBUF = txd;
        while(!TI);// 等特數據傳送
        TI = 0;// 清除數據傳送標志
        }

        void main()
        {


        csh();
        while(1)
        {
        ;
        }
        }

        void intrr() interrupt 4
        {

        RI = 0;
        tmp = SBUF;// 暫存接收到的數據
        delayms(10);

        send_char(tmp);// 回傳接收到的數據

        }



        關鍵詞: 51單片機串口C程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 铜山县| 萍乡市| 偏关县| 五寨县| 依安县| 台北市| 扎赉特旗| 江孜县| 昌吉市| 顺昌县| 浦北县| 新津县| 博爱县| 海安县| 湘阴县| 天峨县| 资源县| 凌海市| 上蔡县| 遂川县| 临泉县| 荣昌县| 鄱阳县| 大洼县| 阿克陶县| 东港市| 南丹县| 蓬莱市| 宕昌县| 唐河县| 泾源县| 石首市| 盈江县| 芜湖市| 宜州市| 积石山| 平泉县| 盘锦市| 文水县| 湖州市| 凯里市|