?? e51pro.h
字號:
//e51pro.h
#include <at89x52.h>
typedef unsigned int UINT;
typedef unsigned long ULONG;
typedef unsigned char BYTE;
typedef bit BOOL;
struct _prowork//定義編程器的一般操作,具體器件的編程器實現(xiàn)下列函數(shù)
{
void (*fpInitPro)();//編程前的準(zhǔn)備工作
void (*fpReadSign)();//讀特征字
void (*fpErase)();//擦除器件
BOOL (*fpWrite)(BYTE);//寫器件
BYTE (*fpRead)();//讀器件
void (*fpLock)();//寫鎖定位
void (*fpProOver)();//編程結(jié)束后的工作
};
typedef struct _prowork ProWork;
sbit A_0=ACC^0;//方便位操作
sbit A_1=ACC^1;
sbit A_2=ACC^2;
sbit A_3=ACC^3;
sbit A_4=ACC^4;
sbit A_5=ACC^5;
sbit A_6=ACC^6;
sbit A_7=ACC^7;
sbit B_0=B^0;//方便位操作
sbit B_1=B^1;
sbit B_2=B^2;
sbit B_3=B^3;
sbit B_4=B^4;
sbit B_5=B^5;
sbit B_6=B^6;
sbit B_7=B^7;
extern BYTE ComBuf[18];//串口通訊數(shù)據(jù)緩存,發(fā)送和接收都使用
extern UINT nAddress;//ROM中地址計數(shù)
extern UINT nTimeOut;//超時計數(shù)
extern ProWork pw;//編程器一般操作
extern void Delay_ms(UINT nMs);//延時函數(shù) 毫秒級 小于65535ms
extern void Delay_us(BYTE nUs);//延時函數(shù) 微秒級 小于255us
extern BOOL WaitComm();//等待上位機(jī)的命令
//WaitComm()將等待18個字節(jié)。第一個字節(jié)(ComBuf[0])表示命令:00=初始化編程器,01=讀特征字,02=擦除器件,
//03=寫器件,04=讀器件,05=寫鎖定位。第二個字節(jié)(ComBuf[1])表示器件的FID(Funcation IDentification)。
//主程序?qū)⒏鶕?jù)FID調(diào)用該器件的編程器函數(shù)。后面16個字節(jié)(ComBuf[2~17])是該命令的相關(guān)數(shù)據(jù)
//返回值=1表示等待完成 =0表示等待超時
extern BOOL WaitResp();//等待上位機(jī)的回應(yīng)
//WaitResp()將等待1個字節(jié)。為了提高編程器讀器件的通訊效率,等待上位機(jī)ReadRomThread線程建立后
//將會發(fā)送一個字節(jié)作為回應(yīng),if (ComBuf[0]==1)表示繼續(xù)讀16個字節(jié)(ComBuf[2~17])然后發(fā)送給PC,
//else if(ComBuf[0]==0xff)表示要求重發(fā)數(shù)據(jù),else讀器件結(jié)束。
//返回值=1表示等待完成 =0表示等待超時
extern BOOL WaitData();//等待上位機(jī)的數(shù)據(jù)
//WaitData()等待18個字節(jié),在寫器件函數(shù)中使用。if(ComBuf[0]==1)表示繼續(xù)寫數(shù)據(jù)塊(ComBuf[2~17]16字節(jié))
//else 寫器件結(jié)束。
extern void SendData();//發(fā)送數(shù)據(jù)或回應(yīng)操作完成,18字節(jié),編程器完成操作后用該函數(shù)回應(yīng),表示操作完成。
//在讀器件過程中用該函數(shù)發(fā)送讀出的ROM數(shù)據(jù)給上位機(jī)
extern void SendResp();//回應(yīng)上位機(jī)一個字節(jié),在寫器件函數(shù)中使用。為了提高編程器寫器件的通訊效率,
//編程器每寫完數(shù)據(jù)塊(ComBuf[2~17]])后,回應(yīng)上位機(jī)一個字節(jié)(ComBuf[0])。如果沒出錯將回應(yīng)1,出錯回應(yīng)0xff。
extern void SetVpp5V();//設(shè)置VPP=5V
extern void SetVpp0V();//Vpp=0V
extern void SetVpp12V();//Vpp=12V
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -