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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commrs232.lst

?? STC12C5410AD模擬串口再現多串口通訊
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V7.06   COMMRS232                                                             10/30/2008 13:20:06 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE COMMRS232
OBJECT MODULE PLACED IN CommRS232.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CommRS232.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /* -----------------------       版權聲明      ---------------------------------- 
   2            ------------------------------ 宏晶科技   2005/01/17 --------------------------
   3            --------------  Tel: 0755-82948409        Fax:0755-82944243 -------------------
   4            --------------  Mobile:13922805190  (姚永平) ---------------------------------- 
   5            ------   Website:www.mcu-memory.com    Email: support@dsp-memory.com   --------
   6            未經深圳市宏晶科技書面同意, 不得將本程序泄露、公開給第三方。
   7            不得將本程序(或修改后的程序)使用在非深圳市宏晶科技銷售的產品上。
   8            客戶產品上使用本程序時,客戶產品的源程序中必須注明使用了深圳市宏晶科技的程序,
   9            并保留如下內容:
  10           ********************************************************************************
  11            ------------------------------ 宏晶科技   2005/01/09 --------------------------
  12            --------------  Tel: 0755-82948409        Fax:0755-82944243 -------------------
  13            --------------  Mobile:13922805190  (姚永平) ---------------------------------- 
  14            ------   Website:www.mcu-memory.com    Email: support@dsp-memory.com   --------
  15           ********************************************************************************
  16          --------------------本程序客戶須認真消化,不提供技術支持---------------------- */
  17          
  18          /*************************************************************************
  19          用定時器 T0 或 T1 模擬串行口程序。
  20          最高波特率(12 clock):
  21              本程序收、發波特率相同。
  22          
  23              11.059MHz -- 最高波特率 收: 9600,  最低波特率:300   
  24              30.000MHz -- 最高波特率 收: 28800  最低波特率:300   
  25              40.000MHz -- 最高波特率 收: 38400  最低波特率:300   
  26                 ...
  27          使用說明:
  28              1. 本程序使用一個定時器和任意 2 個 I/O 口模擬一個串行口。
  29              2. 1位起始位,8位數據位,1位停止位。發數據位時先發低位。
  30              3. 支持半雙工通訊。收、發波特率相同。
  31              4. 應把定時器中斷優先級設置為最高級。
  32              5. 本程序每接收一個字節后就把它放到一個隊列緩沖區中(也可使用環行緩沖區),
  33                 待緩沖區滿后,將緩沖區中的內容原樣發回。這是為了測試多字節連續收發的
  34                 能力和簡化程序。實際應用中應防止緩沖區溢出。  
  35              6. 由接收轉換到發送時要先調用  soft_send_enable ();
  36                 由發送轉換到接收時要先調用  soft_receive_enable ()。
  37              7. 發送最后一個字節后如果要立刻轉為接收,必須等待最后一個字節后發送完畢
  38                     while ( rs_f_TI == 0)  ;  // 等待最后一個字節發送完畢
  39          **************************************************************************
  40          編程說明:
  41          ----------------
  42          發送:
  43              由接收轉換到發送時要先調用 soft_send_enable (), 它為發送做初始化的工作。
  44          以后就可以調用 rs_send_byte () 啟動發送一個字節的過程。
  45              發送口平時為高電平,rs_send_byte ()函數使發送口變為低電平開始發送起始位; 
  46          同時設置和啟動定時器,為發送數據位在預定的時刻產生定時器中斷。發送數據位和
  47          停止位都在定時器的中斷服務程序中進行。
  48              中斷服務程序中處理 4 種情況:發送數據位、發送停止位、發送完畢、處理錯誤。
  49          ----------------
  50          接收:
  51              由發送轉換到接收時要先調用 soft_receive_enable (), 它為接收做初始化的工
  52          作。定時器以 3 到 4 倍波特率的頻率產生中斷(參見 rs_TEST0 的定義)檢測 PC
  53          機發送的起始位。一旦檢測到起始位,立刻把定時器產生中斷的頻率調整到與波特率
  54          相同,準備在下一個定時器中斷中接收第 1 個數據位。
  55              中斷服務程序中處理以下情況:
C51 COMPILER V7.06   COMMRS232                                                             10/30/2008 13:20:06 PAGE 2   

  56              1. 收到的是 PC 機發送的起始位: 調整定時器產生中斷的頻率與波特率相同。
  57              2. 收到第 8 位數據位: 存儲接收到的字節。
  58              3. 收到第 1--7 位數據位: 存儲到收、發移位暫存器。
  59              4. 收到停止位: 調用 soft_receive_enable(),檢測 PC 機發出的下一個起始位。 
  60              5. 處理出錯的情況。
  61          **************************************************************************/
  62          #include"include.h"
  63          //#include <reg52.h>
  64          //sfr16 DPTR = 0x82;
  65          
  66          //定義使用哪個定時器, 只可定義一個   
  67          #define TIMER_0
  68          
  69          //定義串口收、發送管腳。  
  70          sbit rs_TXD = P2^5;             //模擬串口發
  71          sbit rs_RXD = P2^4;             //模擬串口收
  72          
  73          //sbit rs_TXD = P3^1;
  74          //sbit rs_RXD = P3^0;
  75          
  76          //根據定時器確定參數  
  77          #define TMOD_AND_WORD   0xF0;
  78          #define TMOD_TIME_MODE  0x01;
  79          #define TMOD_COUNT_MODE 0x05;          //設置計數模式位  
  80          sbit    TCON_ENABLE_TIMER = TCON^4;
  81          sbit    TCON_TFx = TCON^5;             //中斷標志位  
  82          sbit    IE_ETx   = IE^1;               //中斷允許位為 ET0  
  83          sbit    IP_PTx   = IP^1;               //中斷優先級   
  84          
  85          uint8   bdata rs_BUF;                  //串行收、發時用的移位暫存器。   
  86          sbit    rs_BUF_bit7 = rs_BUF^7;        //移位暫存器的最高位。 
  87          uint8   rs_shift_count;                //移位計數器。  
  88          
  89          uint8   bdata rsFlags;
  90          sbit    rs_f_TI         = rsFlags^0;   //0:正在發送; 1: 一個字符完畢  
  91          sbit    rs_f_RI_enable  = rsFlags^1;   //0:禁止接收; 1:允許接收  
  92          sbit    rs_f_TI_enable  = rsFlags^2;   //0:禁止發送; 1:允許發送  
  93          
  94          //選擇以下一個晶體頻率
  95          #define Fosc 11059200                  //11.059MHz 
  96          
  97          //選擇以下一個波特率:                        
  98          #define Baud 9600                          //11.059MHz時,baud 最低為 300
  99          
 100          //收、發一位所需定時器計數   
 101          #define rs_FULL_BIT0 ((Fosc/12) / Baud)
 102          #define rs_FULL_BIT  (65536 - rs_FULL_BIT0)
 103          #define rs_FULL_BIT_H  rs_FULL_BIT >> 8       //收、發一位所需定時器計數高位   
 104          #define rs_FULL_BIT_L (rs_FULL_BIT & 0x00FF)  //收、發一位所需定時器計數低位   
 105          
 106          //檢測起始位的時間間隔所需定時器計數    
 107          #define rs_TEST0 rs_FULL_BIT0 / 4             //波特率較低時可以除以 3 或除以 2    
 108          #define rs_TEST ((~rs_TEST0))
 109          #define rs_TEST_H rs_TEST >> 8                //高位  
 110          #define rs_TEST_L rs_TEST & 0x00FF            //低位  
 111          
 112          //發送起始位所需定時器總計數   
 113          #define rs_START_BIT 0xFFFF - (Fosc/12/Baud) + 0x28
 114          #define rs_START_BIT_H rs_START_BIT >> 8      //發送起始位所需定時器計數高位    
 115          #define rs_START_BIT_L rs_START_BIT & 0x00FF  //發送起始位所需定時器計數低位   
 116          
 117          #define rs_RECEIVE_MAX   30                   //最大接收長度  
C51 COMPILER V7.06   COMMRS232                                                             10/30/2008 13:20:06 PAGE 3   

 118          uint8   xdata rs232buffer[rs_RECEIVE_MAX];    //收、發緩沖區
 119          uint16  ReceivePoint;                         //接收數據存儲指針  
 120          
 121          void soft_rs232_interrupt( void );
 122          /********************************************************************************************************
 123          ** 函數名稱: void timer0 (void) interrupt 1 using 3
 124          ** 功能描述: 
 125          ** 輸   入: 無
 126          ** 輸   出: 無
 127          ** 全局變量: 
 128          ** 調用模塊: 
 129          **
 130          ** 作   者: 
 131          ** 日   期: 
 132          **-------------------------------------------------------------------------------------------------------
 133          ** 修 改 人: 李偉
 134          ** 日   期: 2008年12月09日
 135          **-------------------------------------------------------------------------------------------------------
 136          ********************************************************************************************************/
 137          void timer0 (void) interrupt 1 using 3
 138          {
 139   1          if (rs_RXD == 0 | rs_shift_count > 0)
 140   1          { 
 141   2                      soft_rs232_interrupt(); 
 142   2              }
 143   1          else
 144   1          {
 145   2              rs_timerH = rs_TEST_H;
 146   2              rs_timerL = rs_TEST_L;
 147   2          }
 148   1      }
 149          
 150          /********************************************************************************************************
 151          ** 函數名稱: void soft_rs232_init (void)            //串口初始化
 152          ** 功能描述: 
 153          ** 輸   入: 無
 154          ** 輸   出: 無
 155          ** 全局變量: 
 156          ** 調用模塊: 
 157          **
 158          ** 作   者: 
 159          ** 日   期: 
 160          **-------------------------------------------------------------------------------------------------------
 161          ** 修 改 人: 李偉
 162          ** 日   期: 2008年12月09日
 163          **-------------------------------------------------------------------------------------------------------
 164          ********************************************************************************************************/
 165          
 166          void soft_rs232_init (void)            //串口初始化  
 167          {
 168   1          TCON_ENABLE_TIMER = 0;             //停止定時器 
 169   1              //PCON &= 0x7F;
 170   1              PCON |= 0x80; 
 171   1          TMOD &= TMOD_AND_WORD;
 172   1          TMOD |= TMOD_TIME_MODE;
 173   1          rs_RXD = 1;                        //接收腳置成高電平  
 174   1          rs_TXD = 1;                        //發射腳置成高電平  
 175   1          IP_PTx = 1;                        //置中斷優先級為高  
 176   1          IE_ETx = 1;                        //允許定時器中斷    
 177   1      }
 178          /********************************************************************************************************
 179          ** 函數名稱: void soft_receive_init()               //監測起始位 
C51 COMPILER V7.06   COMMRS232                                                             10/30/2008 13:20:06 PAGE 4   

 180          ** 功能描述: 
 181          ** 輸   入: 無
 182          ** 輸   出: 無
 183          ** 全局變量: 
 184          ** 調用模塊: 
 185          **
 186          ** 作   者: 
 187          ** 日   期: 
 188          **-------------------------------------------------------------------------------------------------------
 189          ** 修 改 人: 李偉
 190          ** 日   期: 2008年12月09日
 191          **-------------------------------------------------------------------------------------------------------
 192          ********************************************************************************************************/
 193          void soft_receive_init()               //監測起始位  
 194          {
 195   1          TCON_ENABLE_TIMER = 0;             //停止定時器  
 196   1          rs_timerH = rs_TEST_H;
 197   1          rs_timerL = rs_TEST_L;
 198   1          rs_shift_count = 0;
 199   1          TCON_ENABLE_TIMER = 1;             //啟動定時器  
 200   1      }
 201          /********************************************************************************************************
 202          ** 函數名稱: void soft_receive_enable()             //允許接收 
 203          ** 功能描述: 
 204          ** 輸   入: 無
 205          ** 輸   出: 無
 206          ** 全局變量: 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区麻豆国产| 日本欧美一区二区| 老鸭窝一区二区久久精品| 欧美不卡在线视频| 欧美三级午夜理伦三级中视频| 精品久久人人做人人爽| 亚洲理论在线观看| 国产精品中文欧美| 欧美妇女性影城| 亚洲品质自拍视频| 国产在线日韩欧美| 91.成人天堂一区| 亚洲日本丝袜连裤袜办公室| 国产在线精品不卡| 91精品国产欧美一区二区18| 亚洲女子a中天字幕| 国产成人午夜片在线观看高清观看| 欧美三级中文字幕| 亚洲男人的天堂av| 成人网男人的天堂| 久久久久九九视频| 日韩在线观看一区二区| 日本道色综合久久| 国产精品传媒在线| 成人综合婷婷国产精品久久蜜臀| 日韩网站在线看片你懂的| 午夜精品123| 色婷婷av一区二区三区软件| 国产精品久久久久久久久久免费看| 精品系列免费在线观看| 日韩欧美视频一区| 日韩成人一级片| 欧美精品v日韩精品v韩国精品v| 亚洲欧美另类久久久精品2019| 波多野结衣中文字幕一区二区三区| 久久美女艺术照精彩视频福利播放| 青娱乐精品视频| 欧美精品123区| 视频一区二区欧美| 欧美日韩中字一区| 亚洲va欧美va人人爽午夜| 在线视频国内自拍亚洲视频| 亚洲人123区| 色av一区二区| 夜夜爽夜夜爽精品视频| 91福利在线看| 亚洲一区二区三区国产| 在线国产电影不卡| 亚洲综合在线免费观看| 欧洲一区在线电影| 香蕉影视欧美成人| 欧美精品tushy高清| 青青青爽久久午夜综合久久午夜| 制服丝袜日韩国产| 久久国产精品区| 精品国产一区二区三区久久久蜜月 | 欧美片网站yy| 日韩黄色小视频| 欧美一区二区三区视频| 麻豆国产精品视频| 久久视频一区二区| 国产99一区视频免费| 国产精品乱码久久久久久| 99精品久久99久久久久| 中文字幕永久在线不卡| 91福利区一区二区三区| 亚洲成人精品一区| 日韩三级在线观看| 国产乱码精品一区二区三区忘忧草| 国产三级精品三级在线专区| av不卡免费在线观看| 亚洲综合视频在线观看| 欧美电影影音先锋| 国产一区91精品张津瑜| **欧美大码日韩| 欧美日韩在线播放三区四区| 日本视频一区二区三区| 久久久精品黄色| 色综合天天综合| 午夜精品国产更新| 久久久久久亚洲综合影院红桃| av不卡免费电影| 石原莉奈一区二区三区在线观看| 日韩欧美一区二区久久婷婷| 国产99久久久国产精品免费看| 亚洲免费av网站| 欧美一级理论性理论a| 丰满白嫩尤物一区二区| 亚洲永久免费视频| 欧美精品一区二区三区蜜臀| 成人免费视频一区| 亚洲h在线观看| 久久精品在线观看| 欧美在线综合视频| 国产一区二区三区在线看麻豆| 亚洲天堂av一区| 欧美一卡2卡三卡4卡5免费| 成人午夜视频在线| 午夜精品福利一区二区蜜股av| 久久亚洲精品小早川怜子| 91麻豆福利精品推荐| 蜜臀久久久久久久| 亚洲色图欧洲色图| 欧美成人福利视频| 91福利国产精品| 国产大片一区二区| 日日摸夜夜添夜夜添精品视频| 欧美国产激情二区三区| 欧美高清激情brazzers| 91在线免费视频观看| 韩国三级在线一区| 亚洲国产精品天堂| 国产精品美女久久久久久| 欧美一级二级三级蜜桃| 色先锋aa成人| 国产成人免费网站| 日本最新不卡在线| 亚洲精品乱码久久久久久 | 91蜜桃婷婷狠狠久久综合9色| 蜜桃视频在线一区| 一区二区三区免费网站| 国产欧美日韩精品一区| 在线播放欧美女士性生活| 91网站在线播放| 国产精品影视在线观看| 日韩av不卡在线观看| 一级特黄大欧美久久久| 国产精品视频看| 精品少妇一区二区三区日产乱码| 欧美色综合影院| 99精品偷自拍| 国产精品77777竹菊影视小说| 首页国产欧美日韩丝袜| 亚洲免费av高清| 中文字幕亚洲区| 久久精品亚洲精品国产欧美| 日韩一本二本av| 欧美日韩精品系列| 在线观看av不卡| 99久久er热在这里只有精品15 | 亚洲成人av一区| 亚洲欧美激情视频在线观看一区二区三区| 亚洲精品一区二区三区99| 91精品综合久久久久久| 欧美色图一区二区三区| 一本久久精品一区二区| 99精品一区二区三区| av中文字幕不卡| 成人精品鲁一区一区二区| 国产毛片精品视频| 九色综合狠狠综合久久| 另类小说色综合网站| 日韩av电影一区| 免费高清成人在线| 日本欧美在线看| 日本成人在线网站| 蜜臀国产一区二区三区在线播放 | 国产精品污网站| 欧美国产日本视频| 国产欧美一区二区精品秋霞影院| 26uuu色噜噜精品一区二区| 日韩精品最新网址| 日韩女优av电影| 亚洲精品一区二区三区99 | 色美美综合视频| 色综合天天综合| 欧美性一二三区| 欧美日韩一区不卡| 欧美日韩一区二区三区四区| 欧美日韩大陆在线| 91精品国产综合久久久蜜臀粉嫩| 欧美精品欧美精品系列| 日韩视频永久免费| 久久综合99re88久久爱| 久久久av毛片精品| 国产精品女同一区二区三区| 中文字幕一区二区三区不卡| 中文字幕一区二区三区不卡 | 国产亚洲1区2区3区| 国产欧美日韩卡一| 亚洲丝袜制服诱惑| 亚洲综合色丁香婷婷六月图片| 亚洲一级在线观看| 日韩国产精品大片| 国产在线精品一区在线观看麻豆| 国内不卡的二区三区中文字幕| 国产精品18久久久| 91丨porny丨户外露出| 欧美亚洲丝袜传媒另类| 欧美乱妇23p| 精品国产乱码久久久久久闺蜜| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美韩国日本不卡| 亚洲黄色录像片| 三级欧美韩日大片在线看| 激情深爱一区二区| 大胆亚洲人体视频| 在线观看中文字幕不卡| 日韩三级精品电影久久久| 国产亚洲精品aa|