亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? serial.c

?? C51書籍-例。教材附帶的視力
?? C
字號:

/*****************************************************************************/
/*       SERIAL.C:  應(yīng)用RTX-51 tiny的串行口中斷控制器     */
/*****************************************************************************/
#include <reg52.h>                    /* 8052單片機特殊功能寄存器定義 */
#include <rtx51tny.h>                 /* RTX-51 tiny 功能函數(shù)定義 */

#define  OLEN  8                      /* 定義串行口通信發(fā)送緩沖區(qū)的大小 */
unsigned char  ostart;                /* 串行口發(fā)送緩沖區(qū)起點 */
unsigned char  oend;                  /* 串行口發(fā)送緩沖區(qū)終點 */
idata    char  outbuf[OLEN];          /* 串行口發(fā)送緩沖區(qū) */
unsigned char  otask = 0xff;          /* 輸出任務(wù)的任務(wù)號 */

#define  ILEN  8                      /* 定義串行口通信接收緩沖區(qū)大小 */
unsigned char  istart;                /* 串行口接收緩沖區(qū)起點 */
unsigned char  iend;                  /* 串行口接收緩沖區(qū)終點 */
idata    char  inbuf[ILEN];           /* 串行口接收緩沖區(qū) */
unsigned char  itask = 0xff;          /* 輸入任務(wù)的任務(wù)號 */

#define   CTRL_Q  0x11                /* 定義CTRL_Q代碼 */
#define   CTRL_S  0x13                /* 定義CTRL_S代碼 */

bit   sendfull;                       /* 發(fā)送緩沖區(qū)滿標(biāo)志 */
bit   sendactive;                     /* 發(fā)送激活標(biāo)志 */
bit   sendstop;                       /* XOFF 字符標(biāo)志 */

/******************************************************************************/
/*       putbuf:  向SBUF 或發(fā)送緩沖區(qū)寫入字符函數(shù)                             */
/******************************************************************************/
putbuf (char c)  {
  if (!sendfull)  {                   /* 僅當(dāng)緩沖區(qū)未滿時發(fā)送 */
    if (!sendactive && !sendstop)  {  /* 如果發(fā)送器未處于活動態(tài):*/
      sendactive = 1;                 /* 直接發(fā)送第一個字符 */
      SBUF = c;                       /* 到SBUF,啟動發(fā)送 */
    }
    else  {                          /* 否則: */
      outbuf[oend++ & (OLEN-1)] = c;  /* 向發(fā)送緩沖區(qū)傳送字符 */
      if (((oend ^ ostart) & (OLEN-1)) == 0)  sendfull = 1;
    }                                 /* 置位緩沖區(qū)滿標(biāo)志 */
  }
}

/******************************************************************************/
/*       putchar:  中斷控制器的putchar 函數(shù)                                  */
/******************************************************************************/
char putchar (char c)  {
  if (c == '\n')  {                   /* 擴展一行新字符: */
    while (sendfull)  {               /* 等待發(fā)送緩沖區(qū)空 */
      otask = os_running_task_id ();  /* 置位輸出任務(wù)號 */
      os_wait (K_SIG, 0, 0);          /* RTX-51 調(diào)用: 等待信號 */
      otask = 0xff;                   /* 清零輸出任務(wù)號 */
    }
    putbuf (0x0D);                    /* 在換行符LF之前發(fā)送回車符CR */
  }
  while (sendfull)  {                 /* 等待發(fā)送緩沖區(qū)空 */
    otask = os_running_task_id ();    /*  置位輸出任務(wù)號 */
    os_wait (K_SIG, 0, 0);            /* RTX-51 調(diào)用: 等待信號 */
    otask = 0xff;                     /* 清零輸出任務(wù)號 */
  }
  putbuf (c);                         /* 發(fā)送字符 */
  return (c);                         /* 返回字符 */
}

/******************************************************************************/
/*       _getkey:  中斷控制器函數(shù) _getkey                                     */
/******************************************************************************/
char _getkey (void)  {
  while  (iend == istart)  {
    itask = os_running_task_id ();    /* 置位輸入任務(wù)號 */
    os_wait (K_SIG, 0, 0);            /* RTX-51 調(diào)用: 等待信號 */
    itask = 0xff;                     /* 清零輸入任務(wù)號 */
  }
  return (inbuf[istart++ & (ILEN-1)]);
}

/******************************************************************************/
/*       serial:  串行接收/發(fā)送中斷                                           */
/******************************************************************************/
serial () interrupt 4 using 2  {     /* 中斷使用工作寄存器2區(qū) */
  unsigned char c;
  bit   start_trans = 0;

  if (RI)  {                         /* 如果是接收中斷 */
    c = SBUF;                        /* 讀字符 */
    RI = 0;                          /* 清零中斷請求標(biāo)志 */
    switch (c)  {                    /* 字符處理 */
      case CTRL_S:
        sendstop = 1;                /* 如果是CTRL_S 則停止發(fā)送 */
        break;

      case CTRL_Q:
        start_trans = sendstop;      /* 如果是CTRL_Q 則開始發(fā)送 */
        sendstop = 0;
        break;

      default:                       /* 將其它字符讀入輸入緩沖區(qū) */
        if (istart + ILEN != iend)  {
          inbuf[iend++ & (ILEN-1)] = c;
        }
                                     /* 如果是任務(wù)等待:信號就緒 */
        if (itask != 0xFF) isr_send_signal (itask);
        break;
    }
  }

  if (TI || start_trans)  {          /* 如果是發(fā)送中斷 */
    TI = 0;                          /* 清零中斷請求標(biāo)志 */
    if (ostart != oend)  {           /* 如果輸入緩沖區(qū)接收到字符 */
      if (!sendstop)  {              /* 且不是CTRL_S */
        SBUF = outbuf[ostart++ & (OLEN-1)];      /* 發(fā)送字符 */
        sendfull = 0;                /* 清零sendfull 標(biāo)志 */
                                     /* 如果是任務(wù)等待:信號就緒 */
        if (otask != 0xFF)  isr_send_signal (otask);
      }
    }
    else sendactive = 0;             /* 如果全部發(fā)送完則清零sendactive */
  }

}

/******************************************************************************/
/*       serial_init: 串行口初始化                                            */
/******************************************************************************/
serial_init ()  {
  SCON  = 0x50;                      /* 串行口方式1,8位 UART, 允許接收 */
  TMOD |= 0x20;                      /* 定時器方式2,8位自動重裝 */
  TH1   = 0xf3;                      /* 2400 波特率 */
  TR1   = 1;                         /* 啟動定時器1 */
  ES    = 1;                         /* 允許串行口中斷 */
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费在线| 国产成人在线视频网址| 国产乱国产乱300精品| 一本到不卡精品视频在线观看| 久久久久国产精品麻豆ai换脸| 色狠狠桃花综合| 久久综合久久鬼色| 日韩精品三区四区| 欧美在线|欧美| 国产精品嫩草影院com| 国内精品写真在线观看| 欧洲色大大久久| 中文字幕佐山爱一区二区免费| 中文字幕日韩精品一区| 久99久精品视频免费观看| 欧美日韩精品欧美日韩精品一| 欧美日韩国产中文| 又紧又大又爽精品一区二区| 床上的激情91.| 日本一区二区三区在线不卡| 精品一区二区三区免费观看| 91精品国产综合久久蜜臀| 亚洲免费色视频| 91蜜桃在线观看| 国产精品免费久久| 99久久婷婷国产综合精品| 国产欧美日韩在线视频| 国产精品主播直播| 国产精品人成在线观看免费| 国产成人免费视频| 国产亚洲午夜高清国产拍精品| 亚洲欧美偷拍卡通变态| 国产一区二区三区精品欧美日韩一区二区三区| 在线播放视频一区| 日韩国产一二三区| 日韩精品一区二区三区四区| 免费在线观看成人| 久久精品一区二区| 国产成人亚洲综合a∨婷婷| 久久理论电影网| 成人av午夜影院| 国产精品色噜噜| 色先锋久久av资源部| 亚洲电影一级片| 欧美大白屁股肥臀xxxxxx| 韩国女主播一区| 欧美高清一级片在线观看| 一本到三区不卡视频| 午夜欧美大尺度福利影院在线看| 丰满少妇久久久久久久| 成人免费视频在线观看| 日本韩国精品在线| 亚洲综合久久久久| 日韩视频免费直播| 黄页网站大全一区二区| 国产精品欧美一区喷水| 在线区一区二视频| 麻豆一区二区在线| 中文字幕一区二区三区在线播放| 蜜桃视频免费观看一区| 亚洲精品一区二区三区精华液 | 亚洲欧洲成人自拍| caoporn国产一区二区| 亚洲综合激情小说| 久久先锋资源网| 色丁香久综合在线久综合在线观看| 精品成人在线观看| 91丨porny丨蝌蚪视频| 日韩高清不卡一区| 亚洲欧洲成人av每日更新| 91精品婷婷国产综合久久性色| 综合欧美亚洲日本| 日韩免费高清视频| 色婷婷综合久色| 国产福利一区二区三区视频在线| 日韩视频一区二区三区在线播放| 亚洲综合无码一区二区| 久久综合久久鬼色中文字| 91福利在线观看| 国产69精品久久777的优势| 亚洲国产精品久久一线不卡| 国产欧美1区2区3区| 欧美电影一区二区| 99久久伊人久久99| 国产在线视频不卡二| 亚洲第一二三四区| 中文字幕av一区二区三区| 日韩一区二区三区在线观看| 色av成人天堂桃色av| 国产成人精品免费在线| 卡一卡二国产精品 | 欧美日韩一级片网站| 成人免费毛片高清视频| 国内精品久久久久影院薰衣草 | 另类小说欧美激情| 午夜精品视频一区| 一区二区三区免费在线观看| 国产日韩欧美精品一区| 91精品国产免费久久综合| 欧美性猛交xxxx黑人交| 色婷婷亚洲精品| 一本到不卡免费一区二区| av爱爱亚洲一区| 懂色av中文一区二区三区| 国产永久精品大片wwwapp| 激情图片小说一区| 久久超碰97中文字幕| 蜜桃视频在线观看一区| 日韩不卡一二三区| 免费高清在线视频一区·| 日韩精品午夜视频| 男男视频亚洲欧美| 久久精品国内一区二区三区| 免费看欧美女人艹b| 裸体健美xxxx欧美裸体表演| 免费在线观看视频一区| 免费观看一级特黄欧美大片| 毛片不卡一区二区| 久久成人综合网| 激情伊人五月天久久综合| 国产高清在线观看免费不卡| 成人国产精品视频| 91浏览器在线视频| 欧美老年两性高潮| 日韩精品一区二区三区在线 | 国产精品性做久久久久久| 国产乱国产乱300精品| 国产尤物一区二区| jiyouzz国产精品久久| 在线视频一区二区免费| 欧美日韩极品在线观看一区| 欧美大片在线观看一区二区| 2022国产精品视频| 亚洲欧美国产77777| 亚洲一区二区三区国产| 卡一卡二国产精品| 成人av网站在线观看| 欧美日韩综合不卡| 精品国偷自产国产一区| 国产精品色哟哟网站| 亚洲成人资源网| 久久精品久久精品| av在线一区二区| 555www色欧美视频| 欧美激情中文字幕一区二区| 亚洲欧美日韩在线| 美女视频一区在线观看| 成人黄色电影在线 | 欧美日韩另类国产亚洲欧美一级| 国产在线视频一区二区| 成人激情免费网站| 欧美精品乱人伦久久久久久| 久久久久国产精品厨房| 亚洲妇熟xx妇色黄| 国产91精品精华液一区二区三区| 久久国产成人午夜av影院| 成人高清免费观看| 日韩欧美国产一区二区三区 | 成人av在线播放网址| 制服丝袜中文字幕亚洲| 中文字幕免费一区| 久久精品国产久精国产爱| 丁香天五香天堂综合| 欧美老肥妇做.爰bbww视频| 1区2区3区欧美| 国产精品夜夜嗨| 欧美一区二区大片| 亚洲午夜一区二区| 成人福利在线看| 国产午夜精品一区二区三区视频| 久久亚洲一区二区三区明星换脸| 欧美不卡一区二区| 伊人开心综合网| 成人午夜视频福利| 日韩精品一区二区三区蜜臀| 亚洲影视在线播放| 99久久精品免费观看| 国产亚洲午夜高清国产拍精品 | 精品处破学生在线二十三| 亚洲国产精品久久人人爱| 国产成人综合亚洲91猫咪| 91精品免费在线观看| 亚洲一二三四久久| 一本久道久久综合中文字幕| 国产精品三级在线观看| 国产福利一区二区三区在线视频| 99久久精品免费看国产| 中文字幕二三区不卡| 国产精品亚洲人在线观看| 欧美一级片在线看| 美女网站视频久久| 日韩一区二区三| 青青国产91久久久久久| 538在线一区二区精品国产| 五月天精品一区二区三区| 欧美日韩国产一二三| 天天影视网天天综合色在线播放 | 91首页免费视频| 综合久久一区二区三区| 色悠悠亚洲一区二区|