標(biāo)題: 12M AT89S52單片機(jī)串口通信源碼 [打印本頁(yè)]

作者: daming    時(shí)間: 2014-12-29 01:09
標(biāo)題: 12M AT89S52單片機(jī)串口通信源碼
/*-----------------------------------------------
BY JACK
  內(nèi)容:連接好串口或者usb轉(zhuǎn)串口至電腦,下載該程序,打開(kāi)電源
        打開(kāi)串口調(diào)試程序,將波特率設(shè)置為4800,無(wú)奇偶校驗(yàn)
        晶振12MHz,發(fā)送和接收使用的格式相同,如都使用
        字符型格式,在發(fā)送框輸入 任意標(biāo)準(zhǔn)碼,在接
        收框中同樣可以看到相同字符,說(shuō)明設(shè)置和通信正確使用串行通信助手檢測(cè),謝謝。
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義                       
                              
/******************************************************************/
/*                   主函數(shù)                                       */
/******************************************************************/
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;                  /*打開(kāi)總中斷*/
    ES    = 1;                  /*打開(kāi)串口中斷*/
P1    = 1;     //測(cè)試
while (1)                       /*主循環(huán)不做任何動(dòng)作*/
    {

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

//這兩天學(xué)習(xí)C++,實(shí)在是沒(méi)有成就感,所以寫(xiě)個(gè)單片機(jī)程序,玩玩,哈哈






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