找回密碼
         注冊(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.

        返回頂部
        国产精品自在拍一区二区不卡| 久久久亚洲精品蜜桃臀| 影音先锋能看的网站| AAA级久久久精品无码片| 亚洲午夜精品第一区二区8050| 国产精品无码一区二区在线观一 | 久久精品这里热有精品| 92国产精品午夜福利| 粉嫩精品美女国产在线观看| 国内精品一级毛片免费看| 精品国产福利一区二区| 日韩精品无码专区免费播放| 国产精品久久久天天影视香蕉| 久久免费精品一区二区| 久久久久无码国产精品不卡| 亚洲av永久无码精品漫画| 亚洲国产精品一区二区久久hs| 国产精品青草久久久久婷婷| 国产精品中文字幕在线观看| 国产亚洲精品a在线观看| 国产欧美一区二区精品性色99| 欧美free嫩交video| 福利体验试看120秒| 亚洲AV无码精品色午夜在线观看| 国产高清在线精品二区一| 欧美在线精品一区二区三区 | 午夜精品一区二区三区在线视| 国产亚洲精品精品国产亚洲综合| 老司机午夜在线视频免费观| 国产精品视频免费观看| 香蕉国产精品麻豆亚洲欧美日韩精品自拍欧美v国 | 日本精品一区二区三区在线视频一| 青青草原精品国产亚洲av| 国产精品嫩草影院一二三区| 热re99久久精品国99热| 国产在线精品一区二区三区不卡| 激情亚洲一区国产精品| 久久久久久极精品久久久| 国产精品涩涩涩视频网站| 国产精品对白刺激久久久| 欧美精品xxxxbbbb|