欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: RS-232 串口通信 [打印本頁]

作者: lhqsbz    時間: 2018-6-28 17:46
標題: RS-232 串口通信
/*******************************************************************************
*  標題:                  RS232串口通信試驗(發送)                                      *

*  1.通過本例程了解串口的基本原理及使用 ,理解并掌握對串口進行初始化

   2.請使用串口調試助手(Baud 4800、數據位8、停止位1、效驗位無)做為上位機來接收單片機串口所發的信息。
     觀察串口調試助手接收窗口
                                                                                         *
* 請學員認真消化本例程,學會用C語言操作串口                                                *
********************************************************************************/

#include <REG52.H>
#include <stdio.h>

void delay(unsigned int i);    //函數聲明

char  code  MESSAGE[]= "普中科技助您學習RS232 ,請使用串口調試助手:  ";
unsigned char a;


void main (void) {


        SCON = 0x50;       //REN=1允許串行接受狀態,串口工作模式2               
            TMOD|= 0x20;      //定時器工作方式2                       
                PCON|= 0x80;      //波特率提高一倍                                                   
        //        TH1  = 0xFD;     //baud*2  /* reload value 19200、數據位8、停止位1。效驗位無(11.0592)     
            TH1 = 0xF3;                                        // //baud*2  /*  波特率4800、數據位8、停止位1。效驗位無 (12M)
            TL1 = 0xF3;
                TR1  = 1;        //開啟定時器1                                                      
                ES   = 1;        //開串口中斷                  
                EA   = 1;        // 開總中斷
           // IE = 0x0;

        while(1)
    {  a=0;
       
           while(MESSAGE[a] != '\0')
              {
                SBUF = MESSAGE[a];                //SUBF接受/發送緩沖器(又叫串行通信特殊功能寄存器)
         while(!TI);                                // 等特數據傳送        (TI發送中斷標志)
                 TI = 0;                                        // 清除數據傳送標志
               
                a++;                                            // 下一個字符

   }
  delay(1000);  
}

}

/**************************************************
                                                                                            
                  延時處理程序                                                                                                 
                                                                                                  
**************************************************/

void delay(unsigned int i)
{
        unsigned char j;
        for(i; i > 0; i--)
                for(j = 200; j > 0; j--) ;

}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1