📄 winch.h
字号:
#include <p18cxxx.h>
#include <portb.h>
#include <timers.h>
#include <usart.h>
#include <stdlib.h>
#include <delays.h>
#include <i2c.h>
//----LCD
#define LCD_RW PORTBbits.RB3 /* PORT for RW */
#define LCD_RS PORTBbits.RB4 /* PORT for RS */
#define LCD_EN PORTBbits.RB2 /* PORT for EN */
#define LCD_STROBE ((LCD_EN = 1),(LCD_EN=0))
#define LCD_CS1 PORTFbits.RF0 /* CS1*/
#define LCD_CS2 PORTFbits.RF1 /* CS2 */
//---MEM
#define MEM_CE0 LATEbits.LATE1 // MEM CS1 pin
#define MEM_CE LATEbits.LATE2 // MEM CS0 pin
#define MEM_ALE LATEbits.LATE3 // MEM Address latch pin
#define MEM_CLE LATEbits.LATE4 // MEM Command latch pin
#define MEM_RE LATEbits.LATE5 // MEM Read pin
#define MEM_WE LATEbits.LATE6 // MEM Write pin
#define MEM_DIR LATEbits.LATE7 // MEM Dir
///----7714
#define SW_CS_PIN PORTGbits.RG4 // Chip Select
#define TRIS_SW_CS_PIN TRISGbits.TRISG4
#define SW_DIN_PIN PORTGbits.RG1 // Data in
#define TRIS_SW_DIN_PIN TRISGbits.TRISG1
#define SW_DOUT_PIN PORTGbits.RG2 // Data out
#define TRIS_SW_DOUT_PIN TRISGbits.TRISG2
#define SW_SCK_PIN PORTGbits.RG0 // Clock
#define TRIS_SW_SCK_PIN TRISGbits.TRISG0
//-----中断变量
long d0, d1 = 0;
int f0, f1 = 0;
/////输入范围
int nmin[9] = {-50, 400, -100, 1, 1, 10, 0, 100, 20};
int nini[9] = {0, 600, 0, 5, 18, 15, 200, 10000, 2000};
int nmax[9] = {10000, 800, 100, 100, 100, 9500, 5000, 29000, 2400};
const unsigned char moninit[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
char column,page,com,dat;///<<<<---OLED
rom char a[9][10] = {
"m",
"mc",
"",
"",
"",
"m",
"m",
"m/h",
"kg",
};
//////-------------------------
unsigned char Buf[80];
unsigned char *in;
unsigned char *out;
char first_addr; // A7 - A0
char second_addr; // A16 - A9
char third_addr; // A22 - A17
char MEM_chip;
char MEM_sector;
char MEM_block;
char MEM_page;
char MEM_line;
///char DataCout;
struct RealTime
{
unsigned char Seconds;
unsigned char Minutes;
unsigned char Hours;
unsigned char Day;
unsigned char Date;
unsigned char Month;
unsigned char Year;
unsigned char ctr_reg;
} real_time;
unsigned int sec,min,hour,mday,mon,year;
unsigned long totalsec;
union adr {
unsigned char c[2];
unsigned int i;
}ad;
union cc {
char c[4];
long l;
} time,timep;///u,v,
union nu {
int i[9];
char c[18];
}n;
union tt {
char c[4];
long u;
}depth,tp;
unsigned char buf[8], i;
char *cbuf=buf;
long speed;
int force;//// 2 char
int delta;
char y1,y2,y3,y4; //待存储的压力原始值
unsigned char x1,x2; //待存储的AD原始值
long lcdnum;
//char ph,pm,pl;
//char th,tm,tl;
///unsigned char Mode;
char PMode;
char SCNTR;
char Out_MEM;
char SwapMode;
char temp;//我的临时变量
char Res1;
char Res2;
char pcmd; //opertion command
char CSUM;//校验和
char lc;//命令字段的后续长度
#pragma udata bank3=0x300
unsigned char DataPack[64];
unsigned char BadBlock_Table[32];
//unsigned char TMU,TMV,TMH,TML,TL; // Real Time (TMV,TMH,TML)
unsigned char TL; // Real Time
unsigned char FristTime;
//Fristlove;
int PSEG;
char line;
///char Phigh,Plow,Pgain,Thigh,Tlow,Tgain;
//char AD_Data[7];
unsigned char SMU,SMV,SMH,SML; // Program time
unsigned char AMH,AML;
unsigned int Alarm_Time;
unsigned long Real_Time;
unsigned int AD_CYC; //采样频率
unsigned long Prog_Time;
char final;
/*
char SMU,SMV,SMH,SML; // Program time
char AMH,AML;
unsigned long Alarm_Time;
unsigned long Real_Time;
unsigned long AD_CYC; //采样频率
unsigned long Prog_Time;
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -