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

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

?? flowunit.c

?? 采用STC89C54RD實現的一個完整的流量計控制系統源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
      ReadBytes(ADDR_LEAK_AREA2, 5, gnSegBuf[1]);
	  break;
	case pnLeakCoef2:                            // 顯示第2段流量系數參數值(2008.06.20)
	  ReadBytes(ADDR_LEAK_COEF2, 5, gnSegBuf[1]);
	  break;
    case pnLeakArea3:                            // 顯示第3段流量修正的最大流量值(2008.06.20)
      ReadBytes(ADDR_LEAK_AREA3, 5, gnSegBuf[1]);
	  break;
	case pnLeakCoef3:                            // 顯示第3段流量系數參數值(2008.06.20)
	  ReadBytes(ADDR_LEAK_COEF3, 5, gnSegBuf[1]);
	  break;
    case pnLeakArea4:                            // 顯示第4段流量修正的最大流量值(2008.06.20)
      ReadBytes(ADDR_LEAK_AREA4, 5, gnSegBuf[1]);
	  break;
	case pnLeakCoef4:                            // 顯示第4段流量系數參數值(2008.06.20)
	  ReadBytes(ADDR_LEAK_COEF4, 5, gnSegBuf[1]);
	  break;
  }
  gbBufUsed = FALSE;
}

// ------------------------------------------------------------------------------------------------------
/********************************************************************************************************
** 函數名稱: Decode
** 功能描述: 將給定的一個32位無符號整型數據轉換為5個數字,并存入指定的緩沖區中。
** 輸  入: nData>>>>>>>>>>>>>>要轉換的32位無符號整型數據。
** 輸  出: nBuf[]>>>>>>>>>>>>>代表轉換后的數字序列緩沖區。
** 全局變量: 無
** 全局常量:無
** 調用模塊: 無
** 其它說明:函數將一個32位無符號整型數據轉換為5個數字(0~9),并存入指定的緩沖區中。
**
** 作  者: 羅建
** 日  期: 2007年02月12日
**-------------------------------------------------------------------------------------------------------
** 修 改 人:
** 日  期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Decode(INT32U nData, INT8U nBuf[])
{
  INT8U i,j;

  for (j=4;j>0;j--)
  {
    for (i=0;i<10;i++)
    {
      if (nData >= TAB_COEF[j])
        nData -= TAB_COEF[j];
      else
      {
        nBuf[j] = i;
        break;
      }
    }
  }
  nBuf[0] = nData;
}

// ------------------------------------------------------------------------------------------------------
/********************************************************************************************************
** 函數名稱: Encode
** 功能描述: 將給定緩沖區中的5個數字轉換為一個32位無符號整型數據。
** 輸  入: nBuf[]>>>>>>>>>>>>>代表要轉換的數字序列緩沖區。
** 輸  出: nData>>>>>>>>>>>>>>轉換后的32位無符號整型數據,以引用方式輸出。
** 全局變量: 無
** 全局常量:無
** 調用模塊: 無
** 其它說明:函數將給定緩沖區中的5個數字轉換為一個32位無符號整型數據。
**
** 作  者: 羅建
** 日  期: 2007年02月13日
**-------------------------------------------------------------------------------------------------------
** 修 改 人:
** 日  期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Encode(INT32U *nData, INT8U nBuf[])
{
  INT8U i;

  *nData = nBuf[0];
  for (i=1;i<5;i++)
  {
    if (nBuf[i] != NONE)
      *nData += nBuf[i] * TAB_COEF[i];
  }
}

// ------------------------------------------------------------------------------------------------------
/********************************************************************************************************
** 函數名稱: HideInvalidZero
** 功能描述: 消隱指定緩沖區中的個位以上的各位無效0。
** 輸  入: nBufID>>>>>>>>>>>>>代表存放1#或2#LED顯示內容的緩沖區數組索引。
** 輸  出: 無
** 全局變量: gnPressDot>>>>>>>>>代表壓力測量值小數點的位置,0表示無小數點,1表示1位小數點,以此類推;
**           gnLeakDot>>>>>>>>>>代表流量測量值小數點的位置,0表示無小數點,1表示1位小數點,以此類推;
**           gnSegBuf[][]>>>>>>>代表兩組段選緩沖區在SEG_CODE段選碼數組中的數字索引。
** 全局常量:無
** 調用模塊: 無
** 其它說明:函數搜索指定緩沖區中的無效0,并用消隱代碼替換。
**
** 作  者: 羅建
** 日  期: 2007年02月11日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日  期: 2007年03月23日
**-------------------------------------------------------------------------------------------------------
** 修 改 人:
** 日  期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void HideInvalidZero(INT8U nBufID)
{
  INT8U i,j;

  j = (nBufID == 0)? gnPressDot:gnLeakDot;       // 壓力至少顯示兩位數值,流量至少顯示三位數值
  for (i=4;i>j;i--)                              // 消隱測量值高位無效0
  {
    if (gnSegBuf[nBufID][i] == 0)
      gnSegBuf[nBufID][i] = NONE;
    else
      break;
  }
}

// ------------------------------------------------------------------------------------------------------																										
/********************************************************************************************************
** 函數名稱: GetPressBuf
** 功能描述: 將給定的整型量壓力測量值分解為萬位、千位、百位、十位和個位數字后存放到壓力顯示緩沖區中。
** 輸  入: 無
** 輸  出: 無
** 全局變量: gbWarned>>>>>>>>>>>在待機狀態,指示壓力測量值是否超出設定區間范圍,0~否,1~是;
**           gbStarted>>>>>>>>>>指示<啟動鍵>是否按下,0~未按下,1~按下;
**           gnMaxPress>>>>>>>>>代表用戶設置的壓力上限(從EEPROM中讀取的);
**           gnMinPress>>>>>>>>>代表用戶設置的壓力下限(從EEPROM中讀取的);
**           gnPress>>>>>>>>>>>>代表當前測量的壓力值,其單位為10kPa;
**           gnSegBuf[0][]>>>>>>壓力顯示緩沖區,保存轉換后的萬位、千位、百位、十位和個位壓力值數字。
** 全局常量:無
** 調用模塊: Decode()>>>>>>>>>>>將一個32位無符號整型數據轉換為5個數字(0~9),并存入指定的緩沖區中;
**           HideInvalidZero()>>消隱指定緩沖區中的個位以上的各位無效0。
** 其它說明:本函數采用關閉INT1外中斷來解決顯示與儲存的沖突。有關更詳細的說明請參見INT1_ISR中斷服務程序。
**
** 作  者: 羅建
** 日  期: 2007年02月09日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日   期: 2007年03月25日
**-------------------------------------------------------------------------------------------------------
** 修 改 人:
** 日  期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GetPressBuf(void)
{
  INT32U nPress;

  EX1 = FALSE;                                   // 為防止讀數時發生INT1外中斷導致沖突,先禁用EX1
  nPress = gnPress;                              // 讀取全局變量
  EX1 = TRUE;                                    // 恢復響應INT1外中斷
  if (!gbStarted)                                // 在待機狀態下,檢查壓力值是否超出了設定的區間范圍,超出則點亮WARN燈
  {
	if (nPress < 150)                            // 在待機狀態下,壓力顯示值等于實測值減去15kPa(這里擴大了10倍)
	  nPress = 0;
	else
	  nPress -= 150;
    if ((nPress > gnMaxPress) || (nPress < gnMinPress))
      gbWarned = TRUE;
    else
      gbWarned = FALSE;
  }
  else
  {
    if (nPress > gnPressZero)                    // 實測值大于壓力零點值,則顯示零點值,否則仍顯示實測值
	  nPress = gnPressZero;
  }
  gbBufUsed = TRUE;
  Decode(nPress, gnSegBuf[0]);                   // 將壓力測量值分解為獨立的數字表示,以便于顯示
  HideInvalidZero(0);                            // 消隱gnSegBuf[0]中的無效0
  gbBufUsed = FALSE;
}

// ------------------------------------------------------------------------------------------------------																										
/********************************************************************************************************
** 函數名稱: GetLeakBuf
** 功能描述: 將給定的雙字節流量測量值分解為萬位、千位、百位、十位和個位數字后存放到流量顯示緩沖區中。
** 輸  入: 無
** 輸  出: 無
** 全局變量: gbLeakOver>>>>>>>>>指示當前測量值是否大于50.00Ln/min;
**           gbStarted>>>>>>>>>>指示<啟動鍵>是否按下,0~未按下,1~按下;
**           gbPassed>>>>>>>>>>>在測試期間,指示流量測量值是否超出設定區間范圍,0~否,1~是;
**           gbFilling>>>>>>>>>>指示當前是否工作于充氣狀態,0~否,1~是;
**           gnMaxLeak>>>>>>>>>>代表用戶設置的流量上限(從EEPROM中讀取的);
**           gnMinLeak>>>>>>>>>>代表用戶設置的流量下限(從EEPROM中讀取的);
**           gnLeak>>>>>>>>>>>>>代表當前測量的流量值,其單位為100Ln/min;
**           gnSegBuf[1][]>>>>>>流量顯示緩沖區,保存轉換后的萬位、千位、百位、十位和個位流量值數字。
** 全局常量:FIX_CODE[6][]>>>>>>代表固定顯示的字符數組的LED段選碼在SEG_CODE數組中的索引。
** 調用模塊: Decode()>>>>>>>>>>>將一個32位無符號整型數據轉換為5個數字(0~9),并存入指定的緩沖區中;
**           HideInvalidZero()>>消隱指定緩沖區中的個位以上的各位無效0。
** 其它說明:本函數采用關閉串口中斷來解決顯示與儲存的沖突。有關更詳細的說明請參見SER_ISR中斷服務程序。
**
** 作  者: 羅建
** 日  期: 2007年02月09日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日  期: 2007年03月16日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日  期: 2007年03月23日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日   期: 2007年03月25日
**-------------------------------------------------------------------------------------------------------
** 修 改 人: 羅建
** 日   期: 2007年05月28日
**-------------------------------------------------------------------------------------------------------
** 修 改 人:
** 日  期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void GetLeakBuf(void)
{
  INT8U   i;
  INT32U  nLeak;

  if (gbLeakOver && gbStarted)                   // 如果出現流量溢出的現象,則保持直到用戶按下STOP鍵
    return;
  if (gbTestOver && gbStarted)                   // 如果檢測完成,則保持顯示直到用戶按下STOP鍵(2007.03.16)
    return;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国女主播成人在线观看| 一本大道久久a久久精二百 | 亚洲精品视频在线观看免费| 一区二区激情视频| 国产乱码精品一区二区三区五月婷| 99久久久国产精品| 精品国产凹凸成av人导航| 夜夜嗨av一区二区三区四季av | 日韩一级片网址| 综合激情成人伊人| 国产美女一区二区三区| 欧美在线看片a免费观看| 中文字幕人成不卡一区| 国产综合色视频| 日韩视频一区二区三区在线播放 | 免费亚洲电影在线| 欧美视频完全免费看| 日韩一区在线看| 国产成a人无v码亚洲福利| 日韩精品一区二区三区视频在线观看 | 岛国精品一区二区| 日韩欧美高清在线| 日日夜夜精品免费视频| 91国偷自产一区二区使用方法| 中文字幕不卡在线观看| 国产乱码一区二区三区| 久久影院视频免费| 久久精品国产99久久6| 欧美日韩国产综合一区二区三区 | 国产精品成人免费| 成人做爰69片免费看网站| 久久欧美中文字幕| 国产一区在线看| 久久夜色精品国产欧美乱极品| 免费观看一级特黄欧美大片| 欧美一级精品大片| 久久国产精品免费| 精品国产乱码91久久久久久网站| 青娱乐精品视频| 欧美精品一区二区三区久久久| 精品亚洲免费视频| 久久久91精品国产一区二区三区| 精品亚洲国内自在自线福利| 国产午夜精品久久| 成人国产精品视频| 一区二区久久久久久| 欧美日韩一级片在线观看| 奇米精品一区二区三区在线观看 | 免费成人在线播放| 日韩欧美亚洲另类制服综合在线| 热久久久久久久| www国产精品av| 福利电影一区二区三区| 亚洲欧洲三级电影| 91香蕉视频污在线| 婷婷六月综合亚洲| 久久久夜色精品亚洲| 成人一道本在线| 一级中文字幕一区二区| 日韩美一区二区三区| 国产不卡高清在线观看视频| 亚洲免费资源在线播放| 3d成人动漫网站| 国产毛片精品一区| 亚洲最大色网站| 精品乱人伦一区二区三区| 99在线热播精品免费| 亚洲第一在线综合网站| 精品国产一区二区三区av性色| 国产精品羞羞答答xxdd| 一区二区三区四区高清精品免费观看 | 成人美女视频在线观看| 樱花草国产18久久久久| 日韩三级视频在线看| 97超碰欧美中文字幕| 免费精品视频最新在线| 亚洲欧洲日韩女同| 日韩精品一区二区三区视频| 91小视频在线免费看| 日本不卡123| 日韩毛片精品高清免费| 欧美va在线播放| 欧洲精品中文字幕| 国产成人亚洲综合a∨婷婷| 亚洲观看高清完整版在线观看| 国产视频一区不卡| 欧美一区二区三区系列电影| 一本久道中文字幕精品亚洲嫩 | 亚洲综合丁香婷婷六月香| 欧美成va人片在线观看| 欧美色窝79yyyycom| 国产99久久久国产精品潘金| 日韩影院在线观看| 亚洲精选免费视频| 欧美激情中文字幕一区二区| 日韩精品最新网址| 欧美在线视频你懂得| 一本色道**综合亚洲精品蜜桃冫| 国产精品一区二区在线播放| 美女脱光内衣内裤视频久久网站 | 久久精品免费在线观看| 欧美精品1区2区| 91美女在线看| 99麻豆久久久国产精品免费| 韩国av一区二区| 毛片av一区二区| 日韩中文字幕av电影| 一区二区激情视频| 夜夜操天天操亚洲| 亚洲欧洲综合另类在线| 中文字幕亚洲在| 国产精品第五页| 亚洲欧洲精品一区二区三区不卡| 国产欧美va欧美不卡在线| 欧美成人高清电影在线| 精品国产污网站| 日韩视频免费观看高清完整版在线观看 | 国产亚洲一区二区三区在线观看 | 亚洲sss视频在线视频| 一区二区三区在线观看网站| 亚洲男人天堂av| 亚洲人成亚洲人成在线观看图片 | 久久免费看少妇高潮| 久久久久国产精品人| 久久综合999| 国产精品久久一级| 亚洲精品成a人| 五月婷婷综合激情| 蜜臂av日日欢夜夜爽一区| 日本午夜精品一区二区三区电影| 日韩高清欧美激情| 国产一区二区三区最好精华液| 国产精品一区二区在线观看网站 | 国内精品视频一区二区三区八戒| 精品一区二区免费视频| 大陆成人av片| 色婷婷综合久色| 欧美三区在线视频| 欧美一级生活片| 国产校园另类小说区| 亚洲特级片在线| 亚洲午夜电影在线| 蜜桃一区二区三区在线观看| 国产毛片精品视频| 在线日韩av片| 精品国产91亚洲一区二区三区婷婷| 久久精品视频在线免费观看| 亚洲乱码中文字幕| 日韩和欧美一区二区三区| 国模大尺度一区二区三区| 91亚洲大成网污www| 日韩一区二区视频| 国产欧美一区二区精品秋霞影院| 亚洲美女屁股眼交3| 麻豆精品国产91久久久久久| 国产91丝袜在线18| 欧美日韩视频第一区| wwwwxxxxx欧美| 亚洲一区在线观看免费观看电影高清 | 91精品国产欧美一区二区| 久久精品视频在线看| 午夜欧美大尺度福利影院在线看| 国产精华液一区二区三区| 欧美性一区二区| 国产日韩精品一区二区三区在线| 亚洲二区在线观看| 99视频超级精品| 亚洲自拍与偷拍| 国产成人自拍网| 日韩欧美中文字幕公布| 亚洲欧洲精品天堂一级| 老色鬼精品视频在线观看播放| 97久久超碰国产精品| 久久精品亚洲国产奇米99| 日本女人一区二区三区| 91九色02白丝porn| 国产精品伦一区| 国内偷窥港台综合视频在线播放| 欧美亚日韩国产aⅴ精品中极品| 国产精品毛片无遮挡高清| 精品在线播放午夜| 欧美日韩免费一区二区三区| 成人免费一区二区三区在线观看| 精品一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 国产精品国产三级国产aⅴ无密码| 理论片日本一区| 日韩亚洲欧美在线| 丝袜亚洲另类欧美| 欧美在线短视频| 一区二区三区四区五区视频在线观看| 粉嫩绯色av一区二区在线观看| 精品国产a毛片| 国产乱码精品一区二区三区五月婷| 日韩一区二区三区免费观看| 午夜久久久久久电影| 欧美日韩国产成人在线91| 亚洲一区影音先锋| 欧美午夜一区二区三区免费大片| 亚洲精品水蜜桃|