68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 51單片機與PC通信方法總結(jié)

51單片機與PC通信方法總結(jié)

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:6
51單片機的串口,是個全雙工的串口,發(fā)送數(shù)據(jù)的同時,還可以接收數(shù)據(jù)。
當串行發(fā)送完畢后,將在標志位 TI 置 1,同樣,當收到了數(shù)據(jù)后,也會在 RI 置 1。
無論 RI 或 TI 出現(xiàn)了 1,只要串口中斷處于開放狀態(tài),單片機都會進入串口中斷處理程序。
在中斷程序中,要區(qū)分出來究竟是發(fā)送引起的中斷,還是接收引起的中斷,然后分別進行處理。

常用的方法有:
接收數(shù)據(jù)時,使用“中斷方式”,清除 RI 后,用一個變量通知主函數(shù),收到新數(shù)據(jù)。
發(fā)送數(shù)據(jù)時,也用“中斷方式”,清除 TI 后,用另一個變量通知主函數(shù),數(shù)據(jù)發(fā)送完畢。
這樣一來,收、發(fā)兩者基本一致,編寫程序也很規(guī)范、易懂。
更重要的是,主函數(shù)中,不用在那兒死等發(fā)送完畢,可以有更多的時間查看其它的標志。
PC與單片機串口通信的程序,要求如下:
1、如果在電腦上發(fā)送以$開始的字符串,則將整個字符串原樣返回(字符串長度不是固定的)。
2、如果接收到1,則將P00置高電平,接收到0,P10置低電平。(用來控制一個LED)
單片機是STC89C52RC/晶振11.0592/波特率要求是9600或4800。

注意:調(diào)試軟件我選擇“串口獵人”,串口獵人中選擇“字符格式發(fā)送” 。當然STC-ISP也是可以的
*********************************************************************************/
#include <reg52.h>

sbit LED=P0^0;
unsigned char UART_buff;
bit New_rec = 0, Send_ed = 1, Money = 0;

void main ()
{
    SCON = 0x50;   //串口方式1, 10位UART(一個起始位“0”八個數(shù)據(jù)位一個停止位“1”), 允許接收.
    TMOD = 0x20;   //T1方式2
    TH1 = 0xFD;    //裝入自動重加載的處置,9600bps@11.0592MHz
    TL1 = 0xFD;    //裝入初值
    TR1 = 1;       //啟動定時器T1                
    ES  = 1;       //開串口中斷,但不開定時器中斷,不允許定時器中斷
    EA  = 1;

    while(Money == 0);    //等著交費,呵呵,等著接收$.

    while(1) 
 {
      if ((New_rec == 1) && (Send_ed == 1))
    {  //如果收到新數(shù)據(jù)及發(fā)送完畢
        SBUF = UART_buff; //那就發(fā)送.
        New_rec = 0;
        Send_ed = 0;
       }
    }
}
//----------------------------------------------
void ser_int (void) interrupt 4
{
    if(RI == 1)    //如果收到.
   { 
      RI = 0;      //清除標志.
      New_rec = 1;
      UART_buff = SBUF;  //接收.
      if(UART_buff == '1')  LED = 1;
      if(UART_buff == '0')  LED = 0;
      if(UART_buff == '$')  Money = 1;
    }
    else  //如果送畢.
   {       
      TI = 0;      //清除標志.
      Send_ed = 1;
    }
}

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

化州市| 砚山县| 调兵山市| 吕梁市| 罗田县| 贵南县| 昌江| 红原县| 二连浩特市| 繁峙县| 南雄市| 黄陵县| 晋江市| 资中县| 西贡区| 静安区| 永春县| 德阳市| 隆安县| 桑植县| 永新县| 礼泉县| 平定县| 桓台县| 鄄城县| 郯城县| 靖边县| 宁陕县| 五台县| 马边| 华亭县| 漾濞| 蒙山县| 凌海市| 文登市| 和顺县| 漾濞| 葫芦岛市| 股票| 大冶市| 新闻|