找回密碼
         注冊(cè)會(huì)員
        搜索附件  

        15883819uart.rar

         

        51單片機(jī)普通I/O口,做串口用可以和真的串口一樣,設(shè)置發(fā)送和接收的波特率:
        51單片機(jī)普通I/O口,做串口用,可以和真的串口一樣,設(shè)置發(fā)送和接收的波特率,和發(fā)送接收的模式-51

        1. /****************************************************************************************
        2. *文件:UART2.C
        3. *功能:利用LPC900普通I/O口實(shí)現(xiàn)模擬串口,占用定時(shí)器1
        4. *日期:05/07/18
        5. *****************************************************************************************/
        6. #include "Reg935.h"
        7. #include "uart2.h"
        8. #define uchar unsigned char
        9. #define BRH  0xfd  //0xfe 0x95//波特率為9600,使用內(nèi)部RC振蕩
        10. #define BRL  0x15 //0xfd 0x15 //波特率為4800,使用內(nèi)部RC振蕩
        11. //////////////////////////////////////////////////////////////////////////////////////////
        12. uchar num;
        13. uchar uart2s;           //ie. SBUF2
        14. unsigned char uart2f=0; //0:disable 1:read 2:send 3: read completed 4:send completed
        15. //****************************************************************************************
        16. void timer1_isr(void) interrupt 3
        17. {
        18.   TH1=BRH;
        19.   TL1=BRL;
        20.   if(uart2f==2) //每個(gè)IF大概運(yùn)行32周期,從而可以計(jì)算出BRH和BRL
        21.    {
        22.     if(num>1)
        23.       {
        24.        if(uart2s&(0x01<<(9-num)))
        25.          {uart2txd=1;}
        26.        else
        27.          {uart2txd=0;}
        28.        num--;
        29.       }
        30.     else if(num==1)
        31.          {
        32.       uart2txd=1;
        33.       //uart2f=4;
        34.        num--;
        35.       // num=9;
        36.       }
        37.     else {TR1=0;uart2f=4;}
        38.    }
        39.   if(uart2f==1)
        40.     {
        41.      if(num>1)
        42.       {
        43.        if(uart2rxd)
        44.          {uart2s=uart2s|(0x01<<(9-num));}
        45.        else
        46.          {uart2s=uart2s&~(0x01<<(9-num));}
        47.        num--;
        48.       }
        49.      // else if(num==1){if(uart2rxd)num--;
        50.      //                 }
        51.       else
        52.       {
        53.        uart2f=3;
        54.        TR1=0;
        55.        }
        56.    }
        57. }
        58. //---------------------------------------------------------------------------------------
        59. //uart2send: 向模擬串口發(fā)送一個(gè)字符
        60. //入口參數(shù): s 被發(fā)送字符
        61. //出口參數(shù): 無(wú)
        62. //---------------------------------------------------------------------------------------
        63. void uart2send(uchar s)
        64. {
        65.   TH1=BRH;
        66.   TL1=BRL;
        67.   num=9;
        68.   uart2s=s;
        69.   uart2f=2;
        70.   uart2txd=0;
        71.   TR1=1;
        72.   while(uart2f!=4);
        73. }
        74. //---------------------------------------------------------------------------------------
        75. //uart2read: 向模擬串口接收一個(gè)字符
        76. //入口參數(shù) 無(wú)
        77. //出口參數(shù) s 被發(fā)送字符
        78. //---------------------------------------------------------------------------------------
        79. unsigned char uart2read(void)
        80. {
        81.   while(uart2rxd);
        82.   num=9;
        83.   uart2f=1;
        84.   TH1=BRH-1;
        85.   TL1=BRL;//-0x15;
        86.   TR1=1;
        87.   while(uart2f!=3);
        88.   while(!uart2rxd);
        89.   return(uart2s);
        90. }
        91. //---------------------------------------------------------------------------------------
        復(fù)制代碼

        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
        不錯(cuò),不錯(cuò),先支持一下標(biāo)記,以后可能用得到{:e154:}

        QQ|手機(jī)版|MCU資訊論壇 ( 京ICP備18035221號(hào)-2 )|網(wǎng)站地圖

        GMT+8, 2025-3-18 13:02 , Processed in 0.040376 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2024 Discuz! Team.

        返回頂部
        午夜精品成年片色多多| 国产成人尤物精品一区| 欧美亚洲色综久久精品国产 | 国产精品最新国产精品第十页| 精品久久久久久无码中文字幕| 影音先锋男人的网站| 久久99精品久久久久久不卡| 日韩精品无码免费视频| 亚洲国产精品一区二区久久hs| 500av大全导航精品| 国产精品夜色视频一级区| 中文字幕九七精品乱码| 久久久久无码精品国产| 国产精品玖玖美女张开腿让男人桶爽免费看 | 国产精品免费观看调教网| 91精品婷婷国产综合久久| 亚洲一区二区精品视频 | 99久久国产综合精品成人影院| 蜜桃麻豆www久久国产精品| 久久精品aⅴ无码中文字字幕不卡| 2021国产精品视频网站| 亚洲国产精品不卡毛片a在线 | 隔壁老王国产在线精品| 免费国产好深啊好涨好硬视频| 精品一区二区三区四区| 亚洲AV无码之日韩精品| 国产精品你懂的| 亚洲一级Av无码毛片久久精品| 国产精品福利一区二区久久| 无码精品人妻一区| 国产精品视频网| 综合国产精品第一页| 久久精品国产一区二区三区日韩| 亚洲精品NV久久久久久久久久| 九九热在线精品视频| 影音先锋5566av| 亚洲精品福利视频| 亚洲国产精品久久电影欧美| 国产成人亚洲精品91专区手机| 四虎国产精品永久在线观看| 国产一区二区三精品久久久无广告|