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

標題: 12M AT89S52單片機串口通信源碼 [打印本頁]

作者: daming    時間: 2014-12-29 01:09
標題: 12M AT89S52單片機串口通信源碼
/*-----------------------------------------------
BY JACK
  內容:連接好串口或者usb轉串口至電腦,下載該程序,打開電源
        打開串口調試程序,將波特率設置為4800,無奇偶校驗
        晶振12MHz,發送和接收使用的格式相同,如都使用
        字符型格式,在發送框輸入 任意標準碼,在接
        收框中同樣可以看到相同字符,說明設置和通信正確使用串行通信助手檢測,謝謝。
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義                       
                              
/******************************************************************/
/*                   主函數                                       */
/******************************************************************/
void main (void)
{
PCON |=0X80;    //SMOD置1
    SCON  = 0x50;          /* SCON: 模式 1, 8-bit UART, 使能接收         */
    TMOD |= 0x22;               /* TMOD: timer 1, mode 2, 8-bit reload        */
    TH1   = 0xF3;               /* TH1:  reload value for 4800 baud @ 12MHz   */
    TR1   = 1;                  /* TR1:  timer 1 run                          */
    EA    = 1;                  /*打開總中斷*/
    ES    = 1;                  /*打開串口中斷*/
P1    = 1;     //測試
while (1)                       /*主循環不做任何動作*/
    {

    }
}
/******************************************************************/
/*                  串口中斷程序                                  */
/******************************************************************/
void UART_SER (void) interrupt 4 //串行中斷服務程序
{
    unsigned char Temp;          //定義臨時變量
   
   if(RI)                        //判斷是接收中斷產生
     {
   RI=0;                      //標志位清零
   Temp=SBUF;                 //讀入緩沖區的值
   P1=Temp;                   //把值輸出到P1口,用于觀察
      SBUF=Temp;                 //把接收到的值再發回電腦端
  }
   if(TI)                        //如果是發送標志位,清零
     TI=0;
}

//這兩天學習C++,實在是沒有成就感,所以寫個單片機程序,玩玩,哈哈






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