<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        STC12串口1(獨立波特率發生器)使用

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月10日   【字體:



        串口1獨立.c
        //******************************(STC12串口1獨立波特率發生器的應用)*****************************************
        // 馬梓熔
        //***************************************************************************************
        #include "STC12C5A.h"
        #define uchar unsigned char
        #define uint unsigned int
        #define Buf_Max 40
        uchar i;
        uchar  Rec_Buf[]={"hello! mazirong\n"};
        //********************延時函數
        void delay(uint z)
        {
         uint i,j;
         for(i=z;i>0;i--)
          for(j=110;j>0;j--);
        }
        //********************串口1初始化
        void Serial_Iint()
        {
         SCON=0x50; //[bit6:5]SM1 SM2 = 1 0;[bit4]REN=1
         AUXR=0x11; //[bit4]BRTR=1,允許獨立波特率發生器運行;[bit0]SIBRS=1,獨立波特率作為串口1的波特率發生器,此時定時器1釋放
         BRT=0XFD;   //獨特波特率發生器定時器(產生波特率9600)
         EA=1;
         ES=1;
        }
        //*******************發送一個字符
        void Send_Char(uchar a)
        {
         ES=0;
         SBUF=a;
         delay(200);
         while(!TI);  //等待TI變為1
         TI=0;   //TI清0
         ES=1;
        }
        //*******************發送一個字符串
        void Send_String(uchar *tab)
        {
         ES=0;
         while(*tab!='\0')
          {
           Send_Char(*tab++);
          }
         ES=1;
        }
        //********************主函數
        void main()
        {
         while(1)
         {
          Serial_Iint();
          delay(1000);
          Send_String(Rec_Buf);
          delay(1000);
         }
        }
        //********************串口1中斷函數
        void Serial_Int() interrupt 4
        {
         ES=0;         //關串口中斷,防止中斷的嵌套
         if(TI)        //如果是串口1發送中斷(TI)不進行處理
          {
           TI=0;  //TI清0
          }
         if(RI)   
          {
           RI=0;  //RI清0
           Rec_Buf[i]=SBUF;
           i++;
           if(i>Buf_Max)
            {
             i=0;
            }
          }
         ES=1;         //開啟串口中斷
        }
        stc12c5a.h 這個頭文件的下載地址:http://www.thefapper.com/mcu/3282.html

         

        關閉窗口
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮