PCB机打孔机程序(一)

/*PCB机板增加读写FM24C64函数PAST   2018 1 6 21:30 CODE 28435*/
/*程序编辑按X+X-Y+Y-快速显示数据 测试完成  程序编号 程序行号 界面重新编排
参数设置 系统设置XY分子分母 光标位置选择 选中数字闪烁
进入手动操作 按返回退出 按空格键 数据清除L4346 13775061792*****/
              #include       <reg52.h>
              #include       <intrins.h>
              #include       <stdlib.h>
              #define        uchar    unsigned char
              #define        uint     unsigned int
              #define        ulong    unsigned long
              typedef        unsigned char BYTE;
              typedef        unsigned int WORD;
              uchar          kcounter,kstatus;        //按键计数标志 按键状态标志
              char           XCursor,YCursor;         //XY光标
              uchar          SysCursor;               //系统光标计数器
              uint           Prog_Number;             //程序编号
              uint           Frequency;               //频率
              uint           Prog_LineNum;            //编程程序行号
              uint           RunLineNum;              //运行程序行号
              uchar          Speed;                   //速度百分比
              uint           Frequency;                  //频率HZ
              sbit           cd=P7^7;                 //PIN    56
              sbit           ce=P4^5;                 //PIN    57
              sbit           rst=P4^6;                //PIN    58
              sbit           wr=P7^6;                 //PIN    55
              sbit           rd=P7^5;                 //PIN    54
              sbit           fs=P6^0;                 //PIN    5
              sbit           OUT1=P2^7;               //PIN    52    按键总线例
              sbit           OUT2=P7^4;               //PIN    53
              sbit           OUT3=P5^2;               //PIN    64
              sbit           OUT4=P5^3;               //PIN    1
              sbit           IN1=P2^4;                //PIN49    按键总线横
              sbit           IN2=P2^5;                //PIN50
              sbit           IN3=P2^6;                //PIN51
              sbit           IN4=P6^1;                //PIN6
              sbit           IN5=P6^2;                //PIN7
              sbit           IN6=P6^3;                //PIN8
              sbit           IN7=P5^5;                //PIN20
              sbit           STOP=P3^2;               //停止
              sbit           INSERT=P3^3;             //插入
              sbit           CP1=P2^2;                //PIN47
              sbit           DIR1=P2^3;               //PIN48
              sbit           EN1=P7^2;                //PIN39
              sbit           CP2=P2^1;                //PIN46
              sbit           DIR2=P7^1;               //PIN38
              sbit           EN2=P7^0;                //PIN37
              sbit           CP3=P3^5;                //PIN34
              sbit           DIR3=P5^1;               //PIN33
              sbit           EN3=P4^0;                //PIN22
              sbit           INTPUT0=P2^0;            //PIN45
              sbit           INTPUT1=P4^4;            //PIN44
              sbit           INTPUT2=P4^3;            //PIN43
              sbit           INTPUT3=P4^2;            //PIN42
              sbit           INTPUT4=P4^1;            //PIN41
              sbit           INTPUT5=P7^3;            //PIN40
              sbit           INTPUT6=P3^7;            //PIN36
              sbit           INTPUT7=P3^6;            //PIN35
              sbit           OUTPUT0=P1^0;            //PIN9
              sbit           OUTPUT1=P1^1;            //PIN10
              sbit           OUTPUT2=P4^7;            //PIN11
              sbit           OUTPUT3=P1^2;            //PIN12
              sbit           SCL=P1^7;                //PIN17 外部EEPROM       24C64PIN6
              sbit           SDA=P5^4;                //PIN18 外部EEPROM       24C64PIN5
              uchar          i,j,k,l,m,n;             //显示存储缓冲
              ulong          Key_val;                 //个位存储缓冲
              ulong          B_Data;                  //个位
              ulong          T_Data;                  //十位
              ulong          H_Data;                  //百位
              ulong          K_Data;                  //千位
              ulong          TK_Data;                 //万位
              ulong          M_Data;                  //十万位
              bit            ManuSet_Flag;            //手动设定运行标志
              bit            ManuFast_Flag;           //手动高速反显标志
              bit            JogOperating_Flag;       //点动操作反显标志
              bit            JogOperatSet_Flag;       //点动操作设定标志
              bit            ProgAdmin_Flag;          //程序管理循环检测标志
              bit            ProgEdit_Flag;           //程序编辑循环检测标志
              bit            ProgRead_Flag;           //程序读入循环检测标志
              bit            ProgSave_Flag;           //程序保存循环检测标志
              bit            ProgSaveas_Flag;         //程序另存循环检测标志
              bit            DataSet_Flag;            //参数设置循环检测标志
              bit            SystemDataSet_Flag;      //系统参数设置循环检测标志
              bit            SystemSeifTest_Flag;     //系统自检循环检测标志
              bit            SystemSet_Flag;          //系统数据设置循环检测标志   分子分母最高时间点位起速
              bit            IOSet_Flag;              //IO设置循环检测标志
              bit            XPosiNegate_Flag;        //X值正负标志
              bit            YPosiNegate_Flag;        //Y值正负标志
              #define        dataport P0              //P0为数据口
              uint           counter,val,vals,valm;      //
              uint           aa=0,bb=0;
              ulong          D_Data;                  //点动输入值
              ulong          Buff_Data;               //缓冲处理变量
              ulong          XBuff_Data;              //X缓冲处理变量
              ulong          YBuff_Data;              //Y缓冲处理变量
              long           X_Data,Y_Data;           //XY当前值
              long           XRun_Data;               //X设定值
              long           YRun_Data;               //Y设定值
              long           DRun_Data;               //点动运行值
              sbit           Rom_CS=P1^4;             /*1字库IC接口定义Rom_CS就是字库IC的CS#*/
              sbit           Rom_SCK=P1^6;            /*2字库IC接口定义:Rom_SCK就是字库IC的SCK*/
              sbit           Rom_OUT=P1^3;            /*字库IC接口定义:Rom_OUT就是字库IC的OUT*/
              sbit           Rom_IN=P1^5;             /*字库IC接口定义:Rom_IN就是字库IC的IN*/
              uchar          fontbuff[32];            //字库中读出的32位数据存放缓冲数组单元
              uchar          newbuff[32];             //字库中读出的32位数据转换缓冲存储
              bdata          char com_data;           /********/
              sbit           mos_bit=com_data^7;      /****高位****/
              sbit           low_bit=com_data^0;      /****低位****/
              void           display_manufast(void);
              void           jog_operating(void);
              void           Dis_XMParameter(void);   //显示X分子参数
              void           Dis_XDParameter(void);   //显示X分母参数
              void           Dis_YMParameter(void);      //显示Y分子参数
              void           Dis_YDParameter(void);   //显示Y分母参数
              void           Dis_PPParameter(void);   //显示点位参数
              void           Dis_HParameter(void);    //显示最高参数
              void           Dis_SParameter(void);    //显示起速参数
              void           Dis_TParameter(void);      //显示时间参数
              void           Negate_XMParameter(void);//X分子参数闪烁
              void           Negate_XDParameter(void);//X分母参数闪烁
              void           Negate_YMParameter(void);//Y分子参数闪烁
              void           Negate_YDParameter(void);//Y分母参数闪烁
              void           Negate_PPParameter(void);//点位参数闪烁
              void           Negate_HParameter(void); //最高参数闪烁
              void           Negate_SParameter(void); //起速参数闪烁
              void           Negate_TParameter(void);  //时间参数闪烁
              uchar          code Clearbuff[32]={
              0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
              0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
              0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
              0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00
              };
              uint     counter;
int      code fontadd[32]={0,8,1,9,2,10,3,11,          //竖置横排转横置横排点阵排列表
                           4,12,5,13,6,14,7,15,
                           16,24,17,25,18,26,19,27,
                           20,28,21,29,22,30,23,31};
int      code xsadd[38]={0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272,288,304, //0-9清除XY.TPF%
      320,336,352,368,384,400,416,432,448,464,480,496,512,528,544,560,576,592};//0-9首地址 每字16字节
uchar code tab0[618]={
0X00,0X3C,0X42,0X42,0X42,0X42,0X42,0X42,
0X42,0X42,0X42,0X42,0X42,0X42,0X3C,0X00,//0
0X00,0X30,0X50,0X10,0X10,0X10,0X10,0X10,
0X10,0X10,0X10,0X10,0X10,0X10,0X38,0X00,//1
0X00,0X3C,0X42,0X02,0X02,0X02,0X04,0X08,
0X10,0X20,0X20,0X40,0X40,0X42,0X7E,0X00,//2
0X00,0X3C,0X42,0X02,0X02,0X02,0X02,0X3C,
0X02,0X02,0X02,0X02,0X02,0X42,0X3C,0X00,//3
0X00,0X0C,0X14,0X24,0X24,0X44,0X44,0X84,
0X84,0XFE,0X04,0X04,0X04,0X04,0X04,0X00,//4
0X00,0X7E,0X40,0X40,0X40,0X40,0X7C,0X02,
0X02,0X02,0X02,0X02,0X42,0X42,0X3C,0X00,//5
0X00,0X3C,0X42,0X40,0X40,0X40,0X7C,0X42,
0X42,0X42,0X42,0X42,0X42,0X42,0X3C,0X00,//6
0X00,0X3E,0X42,0X04,0X04,0X08,0X08,0X10,
0X10,0X10,0X10,0X10,0X10,0X10,0X10,0X00,//7
0X00,0X3C,0X42,0X42,0X42,0X42,0X42,0X3C,
0X42,0X42,0X42,0X42,0X42,0X42,0X3C,0X00,//8
0X00,0X3C,0X42,0X42,0X42,0X42,0X42,0X3C,
0X02,0X02,0X02,0X02,0X02,0X42,0X3C,0X00,//9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"清除"10,*/    
0X00,0X00,0X42,0X42,0X24,0X24,0X18,0X18,
0X18,0X18,0X24,0X24,0X42,0X42,0X00,0X00,//X 11
0X00,0X00,0X41,0X41,0X22,0X14,0X08,0X08,
0X08,0X08,0X08,0X08,0X08,0X08,0X00,0X00,//Y    12
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X60,0X60,0X00,//.    13
0X00,0X3C,0X42,0X42,0X40,0X40,0X40,0X3C,//S 14
0X02,0X02,0X02,0X02,0X42,0X42,0X3C,0X00,    
0X00,0X7F,0X08,0X08,0X08,0X08,0X08,0X08,//T       15
0X08,0X08,0X08,0X08,0X08,0X08,0X08,0X08,
0X00,0X7C,0X42,0X42,0X42,0X42,0X7C,0X40,//P       16
0X40,0X40,0X40,0X40,0X40,0X40,0X40,0X00,
0X00,0X7E,0X40,0X40,0X40,0X40,0X7C,0X40,//F       17
0X40,0X40,0X40,0X40,0X40,0X40,0X40,0X00,
0X00,0X22,0X52,0X52,0X24,0X04,0X08,0X08,//%       18
0X10,0X10,0X20,0X24,0X4A,0X4A,0X44,0X00,
0X00,0X42,0X42,0X62,0X62,0X52,0X52,0X4A,//N       19
0X4A,0X46,0X46,0X42,0X42,0X42,0X42,0X00,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,//填充
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, //    20
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//清除光标
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//21
0X00,0X40,0X40,0X40,0X40,0X40,0X40,0X40,//L
0X40,0X40,0X40,0X40,0X40,0X40,0X7E,0X00,//22
0X00,0X00,0X00,0X00,0X00,0X5C,0X62,0X42,//n
0X42,0X42,0X42,0X42,0X42,0X42,0X42,0X00,//23
0X00,0X1C,0X08,0X08,0X08,0X08,0X08,0X08,//I
0X08,0X08,0X08,0X08,0X08,0X08,0X1C,0X08,//24
0X00,0X02,0X02,0X02,0X04,0X04,0X08,0X08,//斜杠/
0X10,0X10,0X20,0X20,0X40,0X40,0X40,0X00,//25
0X00,0X7F,0X7F,0X60,0X60,0X60,0X60,0X60,//方框左部
0X60,0X60,0X60,0X60,0X60,0X7F,0X7F,0X00,//26
0X00,0XFE,0XFE,0X06,0X06,0X06,0X06,0X06,//方框右部
0X06,0X06,0X06,0X06,0X06,0XFE,0XFE,0X00,//27
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//:分号
0X00,0X00,0X60,0X60,0X00,0X60,0X60,0X00,//28
0X00,0X7F,0X7F,0X60,0X6F,0X6F,0X6F,0X6F,//方框加点左部
0X6F,0X6F,0X6F,0X6F,0X00,0X7F,0X7F,0X00,//29
0X00,0XFE,0XFE,0X06,0XF6,0XF6,0XF6,0XF6,//方框加点右部
0XF6,0XF6,0XF6,0XF6,0X06,0XFE,0XFE,0X00,//30
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,//-左部
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//31
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFC,//-右部
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//32
0X00,0X00,0X07,0X08,0X10,0X20,0X20,0X20,//空心圆左部
0X20,0X20,0X20,0X10,0X08,0X07,0X00,0X00,//33
0X00,0X00,0XE0,0X10,0X08,0X04,0X04,0X04,//空心圆右部
0X04,0X04,0X04,0X08,0X10,0XE0,0X00,0X00,//34
0X00,0X00,0X07,0X0F,0X1F,0X3F,0X3F,0X3F,//实心圆左部
0X3F,0X3F,0X3F,0X1F,0X0F,0X07,0X00,0X00,//35
0X00,0X00,0XE0,0XF0,0XF8,0XFC,0XFC,0XFC,//实心圆右部
0XFC,0XFC,0XFC,0XF8,0XF0,0XE0,0X00,0X00,//36
0X00,0X00,0X00,0X00,0X00,0X49,0X2A,0X1C,//*
0X08,0X1C,0X2A,0X49,0X00,0X00,0X00,0X00//37
};
uchar code tab1[16]={
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,//-
0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00 //
};
/*------------延时子程序---------------------*/
              void delay(unsigned int t)
              {  
              unsigned int i,j;
              for(i=0;i<t;i++)
              for(j=0;j<100;j++);
              }
/**************************************/
               void start()
               {
               SDA=1;_nop_();_nop_();_nop_();_nop_();
               SCL=1;_nop_();_nop_();_nop_();_nop_();
               SDA=0;_nop_();_nop_();_nop_();_nop_();
               SCL=0;_nop_();_nop_();_nop_();_nop_();
               }
/***************************************/
               void stop()
               {
               SDA=0;_nop_();_nop_();_nop_();_nop_();
               SCL=1;_nop_();_nop_();_nop_();_nop_();
               SDA=1;_nop_();_nop_();_nop_();_nop_();
               }
/***************************************/
               void ack()
               {
               SCL=1;_nop_();_nop_();_nop_();_nop_();
               SCL=0;_nop_();_nop_();_nop_();_nop_();
               }
/***************************************/
               void shift8(char a)
               {
               data uchar i;
               com_data=a;
                for(i=0;i<8;i++)
                {
                SDA=mos_bit;
                SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
                SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
                com_data=com_data*2;
                }
               }
/***************************************/
               void delay_iic(int v)
               {
               int i,j;
               for(i=1;i<v;i++)
               {
                for(j=0;j<50;j++)
                {
                 _nop_();
                }
                }
               }
/***************************************/
               uchar rd_24C64(char a)
               {
               data uint i,command;
               SDA=1;_nop_();_nop_();_nop_();_nop_();
               SCL=0;_nop_();_nop_();_nop_();_nop_();
               start();
               command=160;
               shift8(command);                            /*****写入160*****/
               ack();                                        
               shift8(0X0F);                               /*****写高八位地址 高三位无效*****/
               ack();
               shift8(a);                                   //
               ack();
               start();
               command=161;
               shift8(command);                            /*****写入161*****/
               ack();
               SDA=1;_nop_();_nop_();_nop_();_nop_();
               for(i=0;i<8;i++)
                {
                 com_data=com_data*2;
                 SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
                 low_bit=SDA;
                 SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
                }
               stop();
               return(com_data);
              }
/***************************************/
               void wr_24C64(char a,char b)      //a地址 b数据
               {
               data uint command;
               _nop_();_nop_();_nop_();_nop_();_nop_();
               SDA=1;_nop_();_nop_();_nop_();_nop_();
               SCL=0;_nop_();_nop_();_nop_();_nop_();
               start();
               command=160;
               shift8(command);                             /*****写入160*****/
               ack();                                        
               shift8(0X0F);                                /*****写高八位地址 高三位无效*****/
               ack();
               shift8(a);                                   /*****写入低八位地址 a *****/
               ack();
               shift8(b);                                   /*****写入 b *****/
               ack();
               stop();
               _nop_();_nop_();_nop_();_nop_();_nop_();
               }
/************延时函数****************/
              void delay_nms(unsigned int n)
              {
              unsigned int i,j;
              for(i=n;i>0;i--)
              {
               for(j=2000;j>0;j--)
               {
               }
              }
              }
/***状态检查函数*指令,数据读写状态检查**/
              void Lcd_Busy()
              {
              uchar dat;
               do
               {
               dataport=0xff;
               ce=0;
               cd=1;
               wr=1;
               rd=0;
               dat=dataport;
               rd=1;
               dat=0x03&dat;//STA0,STA1是否准备好
              }
              while(dat!=0x03);
              }
/*******数据自动写状态检查*****************/
              void autowcheck()
              {
              uchar dat;
               do
               {
               dataport=0xff;
               ce=0;
               cd=1;
               wr=1;
               rd=0;
               dat=dataport;
               rd=1;
               dat=0x08&dat;//STA3是否准备好
              }
              while(dat==0x00);
              }
/*------输入/出函数,与T6963通讯------------------------------------------------*/
// 向数据口发Data
              void wr_data(uchar dat)
              {  
              ce=0;
              cd=0;  
              dataport=dat;
              wr=0;
              wr=1;
              }
/*****写有1个参数命令***********/
              void wr_com1(uchar command)
              {
              Lcd_Busy();
              cd=1;
              ce=0;
              rd=1;
              dataport=command;
              wr=0;
              wr=1;
              }
/******写有 3 个参数命令*******************/
              void wr_com3(uchar data1, uchar data2, uchar command)
              {
              Lcd_Busy();
              wr_data(data1);
              Lcd_Busy();
              wr_data(data2);    
              wr_com1(command);
              }
/*--------------------------------*/
              void lcd_address(uchar urow,uchar ucol)    //urow 为1---30(240/8=30),,ucol为1---64
              {
              uint ipos;
              uchar urow1;
              uchar ucol1;
              urow1=urow-1;     //    1---30
              ucol1=ucol-1;     //    1---64
              ipos=ucol1*30+urow1;
              wr_com3(ipos&0xff,0x08+ipos/256,0x24);
              }
/************清屏*******************/
              void ClearScreen()
              {
              unsigned int i;
              wr_com3(0x00,0x00,0x24);      //设置指针地址0000H
              wr_com1(0xb0);                //设置自动写状态
               for(i=0;i<9600;i++)          //320X240/8=9600
               {
               autowcheck();
               wr_data(0x00);
               }
              wr_com1(0xb2);                //自动写结束
              }
/**********初始化LCD****************/
              void InitLCD()
              {
              cd=1;
              wr=1;
              rd=1;
              wr_com3(0x00,0x00,0x40); //设置文本显示区域首地址GraphAddr
              wr_com3(0x1e,0x00,0x41); //设置文本显示区域宽度:1eH  1 1110 16+8+4+2=30
              wr_com3(0x00,0x08,0x42); //设置图形显示区域首地址GraphAddr
              wr_com3(0x1e,0x00,0x43); //设置图形显示区域宽度:1eH
              wr_com1(0XA0);           //设置显示方式: CGROM方式 文本\图形 "或"
              wr_com1(0X80);           //设置显示方式: CGROM方式 文本\图形 "或"
              wr_com1(0X9C);           //显示开关设置,开文本和图形显示*/
              ClearScreen();
              }
/*显示字库处理汉字字符表汉字点阵代码*/
              void display_chines_16x16(uchar urow,uchar ucol,uchar *dp)
              {
              uchar i,j,K;
              K=0;
               for(j=0;j<16;j++)
               {
               lcd_address(urow,ucol+j);
               wr_com1(0xb0); //设置自动写状态
                for(i=0;i<2;i++)
                {    
                autowcheck();  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
                wr_data(*(dp+fontadd[K]));
                K++;
                }
               wr_com1(0xb2); // 自动写结束
               }
              }
/********************************************************/
              void display_graphic_16x8(uchar urow,uchar ucol,int mm,uchar *dp)
              {
              uchar j;
               for(j=0;j<16;j++)
               {
               lcd_address(urow,ucol+j);
               wr_com1(0xb0); //设置自动写状态
               autowcheck();  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
               wr_data(*(dp+mm));
               dp++;
               wr_com1(0xb2); // 自动写结束
               }
              }
/*********反码显示字库处理汉字字符表汉字点阵代码*********/
              void display_negate_16x16(uchar urow,uchar ucol,uchar *dp)
              {
              uchar i,j,K;
              K=0;
               for(j=0;j<16;j++)
               {
               lcd_address(urow,ucol+j);
               wr_com1(0xb0); //设置自动写状态
                for(i=0;i<2;i++)
                {    
                autowcheck();  /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
                wr_data(~*(dp+fontadd[K]));
                K++;
                }
               wr_com1(0xb2); // 自动写结束
               }
              }
/***********字库芯片程序*************************/
/***********送指令到字库IC***********************/
              void send_command_to_ROM( uchar datu )
              {
             uchar i;
              for(i=0;i<8;i++)
              {
              if(datu&0x80)
              Rom_IN=1;
              else
              Rom_IN=0;
              datu=datu<<1;
              Rom_SCK=0;
              Rom_SCK=1;
              }
              }
/*****(从字库IC中取汉字或字符数据(1个字节****/
              static uchar ROMDATA( )
              {
               uchar i;
               uchar ret_data=0;
               Rom_SCK=1;
               for(i=0;i<8;i++)
               {
               Rom_OUT=1;
               delay(1);
               Rom_SCK=0;
               ret_data=ret_data<<1;
               if( Rom_OUT )
               ret_data=ret_data+1;
               else
               ret_data=ret_data+0;
               Rom_SCK=1;
               }
              return(ret_data);
              }
/*从相关地址High地址高字节Mid地址中字节Low地址低字节中连续读出DataLen个字节的数据到 pBuff的地址*/
              void BytesDataFromROM(uchar ADHigh,ADMid, ADLow,DataLen,uchar *pBuff)
              {
              uchar i;
              Rom_CS = 0;
              Rom_SCK=0;
              send_command_to_ROM(0x03);
              send_command_to_ROM(ADHigh);
              send_command_to_ROM(ADMid);
              send_command_to_ROM(ADLow);
              for(i=0;i<DataLen;i++ )
              *(pBuff+i)=ROMDATA();
              Rom_CS=1;
              }
/******************************************************************/
              ulong  fontaddr=0;
              void displayGB2312(uchar MSB,uchar LSB)
              {
              uchar i= 0;
              uchar addrHigh,addrMid,addrLow ;
              if(((MSB>=0xb0) &&(MSB<=0xf7))&&(LSB>=0xa1))
              {                        
/*国标简体(GB2312)汉字在字库IC中的地址由以下公式来计算:*/
/*Address = ((MSB - 0xB0) * 94 + (LSB - 0xA1)+ 846)*32+ BaseAdd;BaseAdd=0*/
/*由于担心8位单片机有乘法溢出问题,所以分三部取地址*/
              fontaddr = (MSB-0xb0)*94;
              fontaddr += (LSB-0xa1)+846;
              fontaddr = (ulong)(fontaddr*32);
              addrHigh = (fontaddr&0xff0000)>>16;  /*地址的高8位,共24位*/
              addrMid = (fontaddr&0xff00)>>8;      /*地址的中8位,共24位*/
              addrLow = fontaddr&0xff;        /*地址的低8位,共24位*/
              BytesDataFromROM(addrHigh,addrMid,addrLow,32,fontbuff);/*取32个字节的数据,存到"fontbuf[32]"*/
              i+=2;
              }
              else if(((MSB>=0xa1) &&(MSB<=0xa3))&&(LSB>=0xa1))
              {                        
/*国标简体(GB2312)15x16点的字符在字库IC中的地址由以下公式来计算:*/
/*Address = ((MSB - 0xa1) * 94 + (LSB - 0xA1))*32+ BaseAdd;BaseAdd=0*/
/*由于担心8位单片机有乘法溢出问题,所以分三部取地址*/
              fontaddr = (MSB- 0xa1)*94;
              fontaddr += (LSB-0xa1);
              fontaddr = (ulong)(fontaddr*32);
              addrHigh = (fontaddr&0xff0000)>>16;  /*地址的高8位,共24位*/
              addrMid = (fontaddr&0xff00)>>8;      /*地址的中8位,共24位*/
              addrLow = fontaddr&0xff;        /*地址的低8位,共24位*/
              BytesDataFromROM(addrHigh,addrMid,addrLow,32,fontbuff);/*取32个字节的数据,存到"fontbuf[32]"*/
              i+=2;
              }
              else if((MSB>=0x20) &&(MSB<=0x7e))    
              {                        
              unsigned char fontbuff[16];            
              fontaddr = (MSB- 0x20);
              fontaddr = (unsigned long)(fontaddr*16);
              fontaddr = (unsigned long)(fontaddr+0x3cf80);            
              addrHigh = (fontaddr&0xff0000)>>16;
              addrMid = (fontaddr&0xff00)>>8;
              addrLow = fontaddr&0xff;
              BytesDataFromROM(addrHigh,addrMid,addrLow,16,fontbuff);/*取16个字节的数据,存到"fontbuf[32]"*/
              i+=1;
              }
              else
              i++;    
             }    
/*汉字旋转子程序 将字库读出竖置横排结构的32字节数据
旋转90度成横置横排结构,转换后点阵结构为
左上部 右上部
左下部 右下部
显示时先取左上部最顶端数据,再取右上部顶端数据,
再取左上部第二行数据,右上部第二行数据 ......*****/
              void  fontchange(void)
              {
               uchar          fontbuf;
               uint buff,i,step;
                for(step=0;step<8;step++)        //16X16 左上角部分 总循环8步
               {
               fontbuf=0;                        //初始化 字节运算缓存器等于0
               buff=0;                           //字节缓冲器初始化.
                for(i=0;i<8;i++)                 //第一层循环,取竖置横排8字节第1个点。
                {
                 fontbuf<<=1;                    //数据自右向左移动,共移动7位,合并一字节
                 buff=fontbuff[i]>>step;         //将当前转换的列地址fontbuff[i]右移step步.
                 buff&=0X01;                     //保留最低位置,
                 fontbuf|=buff;                  //字节缓存器等于新的运算字节和最低位相与
                }
                newbuff[step]=fontbuf;           //将当前运算的一字节新数据存当前运算地址.
               }
              for(step=0;step<8;step++)          //16X16 右上角部分总循环8步
               {
               fontbuf=0;                        //初始化 字节运算缓存器等于0
               buff=0;                           //字节缓冲器初始化.
                for(i=0;i<8;i++)                 //第一层循环,取竖置横排8字节第1个点。
                {
                 fontbuf<<=1;                    //数据自右向左移动,共移动7位,合并一字节
                 buff=fontbuff[i+8]>>step;       //将当前转换的列地址fontbuff[i]右移step步.
                 buff&=0X01;                     //保留最低位置,
                 fontbuf|=buff;                  //字节缓存器等于新的运算字节和最低位相与
                }
                newbuff[step+8]=fontbuf;         //将当前运算的一字节新数据存当前运算地址.
               }
               for(step=0;step<8;step++)         //16X16 左下角部分总循环8步
               {
               fontbuf=0;                        //初始化 字节运算缓存器等于0
               buff=0;                           //字节缓冲器初始化.
                for(i=0;i<8;i++)                 //第一层循环,取竖置横排8字节第1个点。
                {
                 fontbuf<<=1;                    //数据自右向左移动,共移动7位,合并一字节
                 buff=fontbuff[i+16]>>step;      //将当前转换的列地址fontbuff[i]右移step步.
                 buff&=0X01;                     //保留最低位置,
                 fontbuf|=buff;                  //字节缓存器等于新的运算字节和最低位相与
                }
                newbuff[step+16]=fontbuf;        //将当前运算的一字节新数据存当前运算地址.
               }
              for(step=0;step<8;step++)          //16X16 右下角部分总循环8步
               {
               fontbuf=0;                        //初始化 字节运算缓存器等于0
               buff=0;                           //字节缓冲器初始化.
                for(i=0;i<8;i++)                 //第一层循环,取竖置横排8字节第1个点。
                {
                 fontbuf<<=1;                    //数据自右向左移动,共移动7位,合并一字节
                 buff=fontbuff[i+24]>>step;      //将当前转换的列地址fontbuff[i]右移step步.
                 buff&=0X01;                     //保留最低位置,
                 fontbuf|=buff;                  //字节缓存器等于新的运算字节和最低位相与
                }
                newbuff[step+24]=fontbuf;        //将当前运算的一字节新数据存当前运算地址.
               }
              }
/************************************/
              void write_val()
              {
               uchar  h,l,m,n;                   /****个十百千代码缓冲**/
               h=val/1000;                       //千位
               l=(val-h*1000)/100;               //百位
               m=(val-h*1000-l*100)/10;          //十位
               n=val-h*1000-l*100-m*10;          //个位
               wr_24C64(1,n);                    /*写入个位*/
               wr_24C64(2,m);                    /*写入十位*/
               wr_24C64(3,l);                    /*写入百位*/
               wr_24C64(4,h);                    /*写入千位*/
              }
/************************************/
              void read_val()
              {
              uchar k_data,h_data,t_data,b_data; //
              b_data=rd_24C64(1);delay_iic(200); // 个位
              t_data=rd_24C64(2);delay_iic(200); // 十位
              h_data=rd_24C64(3);delay_iic(200); // 百位
              k_data=rd_24C64(4);delay_iic(200); // 千位
              vals=k_data*1000+h_data*100+t_data*10+b_data;    
              }
/***************频率显示****************/
              void  Dis_Frequency()
              {
              uchar h,i,j,k;
              h=Frequency/1000;
              i=Frequency-h*1000/100;
              j=Frequency-h*1000-i*100/10;
              k=Frequency-h*1000-i*100-j*10;
              display_graphic_16x8(15,49,xsadd[17],tab0);   //    F
              display_graphic_16x8(16,49,xsadd[h],tab0);    //    0 临时数据
              display_graphic_16x8(17,49,xsadd[i],tab0);    //    0
              display_graphic_16x8(18,49,xsadd[j],tab0);    //    0
              display_graphic_16x8(19,49,xsadd[k],tab0);    //    0
              }
/****************手动自动时间显示******************/
              void Display_Time()
              {
              display_graphic_16x8(9,33,xsadd[15],tab0);//    T
              display_graphic_16x8(11,33,xsadd[0],tab0);//    0     临时数据
              display_graphic_16x8(12,33,xsadd[0],tab0);//    0
              display_graphic_16x8(13,33,xsadd[0],tab0);//    0
              display_graphic_16x8(14,33,xsadd[0],tab0);//    0
              }
/***************手动自动计数器显示*******************/
              void DisplayCounter()
              {
              display_graphic_16x8(9,49,xsadd[16],tab0);//     P
              display_graphic_16x8(10,49,xsadd[0],tab0);//     0     临时数据
              display_graphic_16x8(11,49,xsadd[0],tab0);//     0
              display_graphic_16x8(12,49,xsadd[0],tab0);//     0
              display_graphic_16x8(13,49,xsadd[0],tab0);//     0
              }
/**************手动自动程序行号显示******************/
              void Dis_LineNum()   //程序行号
              {
              uchar l,m,n;
              l=RunLineNum/100;
              m=RunLineNum-l*100/10;
              n=RunLineNum-l*100-m*10;
              display_graphic_16x8(22,17,xsadd[23],tab0);    //    n
              display_graphic_16x8(23,17,xsadd[l],tab0);     //    0
              display_graphic_16x8(24,17,xsadd[m],tab0);     //    0
              display_graphic_16x8(25,17,xsadd[n],tab0);     //    0
              }
/**************程序行号 编辑状态**********************/
              void Dis_ProgLineNum()   //程序行号
              {
              uint l,m,n;
              l=Prog_LineNum/100;
              m=(Prog_LineNum-l*100)/10;                       //     
              n=Prog_LineNum-l*100-m*10;
              display_graphic_16x8(5,1,xsadd[23],tab0);    //    n
              display_graphic_16x8(6,1,xsadd[l],tab0);     //    0
              display_graphic_16x8(7,1,xsadd[m],tab0);     //    0
              display_graphic_16x8(8,1,xsadd[n],tab0);     //    0
              }
/****************X方向实际位置显示******************/
              void XDirRun_Data()
              {
               if(XPosiNegate_Flag==1)             //X值正负标志
               display_graphic_16x8(10,1,xsadd[21],tab0);//正
               else
               display_graphic_16x8(10,1,0,tab1);//负标志-
               i=XBuff_Data/100000;
               j=(XBuff_Data/10000)%10;
               k=(XBuff_Data/1000)%10;
               l=(XBuff_Data/100)%10;
               m=(XBuff_Data/10)%10;
               n=XBuff_Data%10;
               display_graphic_16x8(9,1,xsadd[11],tab0);//     X
               display_graphic_16x8(11,1,xsadd[i],tab0);//     0     
               display_graphic_16x8(12,1,xsadd[j],tab0);//     0
               display_graphic_16x8(13,1,xsadd[k],tab0);//     0
               display_graphic_16x8(14,1,xsadd[l],tab0);//     0
               display_graphic_16x8(15,1,xsadd[13],tab0);//.
               display_graphic_16x8(16,1,xsadd[m],tab0);//     0
               display_graphic_16x8(17,1,xsadd[n],tab0);//     0
              }
/****************Y方向实际位置显示******************/
              void YDirRun_Data()
              {
               if(YPosiNegate_Flag==1)             //X值正负标志
               display_graphic_16x8(10,17,xsadd[21],tab0);//正
               else
               display_graphic_16x8(10,17,0,tab1);//负标志-
               i=YBuff_Data/100000;
               j=(YBuff_Data/10000)%10;
               k=(YBuff_Data/1000)%10;
               l=(YBuff_Data/100)%10;
               m=(YBuff_Data/10)%10;
               n=YBuff_Data%10;
               display_graphic_16x8(9,17,xsadd[12],tab0);//     Y
               display_graphic_16x8(11,17,xsadd[i],tab0);//     0    
               display_graphic_16x8(12,17,xsadd[j],tab0);//     0
               display_graphic_16x8(13,17,xsadd[k],tab0);//     0
               display_graphic_16x8(14,17,xsadd[l],tab0);//     0
               display_graphic_16x8(15,17,xsadd[13],tab0);//.
               display_graphic_16x8(16,17,xsadd[m],tab0);//     0
               display_graphic_16x8(17,17,xsadd[n],tab0);//     0
              }
/****************速度百分比显示******************/
              void Dis_percentage()
              {
              display_graphic_16x8(21,49,xsadd[37],tab0);//    *
              display_graphic_16x8(22,49,xsadd[1],tab0);//     1
              display_graphic_16x8(23,49,xsadd[0],tab0);//     0
              display_graphic_16x8(24,49,xsadd[0],tab0);//     0
              display_graphic_16x8(25,49,xsadd[18],tab0);//    %
              }
/**********************************/
              void  dis_data()
              {
              XDirRun_Data();        // X运行值
              YDirRun_Data();        // Y运行值
              DisplayCounter();        // 计数器
              Display_Time();        // 时间
              Dis_percentage();        // 百分比
              }
/*****************开机界面显示****************************/
/***自动执行*手动操作*程序管理*参数设置*******************/
              void display_a()
              {
              displayGB2312(0XD7,0XD4);
              fontchange();
              display_chines_16x16(1,1,newbuff);
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XD6,0XB4);
              fontchange();
              display_chines_16x16(5,1,newbuff);
              displayGB2312(0XD0,0XD0);
              fontchange();
              display_chines_16x16(7,1,newbuff);    //自动执行
              displayGB2312(0XCA,0XD6);
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XB2,0XD9);
              fontchange();
              display_chines_16x16(5,17,newbuff);
              displayGB2312(0XD7,0XF7);
              fontchange();
              display_chines_16x16(7,17,newbuff);     //手动操作
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(1,33,newbuff);
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              displayGB2312(0XB9,0XDC);
              fontchange();
              display_chines_16x16(5,33,newbuff);
              displayGB2312(0XC0,0XED);
              fontchange();
              display_chines_16x16(7,33,newbuff);     //程序管理
              displayGB2312(0XB2,0XCE);
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XCA,0XFD);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_chines_16x16(5,49,newbuff);
              displayGB2312(0XD6,0XC3);
              fontchange();
              display_chines_16x16(7,49,newbuff);     //参数设置
              dis_data();                             //调用存储内部数据
              Dis_Frequency();
              Dis_LineNum();                          //手动自动行号显示
              }
/***手动高速*点动操作*回程序零*回机械零***********************/
              void display_b()
              {
              display_manufast();
              jog_operating();
              displayGB2312(0XBB,0XD8);            //回程序零
              fontchange();
              display_chines_16x16(1,33,newbuff);
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(5,33,newbuff);
              displayGB2312(0XC1,0XE3);
              fontchange();
              display_chines_16x16(7,33,newbuff);
              displayGB2312(0XBB,0XD8);            //回机械零
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XBB,0XFA);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              displayGB2312(0XD0,0XB5);
              fontchange();
              display_chines_16x16(5,49,newbuff);
              displayGB2312(0XC1,0XE3);
              fontchange();
              display_chines_16x16(7,49,newbuff);
              }
/*******反显手动高速********************************/
              void negatedisplay_manufast()
              {
              displayGB2312(0XCA,0XD6);
              fontchange();
              display_negate_16x16(1,1,newbuff);    //手动高速
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_negate_16x16(3,1,newbuff);
              displayGB2312(0XB8,0XDF);
              fontchange();
              display_negate_16x16(5,1,newbuff);
              displayGB2312(0XCB,0XD9);
              fontchange();
              display_negate_16x16(7,1,newbuff);
              }
/*******显示手动高速********************************/
              void display_manufast()
              {
              displayGB2312(0XCA,0XD6);
              fontchange();
              display_chines_16x16(1,1,newbuff);    //手动高速
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XB8,0XDF);
              fontchange();
              display_chines_16x16(5,1,newbuff);
              displayGB2312(0XCB,0XD9);
              fontchange();
              display_chines_16x16(7,1,newbuff);
              }
/*************反显点动操作***********************/
              void negatejog_operating()
              {
              displayGB2312(0XB5,0XE3);             //点动操作
              fontchange();
              display_negate_16x16(1,17,newbuff);
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_negate_16x16(3,17,newbuff);
              displayGB2312(0XB2,0XD9);
              fontchange();
              display_negate_16x16(5,17,newbuff);
              displayGB2312(0XD7,0XF7);
              fontchange();
              display_negate_16x16(7,17,newbuff);
              }
/*************点动操作***********************/
              void jog_operating()
              {
              displayGB2312(0XB5,0XE3);             //点动操作
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XB6,0XAF);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XB2,0XD9);
              fontchange();
              display_chines_16x16(5,17,newbuff);
              displayGB2312(0XD7,0XF7);
              fontchange();
              display_chines_16x16(7,17,newbuff);
              }
/****************************************/
              void  Prog_Edit()
              {
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(1,1,newbuff);    //程序编辑
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XB1,0XE0);
              fontchange();
              display_chines_16x16(5,1,newbuff);
              displayGB2312(0XBC,0XAD);
              fontchange();
              display_chines_16x16(7,1,newbuff);
              }
/****************************************/
              void  Prog_Read()
              {
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(1,17,newbuff);    //程序读入
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XB6,0XC1);
              fontchange();
              display_chines_16x16(5,17,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_chines_16x16(7,17,newbuff);
              }
/****************************************/
              void  Prog_Save()
              {
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(1,33,newbuff);    //程序保存
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              displayGB2312(0XB1,0XA3);
              fontchange();
              display_chines_16x16(5,33,newbuff);
              displayGB2312(0XB4,0XE6);
              fontchange();
              display_chines_16x16(7,33,newbuff);
              }
/****************************************/
              void  Prog_Saveas()
              {
              displayGB2312(0XB3,0XCC);
              fontchange();
              display_chines_16x16(1,49,newbuff);    //程序另存
              displayGB2312(0XD0,0XF2);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              displayGB2312(0XC1,0XED);
              fontchange();
              display_chines_16x16(5,49,newbuff);
              displayGB2312(0XB4,0XE6);
              fontchange();
              display_chines_16x16(7,49,newbuff);
              }
/*************程序管理界面***************************/
              void display_Prog() //程序管理界面
              {
              Prog_Edit();
              Prog_Read();
              Prog_Save();
              Prog_Saveas();
              }
/***************保存成功**************************************/
              void Dis_SaveSuccess()
              {
              displayGB2312(0XB1,0XA3);
              fontchange();
              display_chines_16x16(15,1,newbuff);
              displayGB2312(0XB4,0XE6);
              fontchange();
              display_chines_16x16(17,1,newbuff);
              displayGB2312(0XB3,0XC9);
              fontchange();
              display_chines_16x16(19,1,newbuff);
              displayGB2312(0XB9,0XA6);
              fontchange();
              display_chines_16x16(21,1,newbuff);
              }
/*************显示点动输入数据*******************************/
              void Dis_JogData()
              {
              display_graphic_16x8(21,33,xsadd[i],tab0);//
              display_graphic_16x8(22,33,xsadd[j],tab0);//
              display_graphic_16x8(23,33,xsadd[k],tab0);//
              display_graphic_16x8(24,33,xsadd[l],tab0);//
              display_graphic_16x8(25,33,xsadd[m],tab0);//
              display_graphic_16x8(26,33,xsadd[n],tab0);//
              display_graphic_16x8(15,33,xsadd[counter],tab0);//显示数据
              }
/*************点动输入数据处理***********************/
              void JogData_dealwith()//ijklmn
              {
               i=Buff_Data/100000;
               j=(Buff_Data/10000)%10;
               k=(Buff_Data/1000)%10;
               l=(Buff_Data/100)%10;
               m=(Buff_Data/10)%10;
               n=Buff_Data%10;
              }
/*************点动输入数据计算***********************/
              void JogData_calculate (uchar Key_Counter,val)
              {
               if(Key_Counter==1)
               {
               B_Data=val;                        //个位 等于按键值
               D_Data=B_Data;                      //点动缓冲器等于个位值
               }
               if(Key_Counter==2)
               {
               T_Data=B_Data;                      //十位 等于个位
               B_Data=val;                          //个位 等于按键值
               D_Data=10*T_Data+B_Data;              //点动缓冲器等于
               }
               if(Key_Counter==3)
               {
               H_Data=T_Data;                      //百位等于十位
               T_Data=B_Data;                      //十位等于个位
               B_Data=val;                          //个位等于按键值
               D_Data=100*H_Data+10*T_Data+B_Data;//点动缓冲器等于
               }
               if(Key_Counter==4)
               {
               K_Data=H_Data;                      //千位等于百位
               H_Data=T_Data;                      //百位等于十位
               T_Data=B_Data;                      //十位等于个位
               B_Data=val;                          //个位等于按键值
               D_Data=1000*K_Data+100*H_Data+10*T_Data+B_Data;
               }
               if(Key_Counter==5)
               {
               TK_Data=K_Data;                      //万位等于千位
               K_Data=H_Data;                      //千位等于百位
               H_Data=T_Data;                      //百位等于十位
               T_Data=B_Data;                      //十位等于个位
               B_Data=val;                          //个位等于按键值
               D_Data=10000*TK_Data+1000*K_Data+100*H_Data+10*T_Data+B_Data;
               }
               if(Key_Counter==6)
               {
               M_Data=TK_Data;                       //兆位等于万位
               TK_Data=K_Data;                       //万位等于千位
               K_Data=H_Data;                       //千位等于百位
               H_Data=T_Data;                       //百位等于十位
               T_Data=B_Data;                       //十位等于个位
               B_Data=val;                           //个位等于按键值
               D_Data=100000*M_Data+10000*TK_Data+1000*K_Data+100*H_Data+10*T_Data+B_Data;
               }
               if(Key_Counter>6)
               {
               D_Data=0;
               counter=0;
               }
               Buff_Data=D_Data;                    //数据缓冲等于点动缓冲器
               JogData_dealwith();                    //个位十位百位千位万位十万位兆位分离
              }
/***************程序编辑界面频率显示****************/
              void  Dis_EditFrequency()
              {
              uchar h,i,j,k;
              h=Frequency/1000;
              i=Frequency-h*1000/100;
              j=Frequency-h*1000-i*100/10;
              k=Frequency-h*1000-i*100-j*10;
              display_graphic_16x8(5,49,xsadd[17],tab0);   //    
              display_graphic_16x8(6,49,xsadd[h],tab0);    //    
              display_graphic_16x8(7,49,xsadd[i],tab0);    //    
              display_graphic_16x8(8,49,xsadd[j],tab0);    //    
              display_graphic_16x8(9,49,xsadd[k],tab0);    //    
              }
/****************编辑界面X方向实际位置显示******************/
              void XEditRun_Data()
              {
               if(XPosiNegate_Flag==1)             //X值正负标志
               display_graphic_16x8(6,17,xsadd[21],tab0);//正
               else
               display_graphic_16x8(6,17,0,tab1);//负标志-
               i=XBuff_Data/100000;
               j=(XBuff_Data/10000)%10;
               k=(XBuff_Data/1000)%10;
               l=(XBuff_Data/100)%10;
               m=(XBuff_Data/10)%10;
               n=XBuff_Data%10;
               display_graphic_16x8(5,17,xsadd[11],tab0);//    X
               display_graphic_16x8(7,17,xsadd[i],tab0);//     0     实际数据
               display_graphic_16x8(8,17,xsadd[j],tab0);//     0
               display_graphic_16x8(9,17,xsadd[k],tab0);//     0
               display_graphic_16x8(10,17,xsadd[l],tab0);//    0
               display_graphic_16x8(11,17,xsadd[13],tab0);//.
               display_graphic_16x8(12,17,xsadd[m],tab0);//    0
               display_graphic_16x8(13,17,xsadd[n],tab0);//    0
              }
/****************编辑界面Y方向实际位置显示******************/
              void YEditRun_Data()
              {
               if(YPosiNegate_Flag==1)             //X值正负标志
               display_graphic_16x8(20,17,xsadd[21],tab0);//正
               else
               display_graphic_16x8(20,17,0,tab1);//负标志-
               i=YBuff_Data/100000;
               j=(YBuff_Data/10000)%10;
               k=(YBuff_Data/1000)%10;
               l=(YBuff_Data/100)%10;
               m=(YBuff_Data/10)%10;
               n=YBuff_Data%10;
               display_graphic_16x8(19,17,xsadd[12],tab0);//     Y
               display_graphic_16x8(21,17,xsadd[i],tab0);//     0     临时数据
               display_graphic_16x8(22,17,xsadd[j],tab0);//     0
               display_graphic_16x8(23,17,xsadd[k],tab0);//     0
               display_graphic_16x8(24,17,xsadd[l],tab0);//     0
               display_graphic_16x8(25,17,xsadd[13],tab0);//.
               display_graphic_16x8(26,17,xsadd[m],tab0);//     0
               display_graphic_16x8(27,17,xsadd[n],tab0);//     0
              }
/**********************************/
              void DisFun_Data()
              {
              XEditRun_Data();
              YEditRun_Data();
              display_graphic_16x8(19,1,xsadd[22],tab0);   //    L
              display_graphic_16x8(20,1,xsadd[0],tab0);    //    0
              display_graphic_16x8(21,1,xsadd[0],tab0);    //    0
              display_graphic_16x8(15,49,xsadd[16],tab0);  //    P
              display_graphic_16x8(16,49,xsadd[0],tab0);   //    0 临时数据
              display_graphic_16x8(19,49,xsadd[14],tab0);  //    S
              display_graphic_16x8(20,49,xsadd[0],tab0);   //    0
              Dis_EditFrequency();
              }
/**************程序编号***临时数据*******************/
              void Dis_ProgNum()   //程序编号
              {
              uchar h,i,j,k;
              h=Prog_Number/1000;
              i=Prog_Number-h*1000/100;
              j=Prog_Number-h*1000-i*100/10;
              k=Prog_Number-h*1000-i*100-j*10;
              display_graphic_16x8(24,1,xsadd[16],tab0);   //    P
              display_graphic_16x8(25,1,xsadd[23],tab0);   //    n
              display_graphic_16x8(26,1,xsadd[0],tab0);    //    0
              display_graphic_16x8(27,1,xsadd[0],tab0);    //    0
              display_graphic_16x8(28,1,xsadd[0],tab0);    //    0
              display_graphic_16x8(29,1,xsadd[0],tab0);    //    0
              }
/************************************/
              void  Line_Insert()
              {
              displayGB2312(0XD6,0XB1);                 //直
              fontchange();
              display_chines_16x16(10,1,newbuff);    
              displayGB2312(0XCF,0XDF);                 //线
              fontchange();
              display_chines_16x16(12,1,newbuff);
              displayGB2312(0XB2,0XE5);                 //插
              fontchange();
              display_chines_16x16(14,1,newbuff);
              displayGB2312(0XB2,0XB9);
              fontchange();                             //补
              display_chines_16x16(16,1,newbuff);
              }
/**********************************/
              void Display_Function()
              {
              displayGB2312(0XBC,0XD3);                 //加一
              fontchange();
              display_chines_16x16(1,1,newbuff);    
              displayGB2312(0XD2,0XBB);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XBC,0XF5);                 //减一
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XD2,0XBB);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XB2,0XE5);                 //插行
              fontchange();
              display_chines_16x16(1,33,newbuff);    
              displayGB2312(0XD0,0XD0);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              displayGB2312(0XC9,0XBE);                 //删行
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XD0,0XD0);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              Line_Insert();                        //显示直线插补
              }
/***系统参数*系统自检*IO*设置***********************/
              void DataSet()
              {
              displayGB2312(0XCF,0XB5);              //系统
              fontchange();
              display_chines_16x16(1,1,newbuff);
              displayGB2312(0XCD,0XB3);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XB2,0XCE);               //参数
              fontchange();
              display_chines_16x16(5,1,newbuff);
              displayGB2312(0XCA,0XFD);
              fontchange();
              display_chines_16x16(7,1,newbuff);
              displayGB2312(0XCF,0XB5);              //系统
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XCD,0XB3);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XD7,0XD4);               //自检
              fontchange();
              display_chines_16x16(5,17,newbuff);
              displayGB2312(0XBC,0XEC);
              fontchange();
              display_chines_16x16(7,17,newbuff);
              display_graphic_16x8(1,33,xsadd[24],tab0);   //I/O
              display_graphic_16x8(2,33,xsadd[25],tab0);   //
              display_graphic_16x8(3,33,xsadd[0],tab0);    //
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_chines_16x16(5,33,newbuff);
              displayGB2312(0XD6,0XC3);
              fontchange();
              display_chines_16x16(7,33,newbuff);     //设置
              }
/**************选项**********************/
              void Dis_Option()
              {
              displayGB2312(0XD1,0XA1);              //
              fontchange();
              display_chines_16x16(1,1,newbuff);
              displayGB2312(0XCF,0XEE);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              }
/**************系统**********************/
              void Dis_System()
              {
              displayGB2312(0XCF,0XB5);              //
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XCD,0XB3);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              }
/**************厂值**********************/
              void Dis_Factor_Value()
              {
              displayGB2312(0XB3,0XA7);              //
              fontchange();
              display_chines_16x16(1,33,newbuff);
              displayGB2312(0XD6,0XB5);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              }
/**************保存**********************/
              void Dis_Save()
              {
              displayGB2312(0XB1,0XA3);
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XB4,0XE6);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              }
/**************反显选项**********************/
              void NegateDis_Option()
              {
              displayGB2312(0XD1,0XA1);              //
              fontchange();
              display_negate_16x16(1,1,newbuff);
              displayGB2312(0XCF,0XEE);
              fontchange();
              display_negate_16x16(3,1,newbuff);
              }
/**************反显系统**********************/
              void NegateDis_System()
              {
              displayGB2312(0XCF,0XB5);              //
              fontchange();
              display_negate_16x16(1,17,newbuff);
              displayGB2312(0XCD,0XB3);
              fontchange();
              display_negate_16x16(3,17,newbuff);
              }
/**************反显厂值**********************/
              void NegateDis_Factor_Value()
              {
              displayGB2312(0XB3,0XA7);              //
              fontchange();
              display_negate_16x16(1,33,newbuff);
              displayGB2312(0XD6,0XB5);
              fontchange();
              display_negate_16x16(3,33,newbuff);
              }
/**************反显保存**********************/
              void NegateDis_Save()
              {
              displayGB2312(0XB1,0XA3);
              fontchange();
              display_negate_16x16(1,49,newbuff);
              displayGB2312(0XB4,0XE6);
              fontchange();
              display_negate_16x16(3,49,newbuff);
              }
/******正显选项********显示系统参数四项内容********/
              void PosiDis_Option()
              {
              Dis_Option();
              NegateDis_System();
              NegateDis_Factor_Value();
              NegateDis_Save();
              }
/******正显系统********显示系统参数四项内容********/
              void PosiDis_System()
              {
              NegateDis_Option();
              Dis_System();
              NegateDis_Factor_Value();
              NegateDis_Save();
              }
/******正显厂值********显示系统参数四项内容********/
              void PosiDisFactor_Value()
              {
              NegateDis_Option();
              NegateDis_System();
              Dis_Factor_Value();
              NegateDis_Save();
              }
/******正显保存********显示系统参数四项内容********/
              void PosiDis_Save()
              {
              NegateDis_Option();
              NegateDis_System();
              NegateDis_Factor_Value();
              Dis_Save();
              }
/*************左上方框******************/
              void DisLeft_BlackOn()
              {
              display_graphic_16x8(12,1,xsadd[26],tab0);// 方框左
              display_graphic_16x8(13,1,xsadd[27],tab0);// 方框右
              }
/*************右上方框******************/
              void DisRight_BlackOn()
              {
              display_graphic_16x8(22,1,xsadd[26],tab0);// 方框左
              display_graphic_16x8(23,1,xsadd[27],tab0);// 方框右
              }
/*************左下方框******************/
              void DisLeft_BlackDown()
              {
              display_graphic_16x8(12,17,xsadd[26],tab0);// 方框左
              display_graphic_16x8(13,17,xsadd[27],tab0);// 方框右
              }
/*************右下方框******************/
              void DisRight_BlackDown()
              {
              display_graphic_16x8(22,17,xsadd[26],tab0);// 方框左
              display_graphic_16x8(23,17,xsadd[27],tab0);// 方框右
              }
/*************X正限***********************/
              void DIS_XPositive_limits()
              {
              display_graphic_16x8(7,1,xsadd[11],tab0);//     X
              displayGB2312(0XD5,0XFD);
              fontchange();
              display_chines_16x16(8,1,newbuff);
              displayGB2312(0XCF,0XDE);
              fontchange();
              display_chines_16x16(10,1,newbuff);
              }
/*************X负限***********************/
              void DIS_XNegative_limits()
              {
              display_graphic_16x8(17,1,xsadd[11],tab0);//     X
              displayGB2312(0XB8,0XBA);
              fontchange();
              display_chines_16x16(18,1,newbuff);
              displayGB2312(0XCF,0XDE);
              fontchange();
              display_chines_16x16(20,1,newbuff);
              }
/**************Y正限**********************/
              void DIS_YPositive_limits()
              {
              display_graphic_16x8(7,17,xsadd[12],tab0);//    Y
              displayGB2312(0XD5,0XFD);
              fontchange();
              display_chines_16x16(8,17,newbuff);
              displayGB2312(0XCF,0XDE);
              fontchange();
              display_chines_16x16(10,17,newbuff);
              }
/***************Y负限*********************/
              void DIS_YNegative_limits()
              {
              display_graphic_16x8(17,17,xsadd[12],tab0);//    Y
              displayGB2312(0XB8,0XBA);
              fontchange();
              display_chines_16x16(18,17,newbuff);
              displayGB2312(0XCF,0XDE);
              fontchange();
              display_chines_16x16(20,17,newbuff);
              }
/**************显示正限,负限**********************/
              void DisSystem_Value()
              {
              DIS_XPositive_limits();    //
              DisLeft_BlackOn();
              DIS_XNegative_limits();    //
              DisRight_BlackOn();
              DIS_YPositive_limits();    //
              DisLeft_BlackDown();
              DIS_YNegative_limits();    //
              DisRight_BlackDown();
              }
/**************显示正限,负限**********************/
              void DisIoSet_Value()
              {
              DIS_XPositive_limits();    //
              DIS_XNegative_limits();    //
              DIS_YPositive_limits();    //
              DIS_YNegative_limits();    //
              }
/****************系统参数光标计算处理**************/
              void Dis_SystemCursorCalculate(char XDirData,YDirData)
              {     //X=0|1 Y=0-3
               if(XDirData==0&&YDirData==0)     //X等于0Y等于0
               SysCursor=0;                 //X分子
               if(XDirData==0&&YDirData==1)     //X等于0Y等于1
               SysCursor=1;                 //Y分子
               if(XDirData==0&&YDirData==2)     //X等于0Y等于2
               SysCursor=2;                 //起速
               if(XDirData==0&&YDirData==3)     //X等于0Y等于3
               SysCursor=3;                 //时间
               if(XDirData==1&&YDirData==0)     //X等于1Y等于0
               SysCursor=4;                 //X分母
               if(XDirData==1&&YDirData==1)     //X等于1Y等于1
               SysCursor=5;                 //Y分母
               if(XDirData==1&&YDirData==2)     //X等于1Y等于2
               SysCursor=6;                 //最高
               if(XDirData==1&&YDirData==3)     //X等于1Y等于3
               SysCursor=7;                 //点位
               display_graphic_16x8(28,33,xsadd[XDirData],tab0);// 光标指针显示
               display_graphic_16x8(29,33,xsadd[YDirData],tab0);// 光标指针显示
              }
/****************系统光标闪烁***************/
              void  Sys_CursorBlinking(char Sys_Cursor)
              {
               if(Sys_Cursor==0)
               {
               Negate_XMParameter();//X分子参数闪烁
               delay_nms(100);
               Dis_XMParameter();   //显示X分子参数
               delay_nms(200);
               }
               if(Sys_Cursor==1)
               {
               Negate_YMParameter();//Y分子参数闪烁
               delay_nms(100);
               Dis_YMParameter();   //显示Y分子参数
               delay_nms(200);
               }
               if(Sys_Cursor==2)
               {
               Negate_SParameter(); //起速参数闪烁
               delay_nms(100);
               Dis_SParameter();    //显示起速参数
               delay_nms(200);
               }
               if(Sys_Cursor==3)
               {
               Negate_TParameter();  //时间参数闪烁
               delay_nms(100);
               Dis_TParameter();      //显示时间参数
               delay_nms(200);
               }
               if(Sys_Cursor==4)
               {
               Negate_XDParameter();//X分母参数闪烁
               delay_nms(100);
               Dis_XDParameter();   //显示X分母参数
               delay_nms(200);
               }
               if(Sys_Cursor==5)
               {
               Negate_YDParameter();//Y分母参数闪烁
               delay_nms(100);
               Dis_YDParameter();   //显示Y分母参数
               delay_nms(200);
               }
               if(Sys_Cursor==6)
               {
               Negate_HParameter(); //最高参数闪烁
               delay_nms(100);
               Dis_HParameter();    //显示最高参数
               delay_nms(200);
               }
               if(Sys_Cursor==7)
               {
               Negate_PPParameter();//点位参数闪烁
               delay_nms(100);
               Dis_PPParameter();   //显示点位参数
               delay_nms(200);
               }
              display_graphic_16x8(29,49,xsadd[Sys_Cursor],tab0);// 光标指针显示
              }
/***************画方框*********************/
              void  Draw_Line()
              {
              uchar x;
              for(x=1;x<28;)
              {
              display_graphic_16x8(x,1,xsadd[31],tab0);// line左
              x++;
              display_graphic_16x8(x,1,xsadd[32],tab0);// line右
              }
              for(x=1;x<28;)
              {
              display_graphic_16x8(x,17,xsadd[31],tab0);// line左
              x++;
              display_graphic_16x8(x,17,xsadd[32],tab0);// line右
              }
              for(x=1;x<28;)
              {
              display_graphic_16x8(x,33,xsadd[31],tab0);// line左
              x++;
              display_graphic_16x8(x,33,xsadd[32],tab0);// line右
              }
              for(x=1;x<28;)
              {
              display_graphic_16x8(x,49,xsadd[31],tab0);// line左
              x++;
              display_graphic_16x8(x,49,xsadd[32],tab0);// line右
              }
              }
/***************显示文件名*********************/
              void Dis_FileName()
              {
              displayGB2312(0XCE,0XC4);
              fontchange();
              display_chines_16x16(18,17,newbuff);
              displayGB2312(0XBC,0XFE);
              fontchange();
              display_chines_16x16(20,17,newbuff);
              displayGB2312(0XC3,0XFB);
              fontchange();
              display_chines_16x16(22,17,newbuff);
              display_graphic_16x8(24,17,xsadd[28],tab0);//:
              display_graphic_16x8(19,33,xsadd[1],tab0);//
              display_graphic_16x8(20,33,xsadd[2],tab0);//
              display_graphic_16x8(21,33,xsadd[3],tab0);//
              display_graphic_16x8(22,33,xsadd[4],tab0);//
              display_graphic_16x8(23,33,xsadd[5],tab0);//
              display_graphic_16x8(24,33,xsadd[6],tab0);//
              display_graphic_16x8(25,33,xsadd[7],tab0);//
              display_graphic_16x8(26,33,xsadd[8],tab0);//
              display_graphic_16x8(27,33,xsadd[9],tab0);//
              display_graphic_16x8(19,49,xsadd[1],tab0);//
              display_graphic_16x8(20,49,xsadd[2],tab0);//
              display_graphic_16x8(21,49,xsadd[3],tab0);//
              display_graphic_16x8(22,49,xsadd[4],tab0);//
              display_graphic_16x8(23,49,xsadd[5],tab0);//
              display_graphic_16x8(24,49,xsadd[6],tab0);//
              display_graphic_16x8(25,49,xsadd[7],tab0);//
              display_graphic_16x8(26,49,xsadd[8],tab0);//
              display_graphic_16x8(27,49,xsadd[9],tab0);//
              }
/*************正显输入***********************/
              void Dis_Intput()
              {
              displayGB2312(0XCA,0XE4);
              fontchange();
              display_chines_16x16(1,1,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              }
/**************正显设入**********************/
              void Dis_SetIntput()
              {
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              }
/***************正显输出*********************/
              void Dis_Output()
              {
              displayGB2312(0XCA,0XE4);
              fontchange();
              display_chines_16x16(1,33,newbuff);
              displayGB2312(0XB3,0XF6);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              }
/**************正显设出**********************/
              void Dis_SetOutput()
              {
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XB3,0XF6);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              }
/**************反显输入**********************/
              void NDis_Intput()
              {
              displayGB2312(0XCA,0XE4);
              fontchange();
              display_negate_16x16(1,1,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_negate_16x16(3,1,newbuff);
              }
/***************反显设入*********************/
              void NDis_SetIntput()
              {
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_negate_16x16(1,17,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_negate_16x16(3,17,newbuff);
              }
/***************反显输出*********************/
              void NDis_Output()
              {
              displayGB2312(0XCA,0XE4);
              fontchange();
              display_negate_16x16(1,33,newbuff);
              displayGB2312(0XB3,0XF6);
              fontchange();
              display_negate_16x16(3,33,newbuff);
              }
/***************反显设出*********************/
              void NDis_SetOutput()
              {
              displayGB2312(0XC9,0XE8);
              fontchange();
              display_negate_16x16(1,49,newbuff);
              displayGB2312(0XB3,0XF6);
              fontchange();
              display_negate_16x16(3,49,newbuff);
              }
/***************系统自检正显输入*****************/
              void SysNegate_Intput()
              {
              Dis_Intput();
              NDis_SetIntput();
              NDis_Output();
              NDis_SetOutput();
              }
/***************系统自检正显设入*****************/
              void SysNegate_Setput()
              {
              NDis_Intput();
              Dis_SetIntput();
              NDis_Output();
              NDis_SetOutput();
              }
/***************系统自检正显输出*****************/
              void SysNegate_Output()
              {
              NDis_Intput();
              NDis_SetIntput();
              Dis_Output();
              NDis_SetOutput();
              }
/***************系统自检正显设出*****************/
              void SysNegate_SetOutput()
              {
              NDis_Intput();
              NDis_SetIntput();
              NDis_Output();
              Dis_SetOutput();
              }
/***************实心圆***************/
              void Intput1()
              {
              display_graphic_16x8(10,1,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(11,1,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput2()
              {
              display_graphic_16x8(17,1,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(18,1,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput3()
              {
              display_graphic_16x8(24,1,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(25,1,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput4()
              {
              display_graphic_16x8(10,17,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(11,17,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput5()
              {
              display_graphic_16x8(17,17,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(18,17,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput6()
              {
              display_graphic_16x8(24,17,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(25,17,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput7()
              {
              display_graphic_16x8(10,33,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(11,33,xsadd[36],tab0);//实心圆右部
              }
/************************************/
              void Intput8()
              {
              display_graphic_16x8(17,33,xsadd[35],tab0);//实心圆左部
              display_graphic_16x8(18,33,xsadd[36],tab0);//实心圆右部
              }
/**************空心圆**********************/
              void NIntput1()
              {
              display_graphic_16x8(10,1,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(11,1,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput2()                    
              {
              display_graphic_16x8(17,1,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(18,1,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput3()
              {
              display_graphic_16x8(24,1,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(25,1,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput4()
              {
              display_graphic_16x8(10,17,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(11,17,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput5()
              {
              display_graphic_16x8(17,17,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(18,17,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput6()
              {
              display_graphic_16x8(24,17,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(25,17,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput7()
              {
              display_graphic_16x8(10,33,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(11,33,xsadd[34],tab0);//空心圆右部
              }
/************************************/
              void NIntput8()
              {
              display_graphic_16x8(17,33,xsadd[33],tab0);//空心圆左部
              display_graphic_16x8(18,33,xsadd[34],tab0);//空心圆右部
              }
/**************输入状态显示**********************/
              void IntPutStatus()
              {
              display_graphic_16x8(8,1,xsadd[0],tab0);//0
              display_graphic_16x8(9,1,xsadd[1],tab0);//1
              NIntput1();
              display_graphic_16x8(15,1,xsadd[0],tab0);//0
              display_graphic_16x8(16,1,xsadd[2],tab0);//2
              NIntput2();
              display_graphic_16x8(22,1,xsadd[0],tab0);//0
              display_graphic_16x8(23,1,xsadd[3],tab0);//3
              NIntput3();
              display_graphic_16x8(8,17,xsadd[0],tab0);//0
              display_graphic_16x8(9,17,xsadd[4],tab0);//4
              NIntput4();
              display_graphic_16x8(15,17,xsadd[0],tab0);//0
              display_graphic_16x8(16,17,xsadd[5],tab0);//5
              NIntput5();
              display_graphic_16x8(22,17,xsadd[0],tab0);//0
              display_graphic_16x8(23,17,xsadd[6],tab0);//6
              NIntput6();
              display_graphic_16x8(8,33,xsadd[0],tab0);//0
              display_graphic_16x8(9,33,xsadd[7],tab0);//7
              NIntput7();
              display_graphic_16x8(15,33,xsadd[0],tab0);//0
              display_graphic_16x8(16,33,xsadd[8],tab0);//8
              NIntput8();
              }
/*************IO设置界面显示数据显示*****************/
              void IOsetLiftOn()
              {
              display_graphic_16x8(12,1,xsadd[0],tab0);//    X正限
              display_graphic_16x8(13,1,xsadd[0],tab0);//    X
              }
/*************IO设置界面显示数据显示*****************/
              void IOsetRightOn()
              {
              display_graphic_16x8(22,1,xsadd[0],tab0);//    X负限
              display_graphic_16x8(23,1,xsadd[0],tab0);//    X
              }
/**************IO设置界面显示数据显示*************/
              void IOsetLiftDwon()
              {
              display_graphic_16x8(12,17,xsadd[0],tab0);//   Y正限
              display_graphic_16x8(13,17,xsadd[0],tab0);//   Y
              }
/**************IO设置界面显示数据显示*************/
              void IOsetRightDwon()
              {
              display_graphic_16x8(22,17,xsadd[0],tab0);//   Y    负限
              display_graphic_16x8(23,17,xsadd[0],tab0);//   Y
              }    
/**************报警********************************/    
              void Dis_Alarm()
              {
              displayGB2312(0XB1,0XA8);
              fontchange();
              display_chines_16x16(8,33,newbuff);
              displayGB2312(0XBE,0XAF);
              fontchange();
              display_chines_16x16(10,33,newbuff);
              display_graphic_16x8(12,33,xsadd[0],tab0);//   
              display_graphic_16x8(13,33,xsadd[0],tab0);//
              }
/*************X零点*********************************/
              void  Dis_XZeroPoint()
              {
              display_graphic_16x8(7,49,xsadd[11],tab0);// X
              displayGB2312(0XC1,0XE3);
              fontchange();
              display_chines_16x16(8,49,newbuff);
              displayGB2312(0XB5,0XE3);
              fontchange();
              display_chines_16x16(10,49,newbuff);
              display_graphic_16x8(12,49,xsadd[0],tab0);//   
              display_graphic_16x8(13,49,xsadd[0],tab0);//
              }
/*************Y零点*********************************/
              void  Dis_YZeroPoint()
              {
              display_graphic_16x8(17,49,xsadd[12],tab0);// Y
              displayGB2312(0XC1,0XE3);
              fontchange();
              display_chines_16x16(18,49,newbuff);
              displayGB2312(0XB5,0XE3);
              fontchange();
              display_chines_16x16(20,49,newbuff);
              display_graphic_16x8(22,49,xsadd[0],tab0);//   
              display_graphic_16x8(23,49,xsadd[0],tab0);//
              }
/*************急停*********************************/
              void Dis_EmergencyStop()
              {
              displayGB2312(0XBC,0XB1);
              fontchange();
              display_chines_16x16(18,33,newbuff);
              displayGB2312(0XCD,0XA3);
              fontchange();
              display_chines_16x16(20,33,newbuff);
              display_graphic_16x8(22,33,xsadd[0],tab0);//   
              display_graphic_16x8(23,33,xsadd[0],tab0);//
              }    
/***************IO设置界面显示*********************/
              void DisIOset()
              {
              displayGB2312(0XCA,0XE4);             //输入
              fontchange();
              display_chines_16x16(1,1,newbuff);
              displayGB2312(0XC8,0XEB);
              fontchange();
              display_chines_16x16(3,1,newbuff);
              displayGB2312(0XCA,0XE4);             //输出
              fontchange();
              display_chines_16x16(1,17,newbuff);
              displayGB2312(0XB3,0XF6);
              fontchange();
              display_chines_16x16(3,17,newbuff);
              displayGB2312(0XBC,0XD3);          //加一
              fontchange();
              display_chines_16x16(1,33,newbuff);    
              displayGB2312(0XD2,0XBB);
              fontchange();
              display_chines_16x16(3,33,newbuff);
              displayGB2312(0XBC,0XF5);          //减一
              fontchange();
              display_chines_16x16(1,49,newbuff);
              displayGB2312(0XD2,0XBB);
              fontchange();
              display_chines_16x16(3,49,newbuff);
              IOsetLiftOn();
              IOsetRightOn();
              IOsetLiftDwon();
              IOsetRightDwon();
              Dis_Alarm();
              Dis_XZeroPoint();
              Dis_YZeroPoint();
              Dis_EmergencyStop();
              }
/*************显示X分子文字***********************/
              void Dis_XMolecular()     //1
              {
              display_graphic_16x8(7,1,xsadd[11],tab0);//     X
              displayGB2312(0XB7,0XD6);
              fontchange();
              display_chines_16x16(8,1,newbuff);
              displayGB2312(0XD7,0XD3);
              fontchange();
              display_chines_16x16(10,1,newbuff);
              }
/*************显示X分母文字**********************/
              void Dis_XDenominator() //1
              {
              display_graphic_16x8(17,1,xsadd[11],tab0);//     X
              displayGB2312(0XB7,0XD6);
              fontchange();
              display_chines_16x16(18,1,newbuff);
              displayGB2312(0XC4,0XB8);
              fontchange();
              display_chines_16x16(20,1,newbuff);
              }
/*************显示Y分子文字***********************/
              void Dis_YMolecular()    //17
              {
              display_graphic_16x8(7,17,xsadd[12],tab0);//     Y
              displayGB2312(0XB7,0XD6);
              fontchange();
              display_chines_16x16(8,17,newbuff);
              displayGB2312(0XD7,0XD3);
              fontchange();
              display_chines_16x16(10,17,newbuff);
              }
/*************显示Y分母文字**********************/
              void Dis_YDenominator() //17
              {
              display_graphic_16x8(17,17,xsadd[12],tab0);//     Y
              displayGB2312(0XB7,0XD6);
              fontchange();
              display_chines_16x16(18,17,newbuff);
              displayGB2312(0XC4,0XB8);
              fontchange();
              display_chines_16x16(20,17,newbuff);
              }
/**************显示点位**********************/
              void Dis_PointPosition()//49
              {
              displayGB2312(0XB5,0XE3);
              fontchange();
              display_chines_16x16(18,49,newbuff);
              displayGB2312(0XCE,0XBB);
              fontchange();
              display_chines_16x16(20,49,newbuff);
              }
/**************显示最高*********************/
              void Dis_Highest()   //33
              {
              displayGB2312(0XD7,0XEE);
              fontchange();
              display_chines_16x16(18,33,newbuff);
              displayGB2312(0XB8,0XDF);
              fontchange();
              display_chines_16x16(20,33,newbuff);
              }
/**************显示起速**********************/
              void Dis_StartSpeed()    //33
              {
              displayGB2312(0XC6,0XF0);
              fontchange();
              display_chines_16x16(8,33,newbuff);
              displayGB2312(0XCB,0XD9);
              fontchange();
              display_chines_16x16(10,33,newbuff);
              }
/**************显示时间**********************/
              void Dis_Time()       //49
              {
              displayGB2312(0XCA,0XB1);
              fontchange();
              display_chines_16x16(8,49,newbuff);
              displayGB2312(0XBC,0XE4);
              fontchange();
              display_chines_16x16(10,49,newbuff);
              }
/*************显示X分子参数***********************/    
              void Dis_XMParameter()     //1
              {
              display_graphic_16x8(12,1,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(13,1,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(14,1,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(15,1,xsadd[0],tab0);      //临时数据
              }
/*************X分子参数闪烁***********************/    
              void Negate_XMParameter()     //1
              {
              display_graphic_16x8(12,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(13,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(14,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(15,1,xsadd[20],tab0);   //临时数据
              }
/*************显示X分母参数**********************/
              void Dis_XDParameter() //1X分母参数
              {
              display_graphic_16x8(22,1,xsadd[0],tab0);    //临时数据
              display_graphic_16x8(23,1,xsadd[0],tab0);    //临时数据
              display_graphic_16x8(24,1,xsadd[0],tab0);    //临时数据
              display_graphic_16x8(25,1,xsadd[0],tab0);    //临时数据
              }
/*************X分母参数闪烁**********************/
              void Negate_XDParameter() //1X分母参数
              {
              display_graphic_16x8(22,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(23,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(24,1,xsadd[20],tab0);   //临时数据
              display_graphic_16x8(25,1,xsadd[20],tab0);   //临时数据
              }
/*************显示Y分子参数***********************/
              void Dis_YMParameter()    //17显示Y分子参数
              {
              display_graphic_16x8(12,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(13,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(14,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(15,17,xsadd[0],tab0);   //临时数据
              }
/*************Y分子参数闪烁***********************/
              void Negate_YMParameter()    //17显示Y分子参数
              {
              display_graphic_16x8(12,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(13,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(14,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(15,17,xsadd[20],tab0);  //临时数据
              }
/*************显示Y分母参数**********************/
              void Dis_YDParameter() //17 显示Y分母参数
              {
              display_graphic_16x8(22,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(23,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(24,17,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(25,17,xsadd[0],tab0);   //临时数据
              }
/*************Y分母参数闪烁**********************/
              void Negate_YDParameter() //17 显示Y分母参数
              {
              display_graphic_16x8(22,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(23,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(24,17,xsadd[20],tab0);  //临时数据
              display_graphic_16x8(25,17,xsadd[20],tab0);  //临时数据
              }
/**************显示点位参数**********************/
              void Dis_PPParameter()//49  显示点位参数
              {
              display_graphic_16x8(22,49,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(23,49,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(24,49,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(25,49,xsadd[0],tab0);   //临时数据
              }
/**************点位参数闪烁**********************/
              void Negate_PPParameter()//49  显示点位参数
              {
              display_graphic_16x8(22,49,xsadd[20],tab0);  //方块
              display_graphic_16x8(23,49,xsadd[20],tab0);  //
              display_graphic_16x8(24,49,xsadd[20],tab0);  //
              display_graphic_16x8(25,49,xsadd[20],tab0);  //
              }
/**************显示最高参数*********************/
              void Dis_HParameter()   //33    显示最高参数
              {
              display_graphic_16x8(22,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(23,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(24,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(25,33,xsadd[0],tab0);   //临时数据
              }
/**************最高参数闪烁*********************/
              void Negate_HParameter()   //33    显示最高参数
              {
              display_graphic_16x8(22,33,xsadd[20],tab0);  //方块
              display_graphic_16x8(23,33,xsadd[20],tab0);  //
              display_graphic_16x8(24,33,xsadd[20],tab0);  //
              display_graphic_16x8(25,33,xsadd[20],tab0);  //
              }
/**************显示起速参数**********************/
              void Dis_SParameter()    //33  显示起速参数
              {
              display_graphic_16x8(12,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(13,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(14,33,xsadd[0],tab0);   //临时数据
              display_graphic_16x8(15,33,xsadd[0],tab0);   //临时数据
              }
/***************起速参数填充闪烁********************/
              void Negate_SParameter()    //33  显示起速参数
              {
              display_graphic_16x8(12,33,xsadd[20],tab0);      //方块
              display_graphic_16x8(13,33,xsadd[20],tab0);      //
              display_graphic_16x8(14,33,xsadd[20],tab0);      //
              display_graphic_16x8(15,33,xsadd[20],tab0);      //
              }
/**************显示时间参数**********************/
              void Dis_TParameter()       //49     显示时间参数
              {
              display_graphic_16x8(12,49,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(13,49,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(14,49,xsadd[0],tab0);      //临时数据
              display_graphic_16x8(15,49,xsadd[0],tab0);      //临时数据
              }
/***************时间参数填充闪烁******************/
              void    Negate_TParameter()
              {
              display_graphic_16x8(12,49,xsadd[20],tab0);      //方块
              display_graphic_16x8(13,49,xsadd[20],tab0);      //
              display_graphic_16x8(14,49,xsadd[20],tab0);      //
              display_graphic_16x8(15,49,xsadd[20],tab0);      //
              }
/***************前进*********************/
              void DIS_Forward()
              {
              displayGB2312(0XC7,0XB0);
              fontchange();
              display_chines_16x16(26,49,newbuff);
              displayGB2312(0XBD,0XF8);
              fontchange();
              display_chines_16x16(28,49,newbuff);
              }
/****************后退********************/
              void DIS_Relreal()
              {
              displayGB2312(0XBA,0XF3);
              fontchange();
              display_chines_16x16(26,49,newbuff);
              displayGB2312(0XCD,0XCB);
              fontchange();
              display_chines_16x16(28,49,newbuff);
              }
/****************左移********************/
              void DIS_Moveleft()
              {
              displayGB2312(0XD7,0XF3);
              fontchange();
              display_chines_16x16(26,49,newbuff);
              displayGB2312(0XD2,0XC6);
              fontchange();
              display_chines_16x16(28,49,newbuff);
              }
/****************右移********************/
              void DIS_MoveRight()
              {
              displayGB2312(0XD3,0XD2);
              fontchange();
              display_chines_16x16(26,49,newbuff);
              displayGB2312(0XD2,0XC6);
              fontchange();
              display_chines_16x16(28,49,newbuff);
              }
/***************前进*********************/
              void Clear_Forward()
              {
              display_chines_16x16(26,49,Clearbuff);
              display_chines_16x16(28,49,Clearbuff);
              }
/****************后退********************/
              void Clear_Relreal()
              {
              display_chines_16x16(26,49,Clearbuff);
              display_chines_16x16(28,49,Clearbuff);
              }
/****************左移********************/
              void Clear_Moveleft()
              {
              display_chines_16x16(26,49,Clearbuff);
              display_chines_16x16(28,49,Clearbuff);
              }
/****************右移********************/
              void Clear_MoveRight()
              {
              display_chines_16x16(26,49,Clearbuff);
              display_chines_16x16(28,49,Clearbuff);
              }
/************************************/
              void DisSystem()
              {
              PosiDis_System();      //正显
              Dis_XMolecular();      //显示X分子
              Dis_XMParameter();  //显示X分子参数
              Dis_XDenominator(); //显示X分母
              Dis_XDParameter();  //显示X分母参数
              Dis_YMolecular();      //显示Y分子
              Dis_YMParameter();  //显示Y分子参数
              Dis_YDenominator(); //显示Y分母
              Dis_YDParameter();  //显示Y分母参数
              Dis_PointPosition();//显示点位
              Dis_PPParameter();  //显示点位参数
              Dis_Highest();      //显示最高
              Dis_HParameter();   //显示最高参数
              Dis_StartSpeed();      //显示起速
              Dis_SParameter();   //显示起速参数
              Dis_Time();         //显示时间
              Dis_TParameter();      //显示时间参数
              }
/************************************/
              void timer0() interrupt 1
               {
               aa=aa+1;
               if(aa==30)
               OUTPUT0=!OUTPUT0,
               aa=0;
               }  
/************************************/
              void t2int() interrupt 12           //中断入口
              {
               bb=bb+1;
               if(bb==100)
               OUTPUT2=!OUTPUT2,
               bb=0;
               }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【go项目01_学习记录05】

学习记录 1 依赖管理 Go Modules1.1 弃用 $GOPATH1.2 Go Modules 日常使用1.2.1 初始化生成go.mod文件1.2.2 Go Proxy代理1.2.3 go.mod文件查看1.2.4 go.sum文件查看1.2.5 indirect 含义1.2.6 go mod tidy 命令1.2.7 清空 Go Modules 缓存1.2.8 下载依赖1.2.9 所有 Go Modules …

[qnx] 通过zcu104 SD卡更新qnx镜像的步骤

0. 概述 本文演示如果给Xlinx zcu104开发板刷入自定义的qnx镜像 1.将拨码开关设置为SD卡启动 如下图所示&#xff0c;将1拨到On,2,3,4拨到Off&#xff0c;即为通过SD启动。 2.准备SD卡中的内容 首先需要将SD格式化为FAT32的&#xff08;如果已经是FAT32格式&#xff0c;则…

网络安全之OSI七层模型详解

OSI七层模型分为控制层&#xff08;前三层&#xff09;和数据层&#xff08;后四层&#xff09;。从第七层到一层为&#xff1b; 应用层&#xff08;7&#xff09;接收数据 表示层&#xff08;6&#xff09;将数据翻译为机器语言 会话层&#xff08;5&#xff09;建立虚连接…

C++证道之路第十八章探讨C++新标准

一、复习前面介绍过的C11新功能 1、新类型 C11新增了类型long long 和unsigned long long 新增了类型char16_t 和char32_t 2、统一的初始化 C11扩大了用大括号括起的列表&#xff08;初始化列表&#xff09;的使用范围&#xff0c;使其可以用于所有内置类型和用户定义的类…

可编程 IP 新星 Story Protocol 何以引领链上文艺复兴浪潮?

当前&#xff0c;随着 Web3 行业发展进入全新阶段&#xff0c;与生成式人工智能&#xff08;AIGC&#xff09;技术融合正在创造潜力新星项目。也是目前的互联网生态下&#xff0c;任何普通民众都有权利创作高质量的音乐、艺术、散文和视频内容&#xff0c;带来了用户生成内容&a…

算法(C++

题目&#xff1a;螺旋矩阵&#xff08;59. 螺旋矩阵 II - 力扣&#xff08;LeetCode&#xff09;&#xff09; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&am…

Vue进阶之Vue项目实战(二)

Vue项目实战 构建基础框架路由 项目&#xff08; v1.0,base-app-layer&#xff09;导航 router物料编排选型 插件化插件化平时写代码场景 配置器开发 构建基础框架 路由 路由分类&#xff1a; memoryHistory&#xff1a;内存路由&#xff0c;路由信息记录在内存中&#xff0…

解决github的remote rejected|git存储库的推送保护

前言 git存储库的推送保护。当你试图推送代码到GitHub仓库时&#xff0c;由于存在与主分支&#xff08;master&#xff09;相关的仓库规则违规行为&#xff0c;推送会被拒绝了。这种保护机制帮助确保只有经过授权和符合规定的代码才能被合并到主分支&#xff0c;从而保护了主分…

Unreal Engine插件打包技巧

打开UE工程&#xff0c;点击编辑&#xff0c;选择插件&#xff0c;点击"打包"按钮&#xff0c;选择输出目录UE4.26版本打包提示需要VS2017问题解决 1&#xff09;用记事本打开文件【UE4对应版本安装目录\Epic Games\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat】 2&…

Linux网络部分——DNS域名解析服务

目录 1. 域名结构 2. 系统根据域名查找IP地址的过程 3.DNS域名解析方式 4.DNS域名解析的工作原理【☆】 5.域名解析查询方式 6.搭建主从DNS域名服务器 ①初始化操作主服务器和从服务器&#xff0c;安装BIND软件 ②修改主服务器的主配置文件、区域配置文件、区域数…

pyside6的调色板QPalette的简单应用

使用调色板需要先导入:from PySide6.QtGui import QPalette 调色板QPalette的源代码&#xff1a; class QPalette(Shiboken.Object):class ColorGroup(enum.Enum):Active : QPalette.ColorGroup ... # 0x0Normal : QPalette.ColorGrou…

鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据

基本概念 队列又称消息队列&#xff0c;是一种常用于任务间通信的数据结构。队列接收来自任务或中断的不固定长度消息&#xff0c;并根据不同的接口确定传递的消息是否存放在队列空间中。 任务能够从队列里面读取消息&#xff0c;当队列中的消息为空时&#xff0c;挂起读取任务…

文献速递:深度学习医学影像心脏疾病检测与诊断--从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测

Title 题目 Deep Learning Coronary Artery Calcium Scores from SPECT/CT Attenuation Maps Improve Prediction of Major Adverse Cardiac Events 从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测 01 文献速递介绍 低剂量非门控CT衰减校正&am…

java之web笔记

1.Servlet技术 1.1 JavaWeb概述 在Sun的Java Servlet规范中&#xff0c;对Java Web应用作了这样定义:“JavaWeb应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。 Java Web应用中可以包含如下内容…

智能AI摄像头项目

项目概要 硬件说明&#xff1a;易百纳rv1126 38板&#xff0c;易百纳GC2053摄像头&#xff0c;拓展版&#xff08;自绘&#xff09;&#xff0c;屏幕驱动板&#xff08;自绘&#xff09;&#xff0c;3.1inch mipi屏&#xff0c;FT5316触摸屏 开发环境 硬件分析 开发环境及sd…

语音识别---节拍器

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

深度神经网络中的不确定性研究综述

A.单一确定性方法 对于确定性神经网络&#xff0c;参数是确定的&#xff0c;每次向前传递的重复都会产生相同的结果。对于不确定性量化的单一确定性网络方法&#xff0c;我们总结了在确定性网络中基于单一正向传递计算预测y *的不确定性的所有方法。在文献中&#xff0c;可以找…

Scratch编程v3.29.1少儿编程工具

软件介绍 SCRATCH是一款由麻省理工学院&#xff08;MIT&#xff09;媒体实验室开发的图形化编程语言和集成开发环境&#xff08;IDE&#xff09;。它的目标是让编程变得有趣、直观且易学&#xff0c;尤其是针对儿童和青少年群体。通过SCRATCH&#xff0c;用户可以通过拖放代码…

Al加码,引爆“躺平式”旅游 | 最新快讯

旅游业正迎来新的技术浪潮。 文&#xff5c;锌刻度&#xff0c;作者&#xff5c;孟会缘&#xff0c;编辑&#xff5c;李季 今年的五一&#xff0c;“微度假”“微旅行”纷纷出圈。 相较于三亚、云南等老牌旅游大热门&#xff0c;人们开始寻找一些不用“人挤人”的小众旅行目的…

第一天学习(GPT)

1.图片和语义是如何映射的&#xff1f; **Dalle2&#xff1a;**首先会对图片和语义进行预训练&#xff0c;将二者向量存储起来&#xff0c;然后将语义的vector向量转成图片的向量&#xff0c;然后基于这个图片往回反向映射&#xff08;Diffusion&#xff09;——>根据这段描…