📄 main.c
字号:
//#pragma cp
#include <reg51.h>
#include <math.h>
#include <absacc.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
extern uchar code menu_str[97][30];
extern idata buf[30];
extern Keybefore;
extern keybutton;
extern uchar dispint(uchar,uchar,int);
extern void delay();
extern void INT_1();
extern void CLEAR();
extern O_X,O_Y,code_1,com;
extern void PR1();
extern void PR4();
extern void PR7();
extern void msec(uint);
extern uchar dispint(uchar,uchar,int);
extern uchar dispint_f(uchar position1,uchar position2,int value);
extern void CCW_PR();
extern void CW_PR();
extern void dispf(uchar position1,uchar position2,float value,uchar preci);
extern void dispf_f(uchar position1,uchar position2,float value,uchar preci);
extern void dispes(uchar position1,uchar position2,uchar chanum,uchar* p);
extern void dispes_f(uchar position1,uchar position2,uchar chanum,uchar* p);
extern void dispcs(uchar position1,uchar position2,uchar chanum,uchar* p);
extern scankey();
extern void blank_point(uchar position1,uchar position2,uchar chanum);
extern void blank_line(uchar position);
/*UART function*/
extern void Uart_init(void);
extern void send(uchar idata d);
extern void receive();
extern float int_float2(int,int);
extern float int_float3(int,int,int);
extern int int_2(int,int);
extern void modify_float3(float x,void (*p)(),int a,int b,int c);
extern void modify_float2(float x,void (*p)(),int a,int b);
extern void modify_int2(int x,void (*p)(),int a,int b);
extern void modify_int1(int x,void (*p)(),int a);
extern void on_off(int a,int lin);
extern void on_off_f(int a,int lin);
extern void on_off_state(int a,int lin);
extern void on_off_state_general(int a,int lin);
extern void modify_group(int x,void (*p)());
/* function prototype defination*/
void disp11();
void disp12();
void disp13();
void disp211();
void disp212();
void disp213();
void disp214();
void disp215();
void disp301();
void disp302();
void disp303();
void disp311();
void disp312();
void disp313();
void disp314();
void disp315();
void disp316();
void disp317();
void disp318();
void disp319();
void disp3110();
void disp3111();
void disp3112();
void disp3113();
void disp3114();
void disp3115();
void disp3116();
void disp3117();
void disp3118();
void disp3119();
void disp3120();
void disp320();
void disp330();
void disp340();
void disp350();
void disp360();
void disp370();
void disp380();
void disp390();
void disp401();
void disp402();
void disp403();
void disp410();
void disp411();
void disp412();
void disp413();
void disp414();
void disp415();
void disp416();
void disp417();
void disp418();
void disp419();
void disp4110();
void disp420();
void disp421();
void disp422();
void disp423();
void disp424();
void disp425();
void disp426();
void disp427();
void disp428();
void disp429();
void disp4210();
void disp430();
void disp431();
void disp432();
void disp433();
void disp434();
void disp435();
void disp436();
void disp437();
void disp438();
void disp439();
void disp4310();
void disp4311();
void disp4312();
void disp440();
void disp441();
void disp442();
void disp443();
void disp444();
void disp450();
void disp451();
void disp452();
void disp453();
void disp454();
void disp455();
void disp456();
void disp460();
void disp461();
void disp462();
void disp463();
void disp464();
void disp465();
void disp466();
void disp467();
void disp468();
void disp470();
void disp471();
void disp472();
void disp473();
void disp474();
void disp475();
void disp476();
void disp477();
void disp478();
void disp479();
void disp4710();
void disp4711();
void disp4712();
void disp480();
void disp481();
void disp482();
void disp483();
void disp484();
void disp485();
void disp486();
void disp487();
void disp488();
void disp489();
void disp4810();
void disp4811();
void disp4812();
void disp4813();
void disp4814();
void disp4815();
void disp4816();
void disp501();
void disp502();
void disp503();
void disp511();
void disp512();
void disp521();
void disp522();
void disp531();
void disp532();
void disp533();
void disp534();
void disp535();
void disp536();
void disp537();
void disp538();
void disp539();
void disp5310();
void disp611();
void disp612();
void disp621();
void disp622();
void disp623();
void disp631();
void disp632();
void disp633();
void disp634();
void disp100();
void disp101();
void disp102();
void disp103();
void disp104();
void disp105();
void disp106();
void disp107();
void disp108();
void disp109();
void disp110();
void disp111();
/*communication function defination*/
void commu1();
void commu2();
void commu3();
void commu4();
void commu5();
void commu6();
void commu7();
void commu8();
void commu9();
void commu10();
void commu11();
void commu12();
void commu13();
void commu14();
void commu15();
void commu16();
void commu17();
void commu18();
void commu19();
void commu20();
void commu21();
void commu22();
void commu23();
void commu24();
void commu25();
void commu26();
void commu27();
void commu28();
void commu29();
void commu30();
void commu31();
void commu32();
void commu33();
void commu34();
void commu35();
void commu36();
void commu100();
void commu110();
void commu111();
void CLEAR1();
uchar password[4]={0,0,0,0};
uchar idata key,key2=20;
int verify,length,language=0;
char scale=1;
int KeyFuncIndex=4;
int Keyfirst=1;
uchar state_num,u=0;
int KeyState=0;
int head=255;
float idata float1,float2,float3,float4,float5,float6,float7,float8;
int idata int1,int2,int3,int4,int5,int6;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P3_3=P3^3;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
/*************************************/
/* 主程序 */
/*************************************/
void main()
{
unsigned char a,b,i,j;
#define SIZE_OF_KEYBD_MENU 210//菜单长度
void (*KeyFuncPtr)(); //按键功能指针
typedef struct
{
uchar KeyStateIndex; //当前状态索引号
uchar KeyDnState; //按下"向下"键时转向的状态索引号
uchar KeyUpState; //按下"向上"键时转向的状态索引号
uchar KeyLeft; //左键
uchar KeyRight; //右键
uchar KeyCrState; //按下"回车"键时转向的状态索引号
uchar KeyEsState; //按下"退出"键时转向的状态索引号
uchar KeyFhState; //按下"返回"键时转向的状态索引号
void (*CurrentOperate)(); //当前状态应该执行的功能操作
} KbdTabStruct;
/*chain-table definetion*/
KbdTabStruct code KeyTab[SIZE_OF_KEYBD_MENU]=
{
{ 0,1,0,0,0,4,0,0,(*disp11)}, //第一层entry :
{ 1,1,0,1,1,2,1,1,(*disp12)}, //normal display
{ 2,2,2,2,2,2,2,2,(*commu1)}, //request normal display
{ 3,3,3,3,3,3,3,3,(*disp13)}, //display normal display
{ 4,5,4,4,4,11,3,4,(*disp211)}, //第二层display:
{ 5,6,4,5,5,201,5,4,(*disp212)}, //programming:
{ 6,6,5,6,6,7,6,4,(*disp213)}, //fault ack.
{ 7,7,7,7,7,7,7,7,(*commu2)}, //request fault message
{ 8,8,8,8,8,9,1,4,(*disp214)}, //display fault message
{ 9,9,9,9,9,9,9,9,(*commu3)}, //send ack. fault message
{ 10,10,10,10,10,10,6,4,(*disp215)}, //display acked.
{ 11,12,11,11,11,57,4,4,(*disp301)},//第三层operating stats/measure:
{ 12,12,11,12,12,13,4,4,(*disp302)}, //history events:
{ 13,13,13,13,13,13,13,13,(*commu4)}, //request history events:
{ 14,14,14,14,14,14,12,4,(*disp303)}, //display history events:
{ 15,29,15,15,15,16,5,4,(*disp311)}, //date/time setting:
{ 16,16,16,16,16,16,16,16,(*commu5)}, //request date/time
{ 17,18,17,22,22,27,15,4,(*disp312)}, //display current time year_f
{ 18,19,17,23,23,27,15,4,(*disp313)}, //month_f
{ 19,20,18,24,24,27,15,4,(*disp314)}, //day_f
{ 20,21,19,25,25,27,15,4,(*disp315)}, //hour_f
{ 21,21,20,26,26,27,15,4,(*disp316)}, //minute_f
{ 22,18,22,22,22,27,15,4,(*disp317)},//modify year
{ 23,19,17,23,23,27,15,4,(*disp318)}, //modify month
{ 24,20,18,24,24,27,15,4,(*disp319)}, //modify day
{ 25,21,19,25,25,27,15,4,(*disp3110)}, //modify hour
{ 26,26,20,26,26,27,15,4,(*disp3111)}, //modify minute
{ 27,27,27,27,27,27,27,27,(*commu6)}, //send modified time
{ 28,28,28,28,28,28,15,4,(*disp3112)}, //display time modified
{ 29,35,15,29,29,31,5,4,(*disp3113)}, //language:
{ 30,30,30,30,30,30,30,30,(*commu7)}, //request language (x)
{ 31,31,31,32,32,34,29,4,(*disp3114)}, //display language
{ 32,32,32,32,32,34,29,4,(*disp3115)}, //modify language:
{ 33,33,33,33,33,33,33,33,(*commu8)}, //send modified language (x)
{ 34,34,34,34,34,34,29,4,(*disp3116)}, //display language modified
{ 35,41,29,35,35,37,5,4,(*disp3117)}, //scale:
{ 36,36,36,36,36,36,36,36,(*commu9)}, //request scale (x)
{ 37,37,37,38,38,40,35,4,(*disp3118)}, //display scale
{ 38,38,38,38,38,40,35,4,(*disp3119)}, //modify scale
{ 39,39,39,39,39,39,39,39,(*commu10)}, //send modified scale (x)
{ 40,40,40,40,40,40,35,4,(*disp3120)}, //display scale modified
{ 41,43,35,41,41,42,42,42,(*disp320)}, //motor specifications:
{ 42,42,42,42,42,42,42,42,(*commu11)}, //request
{ 43,45,41,43,43,44,5,4,(*disp330)}, //freqency setting:
{ 44,44,44,44,44,44,44,44,(*commu12)}, //request
{ 45,47,15,45,45,46,5,4,(*disp340)}, //groups in operation
{ 46,46,46,46,46,46,46,46,(*commu13)}, //request
{ 47,49,45,47,47,48,5,4,(*disp350)}, //control mode:
{ 48,48,48,48,48,48,48,48,(*commu14)}, //request
{ 49,51,47,49,49,50,5,4,(*disp360)}, //fwd/rev & jog
{ 50,50,50,50,50,50,50,50,(*commu15)}, //request
{ 51,53,49,51,51,52,5,4,(*disp370)}, //DC applying
{ 52,52,52,52,52,52,52,52,(*commu16)}, //request
{ 53,55,51,53,53,54,5,4,(*disp380)}, //limit parameters
{ 54,54,54,54,54,54,54,54,(*commu17)}, //request
{ 55,55,53,55,55,56,5,4,(*disp390)}, //calibration
{ 56,56,56,56,56,56,56,56,(*commu18)}, //request
{ 57,58,57,57,57,157,11,4,(*disp401)}, //第四层power unit:
{ 58,60,57,58,58,59,11,4,(*disp402)}, //general measurement:
{ 59,59,59,59,59,59,59,59,(*commu19)}, //request
{ 60,60,58,60,60,61,11,4,(*disp403)}, //general states:
{ 61,61,61,61,61,61,61,61,(*commu20)}, //request
{ 62,63,62,67,67,72,41,4,(*disp410)}, //motor voltage_f
{ 63,64,62,68,68,72,41,4,(*disp411)}, //motor current_f
{ 64,65,63,69,69,72,41,4,(*disp412)}, //motor power_f
{ 65,66,64,70,70,72,41,4,(*disp413)}, //motor frequency_f
{ 66,66,65,71,71,72,41,4,(*disp414)}, //motor speed_f
{ 67,63,67,67,67,72,41,4,(*disp415)}, //modify voltage
{ 68,64,62,68,68,72,41,4,(*disp416)}, //modify current
{ 69,65,64,69,69,72,41,4,(*disp417)}, //modify power
{ 70,66,65,70,70,72,41,4,(*disp418)}, //modify frequency
{ 71,71,65,71,71,72,41,4,(*disp419)}, //modify speed
{ 72,72,72,72,72,72,72,72,(*commu21)}, //send modified
{ 73,73,73,73,73,73,41,4,(*disp4110)}, //display modified
{ 74,75,74,79,79,84,43,4,(*disp420)}, //freq. reference : 1,user;2,analog
{ 75,76,74,80,80,84,43,4,(*disp421)}, //ref freq.
{ 76,77,75,81,81,84,43,4,(*disp422)}, //minimum freq.
{ 77,78,76,82,82,84,43,4,(*disp423)}, //maximum freq.
{ 78,78,77,83,83,84,43,4,(*disp424)}, //bypass freq.
{ 79,75,79,79,79,84,43,4,(*disp425)}, //modify freq. reference
{ 80,76,74,80,80,84,43,4,(*disp426)}, //modify ref freq
{ 81,77,75,81,81,84,43,4,(*disp427)}, //modify minimum freq.
{ 82,78,76,82,82,84,43,4,(*disp428)}, //modify maximum freq.
{ 83,83,77,83,83,84,43,4,(*disp429)}, //modify bypass freq.
{ 84,84,84,84,84,84,84,84,(*commu22)}, //send modified
{ 85,85,85,85,85,85,43,4,(*disp4210)}, //display modified
{ 86,87,86,92,92,98,45,4,(*disp430)}, //group 1:
{ 87,88,86,93,93,98,45,4,(*disp431)}, //group 2:
{ 88,89,87,94,94,98,45,4,(*disp432)}, //group 3:
{ 89,90,88,95,95,98,45,4,(*disp433)}, //group 4:
{ 90,91,89,96,96,98,45,4,(*disp434)}, //group 5:
{ 91,91,90,97,97,98,45,4,(*disp435)}, //group 6:
{ 92,87,92,92,92,98,45,4,(*disp436)}, //modify group 1
{ 93,88,86,93,93,98,45,4,(*disp437)}, //modify group 2
{ 94,89,87,94,94,98,45,4,(*disp438)}, //modify group 3
{ 95,90,88,95,95,98,45,4,(*disp439)}, //modify group 4
{ 96,91,89,96,96,98,45,4,(*disp4310)}, //modify group 5
{ 97,97,90,97,97,98,45,4,(*disp4311)}, //modify group 6
{ 98,98,98,98,98,98,98,98,(*commu23)}, //send modified
{ 99,99,99,99,99,99,45,4,(*disp4312)}, //display modified
{ 100,101,100,100,100,187,47,4,(*disp440)}, //basic v/f control
{ 101,104,100,101,101,102,47,4,(*disp441)}, // advanced v/f control
{ 102,102,102,102,102,102,102,102,(*commu24)}, //request
{ 103,103,103,103,103,103,47,4,(*disp442)}, //display modified
{ 104,104,101,104,104,105,47,4,(*disp443)}, // vector control
{ 105,105,105,105,105,105,105,105,(*commu25)}, //request
{ 106,106,106,106,106,106,47,4,(*disp444)}, //display modified
{ 107,108,107,110,110,113,49,4,(*disp450)}, //fwd/rev:
{ 108,109,107,111,111,113,49,4,(*disp451)}, //jog freq. in Hz
{ 109,109,108,112,112,113,49,4,(*disp452)}, //jog time in sec.:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -