乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      單片機(jī)技術(shù)C51串口輸出輸入函數(shù)

       liukai007 2009-07-14

      單片機(jī)技術(shù)C51串口輸出輸入函數(shù)

      [日期:2009-06-30] 來(lái)源:中嵌信息  作者:chinaeda-news [字體: ]
      *----------------------------------------
      ComFun.c
      C51串口輸出輸入函數(shù)

      外部聲明 ComFun.h
      Copyright 2003 http://www.
      All rights reserved.
      明浩 E-mail: pnzwzw@
      ----------------------------------------*/
      #include <reg51.h>

      //串口初始化 晶振為11.0592M 方式1 波特率300-57600
      void InitCom(unsigned char BaudRate)
      {
      unsigned char THTL;
      switch (BaudRate)
      {
      case 1: THTL = 64; break; //波特率300
      case 2: THTL = 160; break; //600
      case 3: THTL = 208; break; //1200
      case 4: THTL = 232; break; //2400
      case 5: THTL = 244; break; //4800
      case 6: THTL = 250; break; //9600
      case 7: THTL = 253; break; //19200
      case 8: THTL = 255; break; //57600
      default: THTL = 208;
      }
      SCON = 0x50; //串口方式1,允許接收
      TMOD = 0x20; //定時(shí)器1定時(shí)方式2
      TCON = 0x40; //設(shè)定時(shí)器1開(kāi)始計(jì)數(shù)
      TH1 = THTL;
      TL1 = THTL;
      PCON = 0x80; //波特率加倍控制,SMOD位
      RI = 0; //清收發(fā)標(biāo)志
      TI = 0;
      TR1 = 1; //啟動(dòng)定時(shí)器
      }

      //向串口輸出一個(gè)字符(非中斷方式)
      void ComOutChar(unsigned char OutData)
      {
      SBUF = OutData; //輸出字符
      while(!TI); //空語(yǔ)句判斷字符是否發(fā)完
      TI = 0; //清TI
      }

      //向串口輸出一個(gè)回車換行
      void ComOutEnter(void)
      {
      SBUF = 0x00;
      while(!TI);
      TI = 0;
      SBUF = 0x0A;
      while(!TI);
      TI = 0;
      }

      //向串口輸出一個(gè)字符串(非中斷方式)
      void ComOutStr(unsigned char *Str)
      {
      while(*Str != 0x00) //判斷是否到了字符串的尾部
      {
      SBUF = *Str; //輸出字符
      while(!TI); //空語(yǔ)句判斷字符是否發(fā)完
      TI = 0; //清TI
      Str++; //字符串指針加一
      }
      }

      //從串口接收一個(gè)字符(非中斷方式)
      unsigned char ComInChar()
      {
      unsigned char InData;
      while(!RI); //空語(yǔ)句判斷字符是否收完
      InData = SBUF; //保存COM緩沖字符
      RI = 0; //清RI
      return (InData); //返回收到的字符
      }

      //從串口接收一個(gè)定長(zhǎng)字符串(非中斷方式,只用于字符需有一個(gè)的idata字符串?dāng)?shù)組)
      //如unsigned char *Str;
      //unsigned char i[]="abcd";
      //InHandStr = &i;
      void ComInStr(unsigned char *Str)
      {
      while(*Str != 0x00) //判斷是否到了字符串的尾部
      {
      while(!RI); //空語(yǔ)句判斷字符是否收完
      *Str = SBUF; //保存字符
      RI = 0; //清RI
      Str++; //字符串指針加一
      }
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多