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

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

?? flowunit.c

?? 采用STC89C54RD實現的一個完整的流量計控制系統源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/********************************************************************************************************
**				                               RIDen A50 流量計
**
**                                          版權所有 (c) 2007,羅建
**                                               保留所有權利
**
**                                                  V1.05
**
**
**-------------------------------------------------文件信息----------------------------------------------
**文   件   名: FlowUnit.C
**創   建   人: 羅建
**最后修改日期: 2008年06月20日
**描        述: RIDen A50流量計源程序。
**其        它:MCU采用STC89C54RD+,外部晶振為11.0592MHz,內部2倍頻。用戶配置數據存儲在MCU片內的EEPROM中,
**              用ISP/IAP方式存取。
**
**-----------------------------------------------歷史版本信息--------------------------------------------
** 創建人: 羅建
** 版  本: V1.00
** 日 期: 2007年02月08日
** 描 述: 原始版本
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.01
** 日 期: 2007年03月14日
** 描 述: 在前一版本基礎上取消了PrEAd、t-Add、t-Sub、rES和StAtE共5個調整參數。
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.02
** 日 期: 2007年03月16日
** 描 述: 在上一版本基礎上增加和修改了如下幾項功能:
**         1)增加了在儀表上電時顯示3秒LOGO標志RIDEN A50的功能;
**         2)增加了在檢測完成后保持檢測前最后一次顯示直到用戶按下STOP鍵的功能。
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.03
** 日 期: 2007年03月23日
** 描 述: 在上一版本基礎上作了如下修改:
**         1)增加了流量系數參數,允許用戶設置不同的流量系數(取值范圍為0.00~100.00);
**         2)為了使新增加的流量系數更有意義,取消了默認的最大50Ln/min的流量報警限制;
**         3)由于流量系數的取值范圍為0.00~100.00,因此在參數修改時,不再限制流量最大值為50,而是允許用戶
**         隨意修改。
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.04
** 日 期: 2007年03月25日
** 描 述: 在上一版本基礎上作了如下修改:
**         LED動態掃描由指令延時改為了定時方式延時,CPU利用率更高了,現在每個LED的掃描時間為2ms,其它間隔
**         時間不變。
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.05
** 日 期: 2007年05月28日
** 描 述: 在上一版本基礎上作了如下修改:
**         考慮到在充氣階段打開電磁閥可能會造成流量沖擊,因而在充氣階段不檢測流量超限狀態。本次修改僅在函
**         數GetLeakBuf()中增加了對充氣階段的判斷,其余未作變化。
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版  本: V1.06
** 日 期: 2008年06月20日
** 描 述: 在上一版本基礎上作了如下修改:
**         為了方便流量計在整個流量測量范圍內都能與客戶的測量要求相吻合(客戶要求使用工廠專用的標準閥進行
**         檢測),將原來一個流量系數改為了四個流量系數,每個流量系數及其流量段都可單獨設置。
**

**-----------------------------------------------當前版本修訂--------------------------------------------
** 修改人: 羅建
** 日 期: 2008年06月20日
** 描 述: 
**
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include <AT89X52.H>
#include <Intrins.h>
#include <String.h>
#include "FlowUnit.h"
#include "STC89C54RD_FlashIAP.h"

/* 定義位變量 */
bit       gbBufUsed;
bit       gbLogo;                                /* 儀表在上電時,該標志為TRUE,指示當前正在顯示LOGO標志 */
bit       gbPassed;                              /* 在測試期間,指示流量測量值是否超出設定區間范圍,0~否,1~是 */
bit       gbWarned;                              /* 在待機狀態,指示壓力測量值是否超出設定區間范圍,0~否,1~是 */
bit       gbTimeOver;                            /* 指示規定的定時間隔時間時否到,0~未到,1~已到 */
bit       gbLeakOver;                            /* 指示當前測量值是否大于50.00Ln/min */
bit       gbTestOver;                            /* 指示當前是否已完成或退出了檢測狀態,0~非檢測狀態或檢測過程未結束,1~檢測完成(但未退出檢測進程) */
bit       gbDispOver;                            /* 指示當前流量測量值是否大于999.99,0~不是,1~是 */
bit       gbSyncOneOK;                           /* 指示串口數據幀的第一個同步字節是否接收完畢,0~未收到,1~收到 */
bit       gbSyncTwoOK;                           /* 指示串口數據幀的第二個同步字節是否接收完畢,0~未收到,1~收到 */
bit       gbParamSel;                            /* 指示當前是否工作在參數選擇狀態,0~不是,1~是 */
bit       gbParamSet;                            /* 指示當前是否工作在參數修改狀態,0~不是,1~是 */
bit       gbStarted;                             /* 指示<啟動鍵>是否按下,0~未按下,1~按下 */
bit       gbFilling;                             /* 指示當前是否工作于充氣狀態,0~否,1~是 */
bit       gbTesting;                             /* 指示當前是否工作于測試狀態,0~否,1~是 */
bit       gbCanFlash;                            /* 指示當前是否要執行閃爍操作(實際是消隱),0~不執行,1~執行 */
bit       gbCanGetKey;                           /* 指示當前是否可以檢測按鍵,0~否,1~是 */

/* 定義字節變量 */
INT8U     data  gnTimeCnt;
INT8U     data  gnLedID;
INT8U     data  gnPressDot;                      /* 為了便于今后小數點擴展,保留了當前這個變量,0表示沒有小數點,1表示有一位小數點,以此類推 */
INT8U     data  gnLeakDot;                       /* 為了便于今后小數點擴展,保留了當前這個變量,0表示沒有小數點,1表示有一位小數點,以此類推 */
INT8U     data  gnKeyID;                         /* 存放用戶按鍵的鍵值,取值范圍:0~8,0表示無按鍵 */
INT8U     data  gnRxdID;                         /* 串口接收緩沖區數組索引 */
INT8U     data  gnParamID;                       /* 代表當前用戶選擇的參數在參數組中的序號,取值0~PARAMS_NUMS-1 */
INT8U     data  gnCursorID;                      /* 代表當前光標位置,由左移鍵和右移鍵進行控制,取值0~4 */
INT8U     data  gnFlashCnt;                      /* 代表當前光標閃爍的頻率,實際頻率=1/(gnFlashCnt*0.01*2)Hz */
INT8U     data  gnT0OverCnt;                     /* 代表T0中斷溢出的次數 */
INT8U     data  gnGetKeyCnt;                     /* 用于按鍵檢測間隔期間的倒計數,其值為0時允許再一次檢測按鍵,以防止連續快速按鍵 */
INT8U     data  gnRxdBuf[2];                     /* 代表串口接收緩沖區數組,高字節在前 */
INT8U     idata  gnSegBuf[2][5];                  /* 代表兩組段選緩沖區在SEG_CODE段選碼數組中的數字索引 */
INT8U     idata  gnDisBuf[2][5];

/* 定義字變量 */
INT16U    idata  gnLogoCnt;                       /* 代表LOGO信息顯示時間對應的系統定時間隔次數,默認為200,代表2秒 */

/* 定義32位字變量 */
INT32U    data  gnFillTime;                      /* 代表用戶設置的充氣時間(從EEPROM中讀取的) */
INT32U    data  gnTestTime;                      /* 代表用戶設置的測試時間(從EEPROM中讀取的) */
INT32U    data  gnCurrTime;                      /* 代表當前測試流程中正在使用的時間(充氣或測試時間) */
INT32U    data  gnMaxPress;                      /* 代表用戶設置的壓力上限(從EEPROM中讀取的) */
INT32U    data  gnMinPress;                      /* 代表用戶設置的壓力下限(從EEPROM中讀取的) */
INT32U    data  gnPress;                         /* 代表當前測量的壓力值,其單位為10kPa */
INT32U    data  gnPressZero;                     /* 代表測試前壓力零點偏移值,用于壓力零點值修正 */
INT32U    data  gnMaxLeak;                       /* 代表用戶設置的流量上限(從EEPROM中讀取的) */
INT32U    data  gnMinLeak;                       /* 代表用戶設置的流量下限(從EEPROM中讀取的) */
INT32U    data  gnLeak;                          /* 代表當前測量的流量值,其單位為100Ln/min */
INT32U    data  gnLeakZero;                      /* 代表測試前流量零點偏移值,用于流量零點值修正 */
INT32U    idata gnLeakArea[4];                   /* 代表要進行流量分段線性修正的各段流量最大值(V1.06) */
INT32U    idata gnLeakCoef[4];                   /* 代表流量顯示值與實測值的比例系數(V1.06) */
// ------------------------------------------------------------------------------------------------------
/********************************************************************************************************
** 關于LED編碼的說明
**
** U1(STC89C54RD+)的Q1..Q6經驅動放大后分別對應于LED1..LED6,高電平有效。
** U8和U9(74HC595)的QA..QH分別對應于LED的a..h,低電平有效。
**  	 _a_
**     f|   |b
**	    |_g_|
**     e|   |c
**	    |_ _| .h
**        d
----------------------------------------------------------------------------------
** 字形	    段(共陽)						編碼					ID		HEX_ID
**  		h	g	f	e	d	c	b	a	無小數點	有小數點
** 0		1	1	0	0	0	0	0	0	0xC0		0x40		0		0x00
** 1		1	1	1	1	1	0	0	1	0xF9		0x79		1		0x01
** 2		1	0	1	0	0	1	0	0	0xA4		0x24		2		0x02
** 3		1	0	1	1	0	0	0	0	0xB0		0x30		3		0x03
** 4		1	0	0	1	1	0	0	1	0x99		0x19		4		0x04
** 5		1	0	0	1	0	0	1	0	0x92		0x12		5		0x05
** 6		1	0	0	0	0	0	1	0	0x82		0x02		6		0x06
** 7		1	1	1	1	1	0	0	0	0xF8		0x78		7		0x07
** 8		1	0	0	0	0	0	0	0	0x80		0x00		8		0x08
** 9		1	0	0	1	0	0	0	0	0x90		0x10		9		0x09
** A		1	0	0	0	1	0	0	0	0x88		0x08		10		0x0A
** b		1	0	0	0	0	0	1	1	0x83		0x03		11		0x0B
** C		1	1	0	0	0	1	1	0	0xC6		0x46		12		0x0C
** d		1	0	1	0	0	0	0	1	0xA1		0x21		13		0x0D
** E		1	0	0	0	0	1	1	0	0x86		0x06		14		0x0E
** F		1	0	0	0	1	1	1	0	0x8E		0x0E		15		0x0F
** 無		1	1	1	1	1	1	1	1	0xFF		0x7F		16		0x10
** H		1	0	0	0	1	0	0	1	0x89		0x09		17		0x11
** h		1	0	0	0	1	0	1	1	0x8B		0x0B		18		0x12
** I        1   1   0   0   1   1   1   1   0xCF        0x4F        19		0x13
** L		1	1	0	0	0	1	1	1	0xC7		0x47		20		0x14
** n		1	0	1	0	1	0	1	1	0xAB		0x2B		21		0x15
** o		1	0	1	0	0	0	1	1	0xA3		0x23		22		0x16
** P		1	0	0	0	1	1	0	0	0x8C		0x0C		23		0x17
** q		1	0	0	1	1	0	0	0	0x98		0x18		24		0x18
** r		1	0	1	0	1	1	1	1	0xAF		0x2F		25		0x19
** S		1	0	0	1	0	0	1	0	0x92		0x12		26		0x1A
** t		1	0	0	0	0	1	1	1	0x87		0x07		27		0x1B
** u		1	1	1	0	0	0	1	1	0xE3		0x63		28		0x1C
** y		1	0	0	1	0	0	0	1	0x91		0x11		29		0x1D
** -		1	0	1	1	1	1	1	1	0xBF		0x3F		30		0x1E
** a亮      1   1   1   1   1   1   1   0	0xFE		0x7E		31		0x1F
** b亮      1   1   1   1   1   1   0   1	0xFD		0x7D		32		0x20
** c亮      1   1   1   1   1   0   1   1	0xFB		0x7B		33		0x21
** ab亮     1   1   1   1   1   1   0   0	0xFC		0x7C		34		0x22
** ac亮     1   1   1   1   1   0   1   0	0xFA		0x7A		35		0x23
** bc亮     1   1   1   1   1   0   0   1	0xF9		0x79		36		0x24
** abc亮    1   1   1   1   1   0   0   0	0xF8        0x78        37      0x25
**
*********************************************************************************************************
** 關于面板的布局
** 面板的布局情況如下:
**  -----------------------------------------------------------------
** | FLOW tester     RIDEN A50									     |
** | --------------------------------                                |
** |                                                                 |
** |      TEST Pressure(1#-LED)            Leak Quantity(2#-LED)	 |
** |  ____  ____  ____  ____  ____     ____  ____  ____  ____  ____  |
** | |    ||    ||    ||    ||    |   |    ||    ||    ||    ||    | |
** | |____||____||____||____||____|   |____||____||____||____||____| |
** | |    ||    ||    ||    ||    |   |    ||    ||    ||    ||    | |
** | |____||____||____||____||____|   |____||____||____||____||____| |
** |                                                         ______  |
** |                ____    ________        ____            |      | |
** | PASS(3#-LED)  |■■|  |Function|      |_Up_|           |START | |
** |               ˉˉˉ   ˉˉˉˉ                        |______| |
** |				____	  		______         _____             |
** | FAIL(4#-LED)  |■■|          | Left |       |Right|    		 |
** |               ˉˉˉ          ˉˉˉˉ        ˉˉˉ    ______  |
** |                ____    _______        ____             |      | |
** | WARN(5#-LED)  |■■|  |  SET  |      |Down|            | STOP | |
** |               ˉˉˉ  ˉˉˉˉ       ˉˉˉ            |______| |
** |                                                                 |
**  -----------------------------------------------------------------
**
** 工作狀態如下:
** (1)待機狀態:儀表上電復位后的自然狀態,或從其它狀態返回的系統默認狀態,此時,1#LED顯示壓力測量值,2#
**                LED顯示流量測量值,5#LED指示壓力測量值是否越限。
** (2)參數選擇:用戶按下Function鍵后的狀態,此時,1#LED顯示參數的符號名稱,2#LED顯示參數的值。
** (3)參數修改:用戶按下Function鍵和SET鍵后的狀態,此時,1#LED顯示參數的符號名稱,2#LED顯示參數的值,且
**                修改位閃爍。
** (4)充氣狀態:用戶按下START鍵后的狀態,此時,1#LED顯示壓力測量值,2#LED顯示流量測量值,系統記下當前流
**                量測量值作為零點修正值,同時打開電磁閥。
** (5)測試狀態:充氣時間結束后所進入的狀態,此時,1#LED顯示壓力測量值,2#LED顯示流量測量值,3#和4#LED指
**                示流量測量值是否越限。
** (6)檢測狀態:由于測試狀態是系統自動進入的狀態,為了注釋方便,有時也將充氣狀態和測試狀態合稱檢測狀態。
**
** 按鍵功能如下:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区小说| 欧美午夜一区二区三区免费大片| 亚洲成人自拍网| 亚洲卡通动漫在线| 一区二区在线免费| 欧美无人高清视频在线观看| 在线亚洲精品福利网址导航| 色噜噜狠狠成人中文综合 | 7777精品伊人久久久大香线蕉最新版 | 91久久国产综合久久| 99r国产精品| 欧美优质美女网站| 制服丝袜亚洲网站| 欧美va亚洲va在线观看蝴蝶网| 精品va天堂亚洲国产| 国产欧美一区二区精品忘忧草| 欧美激情在线看| 亚洲精品国产一区二区三区四区在线 | av电影一区二区| 色呦呦一区二区三区| 欧美人妖巨大在线| 久久综合久久综合久久综合| 国产精品久久久久久久久搜平片| 亚洲精品ww久久久久久p站 | 久久久99精品免费观看| 中文字幕在线免费不卡| 五月激情综合色| 国产在线一区观看| 在线精品亚洲一区二区不卡| 日韩一区二区三区在线观看 | 午夜视频在线观看一区二区| 激情文学综合丁香| 欧美综合一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 国产精品国产三级国产有无不卡 | 91精品国产色综合久久| 日本一区二区三区久久久久久久久不| 一区二区三区在线视频播放| 热久久国产精品| 一本到三区不卡视频| 日韩欧美二区三区| 亚洲欧洲精品天堂一级| 精品在线观看免费| 欧美色图12p| 成人免费视频在线观看| 久久99精品国产91久久来源| 欧美日韩在线不卡| 国产精品色一区二区三区| 人人狠狠综合久久亚洲| 色又黄又爽网站www久久| 久久综合999| 美女视频黄 久久| 精品视频在线免费| 亚洲激情图片一区| 成人精品一区二区三区四区 | 91精品国产综合久久福利软件| 中文字幕av一区二区三区高| 久久精品99国产精品| 欧美日韩在线观看一区二区| 亚洲美女区一区| av电影在线不卡| 国产精品美女久久久久aⅴ| 精品在线播放午夜| 2023国产精品自拍| 久久国产精品一区二区| 日韩美女一区二区三区四区| 美女在线一区二区| 欧美美女一区二区| 午夜精品福利一区二区三区av| 色综合激情五月| 亚洲欧美一区二区久久 | 91精选在线观看| 午夜伦欧美伦电影理论片| 欧美日韩精品欧美日韩精品一 | 成人avav影音| 综合精品久久久| 色婷婷久久综合| 亚洲六月丁香色婷婷综合久久| www.日本不卡| 亚洲老妇xxxxxx| 欧美色图片你懂的| 青青草97国产精品免费观看无弹窗版| 欧美日韩一区二区三区视频| 午夜亚洲福利老司机| 91精品国产91久久综合桃花| 免费国产亚洲视频| 国产婷婷一区二区| 成人免费视频网站在线观看| 亚洲精品国久久99热| 欧美日韩国产一区| 美国十次综合导航| 国产精品天美传媒| 欧美影院一区二区三区| 日本美女一区二区三区视频| 久久蜜桃香蕉精品一区二区三区| 成人免费视频网站在线观看| 亚洲欧美日韩国产手机在线| 欧美日韩国产另类不卡| 免费人成在线不卡| 国产精品久久综合| 在线播放/欧美激情| 国产精品自在在线| 一区二区三区不卡视频在线观看| 69久久夜色精品国产69蝌蚪网| 国内不卡的二区三区中文字幕| 亚洲视频一二三| 日韩一区和二区| 91视频你懂的| 久久99国内精品| 亚洲欧洲www| 日韩欧美另类在线| 色综合欧美在线| 激情六月婷婷综合| 夜夜精品浪潮av一区二区三区| 欧美成人精品高清在线播放| 99r国产精品| 国产精品夜夜嗨| 婷婷综合在线观看| 亚洲图片另类小说| 国产偷v国产偷v亚洲高清| 欧美精品乱码久久久久久| jlzzjlzz亚洲女人18| 狠狠色丁香婷婷综合| 五月天亚洲婷婷| 一区二区三区国产精华| 亚洲国产精品成人综合色在线婷婷| 欧美日韩免费视频| av一区二区三区四区| 精品一区二区三区久久| 午夜久久电影网| 日韩理论片一区二区| 中文字幕精品综合| 久久久久国产精品麻豆ai换脸 | 精品一区二区三区蜜桃| 无吗不卡中文字幕| 一区二区三区在线视频观看58| 中文字幕乱码久久午夜不卡| 精品国产髙清在线看国产毛片| 欧美日韩一区二区三区不卡| 一本大道久久精品懂色aⅴ| 高清国产午夜精品久久久久久| 精品一区二区三区av| 免费在线一区观看| 无吗不卡中文字幕| 日韩电影一二三区| 婷婷夜色潮精品综合在线| 亚洲一区国产视频| 亚洲v精品v日韩v欧美v专区| 亚洲成国产人片在线观看| 亚洲成人免费视| 水野朝阳av一区二区三区| 天天做天天摸天天爽国产一区| 亚洲国产人成综合网站| 亚洲综合色在线| 天天影视网天天综合色在线播放 | 狠狠久久亚洲欧美| 久久99最新地址| 国产精品99久| 成人综合婷婷国产精品久久| av激情亚洲男人天堂| 色狠狠色噜噜噜综合网| 欧美专区亚洲专区| 51精品国自产在线| 久久夜色精品国产欧美乱极品| 久久综合狠狠综合久久激情| 久久蜜桃香蕉精品一区二区三区| 国产日本亚洲高清| 亚洲日本在线天堂| 日韩专区中文字幕一区二区| 久久99国产精品麻豆| 国产成人免费在线观看| 一本色道久久综合亚洲精品按摩| 欧美精品1区2区3区| 精品久久久久久久久久久久包黑料 | 久久久久88色偷偷免费| 国产精品久久久一区麻豆最新章节| 成人免费小视频| 男女男精品视频| 成人国产视频在线观看| 欧美日韩中文国产| 精品国产乱码久久久久久夜甘婷婷| 国产日产欧美一区二区三区| 樱花影视一区二区| 精品亚洲aⅴ乱码一区二区三区| 99久久久精品| 欧美xxxx老人做受| 亚洲蜜臀av乱码久久精品| 精品午夜一区二区三区在线观看| av亚洲产国偷v产偷v自拍| 777欧美精品| 亚洲摸摸操操av| 国产高清不卡二三区| 欧美日韩久久一区| 亚洲欧洲三级电影| 国产精品一卡二| 日韩欧美在线观看一区二区三区| 成人免费小视频| 国产一区二区在线影院| 91精品久久久久久久91蜜桃| 国产精品免费观看视频|