新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51串口網上參考程序

        51串口網上參考程序

        作者: 時間:2016-11-23 來源:網絡 收藏
        學了幾天,接收也沒調通。原搬了網上程序,還是終于通了。貼人原程序吧!
        網址如下:http://www.cnblogs.com/feng-bxr/articles/2302086.html謝謝原作者。

        #include

        sbit WINT1=P3^3; // 外部中斷,接S4按鍵

        void init() {

        PCON=0x00; //波特率不加倍

        TMOD=0x20; //定時器1用作波特率發生器(具有自動重裝載初值的功能)

        SCON=0x50; //8為異步收發,波特率可變(由定時器控制)選擇串口方式1,接收允許

        TH1=0x0fd;

        TL1=0x0fd; //設置波特率為9600bps,晶振11.0592MHz

        RI=0; //清標志位

        TI=0;

        TR1=1; //開啟計數T1

        ES=1; //開串口中斷

        IT1=1; //設置為跳變觸發方式

        EX1=1; //開外部中斷1

        EA=1; //開總中斷

        }

        void main(){

        init();

        while(1); //延時等待中斷

        }

        void uart_interrupt (void) interrupt 4{

        char date;

        ES=0; //關閉串口中斷

        if(TI) { //判斷是發送中斷

        TI=0; //清除發送中斷標志

        }

        else {

        date=SBUF; //數據緩存到date中

        RI=0; //清除接收中斷標志

        date++; //數據處理

        SBUF=date; //返回數據

        }

        ES=1; //打開串口中斷

        }

        void int1_interrupt(void) interrupt 2 {

        while(!WINT1); //按鍵松手檢測

        SBUF=0X41; //發送字符數據A

        }




        關鍵詞: 51串口參考程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 永寿县| 图片| 久治县| 益阳市| 台安县| 奉贤区| 华阴市| 和政县| 磐石市| 根河市| 招远市| 涟源市| 龙门县| 海南省| 金坛市| 庆安县| 武乡县| 库伦旗| 杂多县| 香港| 红安县| 二连浩特市| 桃园市| 武定县| 龙口市| 隆德县| 东阳市| 旬邑县| 密山市| 惠来县| 保亭| 宿松县| 盐亭县| 广宁县| 专栏| 涡阳县| 韩城市| 南宫市| 新巴尔虎左旗| 隆林| 宣武区|