网站怎么查哪家公司做的,代理网页游戏代理,企业网络建设,快速建站代理/*PCB机板增加读写24C64函数PAST 2017 12 26 08:10 CODE 7382*/ /*按11键进入手动选择#xff0c;按12键进入参数设定界面 按1存1 2存2 3存3 15存0 16存1236 17读EEPROM显示正确 L1008 13775061792 ******/ #include reg52.h…/*PCB机板增加读写24C64函数PAST 2017 12 26 08:10 CODE 7382*/ /*按11键进入手动选择按12键进入参数设定界面 按1存1 2存2 3存3 15存0 16存1236 17读EEPROM显示正确 L1008 13775061792 ******/ #include reg52.h #include intrins.h #include stdlib.h #include stdio.h #define uchar unsigned char #define uint unsigned int typedef unsigned char BYTE; typedef unsigned int WORD; sbit cdP7^7; // PIN 56 sbit ceP4^5; // PIN 57 sbit rstP4^6; // PIN 58 sbit wrP7^6; // PIN 55 sbit rdP7^5; // PIN 54 sbit fsP6^0; // PIN 5 sbit OUT1P2^7; // PIN 52 按键总线例 sbit OUT2P7^4; // PIN 53 sbit OUT3P5^2; // PIN 64 sbit OUT4P5^3; // PIN 1 sbit IN1P2^4; // PIN49 按键总线横 sbit IN2P2^5; // PIN50 sbit IN3P2^6; // PIN51 sbit IN4P6^1; // PIN6 sbit IN5P6^2; // PIN7 sbit IN6P6^3; // PIN8 sbit IN7P5^5; // PIN20 sbit STOPP3^3; // 停止 sbit INSERTP3^2; // 插入 sbit CP1P2^2; // PIN47 sbit DIR1P2^3; // PIN48 sbit EN1P7^2; // PIN39 sbit CP2P2^1; // PIN46 sbit DIR2P7^1; // PIN38 sbit EN2P7^0; // PIN37 sbit CP3P3^5; // PIN34 sbit DIR3P5^1; // PIN33 sbit EN3P4^0; // PIN22 sbit INTPUT0P2^0; // PIN45 sbit INTPUT1P4^4; // PIN44 sbit INTPUT2P4^3; // PIN43 sbit INTPUT3P4^2; // PIN42 sbit INTPUT4P4^1; // PIN41 sbit INTPUT5P7^3; // PIN40 sbit INTPUT6P3^7; // PIN36 sbit INTPUT7P3^6; // PIN35 sbit SCLP1^7; // PIN17 外部EEPROM 24C64PIN6 sbit SDAP5^4; // PIN18 外部EEPROM 24C64PIN5 #define dataport P0 //P0为数据口 uint counter,val,vals; sbit Rom_CSP1^4; /*1字库IC接口定义Rom_CS就是字库IC的CS#*/ sbit Rom_SCKP1^6; /*2字库IC接口定义:Rom_SCK就是字库IC的SCK*/ sbit Rom_OUTP1^3; /*字库IC接口定义:Rom_OUT就是字库IC的OUT*/ sbit Rom_INP1^5; /*字库IC接口定义:Rom_IN就是字库IC的IN*/ #define ulong unsigned long uchar fontbuff[32]; //字库中读出的数据存放缓冲数组单元 uchar newbuff[32]; //将字库中读出的数据进行转换 bdata char com_data; /********/ sbit mos_bitcom_data^7; /****高位****/ sbit low_bitcom_data^0; /****低位****/ uchar code Testbuff[32]{ 0X07,0X04,0X04,0X04,0X07,0X04,0X04,0X04, 0XF0,0X10,0X10,0X10,0XF0,0X10,0X10,0X10, 0X07,0X04,0X08,0X08,0X10,0X20,0X40,0X00, 0XF0,0X10,0X10,0X10,0X10,0X10,0X50,0X20 }; 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[15]{0,16,32,48,64,80,96,112,128,144,160,176,192,208,224}; //0-9首地址 每字64字节 uchar code tab0[240]{ 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,/*清除,*/ 0X00,0X00,0X42,0X42,0X24,0X24,0X18,0X18, 0X18,0X18,0X24,0X24,0X42,0X42,0X00,0X00,//X 0X00,0X00,0X41,0X41,0X22,0X14,0X08,0X08, 0X08,0X08,0X08,0X08,0X08,0X08,0X00,0X00,//Y 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X00,0X00,0X00,0X00,0X60,0X60,0X00,//. 0X00,0X3C,0X42,0X42,0X40,0X40,0X40,0X3C, 0X02,0X02,0X02,0X02,0X42,0X42,0X3C,0X00 //S 14 }; /*------------延时子程序---------------------*/ void delay(unsigned int t) { unsigned int i,j; for(i0;it;i) for(j0;j100;j); } /**************************************/ void start() { SDA1;_nop_();_nop_();_nop_();_nop_(); SCL1;_nop_();_nop_();_nop_();_nop_(); SDA0;_nop_();_nop_();_nop_();_nop_(); SCL0;_nop_();_nop_();_nop_();_nop_(); } /***************************************/ void stop() { SDA0;_nop_();_nop_();_nop_();_nop_(); SCL1;_nop_();_nop_();_nop_();_nop_(); SDA1;_nop_();_nop_();_nop_();_nop_(); } /***************************************/ void ack() { SCL1;_nop_();_nop_();_nop_();_nop_(); SCL0;_nop_();_nop_();_nop_();_nop_(); } /***************************************/ void shift8(char a) { data uchar i; com_dataa; for(i0;i8;i) { SDAmos_bit; SCL1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); SCL0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); com_datacom_data*2; } } /***************************************/ void delay_iic(int v) { int i,j; for(i1;iv;i) { for(j0;j50;j) { _nop_(); } } } /***************************************/ uchar rd_24C64(char a) { data uint i,command; SDA1;_nop_();_nop_();_nop_();_nop_(); SCL0;_nop_();_nop_();_nop_();_nop_(); start(); command160; shift8(command); /*****写入160*****/ ack(); shift8(0X0F); /*****写高八位地址 高三位无效*****/ ack(); shift8(a); // ack(); start(); command161; shift8(command); /*****写入161*****/ ack(); SDA1;_nop_();_nop_();_nop_();_nop_(); for(i0;i8;i) { com_datacom_data*2; SCL1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); low_bitSDA; SCL0;_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_(); SDA1;_nop_();_nop_();_nop_();_nop_(); SCL0;_nop_();_nop_();_nop_();_nop_(); start(); command160; 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(in;i0;i--) { for(j2000;j0;j--) { } } } /***状态检查函数*指令数据读写状态检查**/ void Lcd_Busy() { uchar dat; do { dataport0xff; ce0; cd1; wr1; rd0; datdataport; rd1; dat0x03dat;//STA0,STA1是否准备好 } while(dat!0x03); } /*******数据自动写状态检查*****************/ void autowcheck() { uchar dat; do { dataport0xff; ce0; cd1; wr1; rd0; datdataport; rd1; dat0x08dat;//STA3是否准备好 } while(dat0x00); } /*------输入/出函数,与T6963通讯------------------------------------------------*/ // 向数据口发Data void wr_data(uchar dat) { ce0; cd0; dataportdat; wr0; wr1; } /*****写有1个参数命令***********/ void wr_com1(uchar command) { Lcd_Busy(); cd1; ce0; rd1; dataportcommand; wr0; wr1; } /******写有 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---30240/830ucol为1---64 { uint ipos; uchar urow1; uchar ucol1; urow1urow-1; // 1---30 ucol1ucol-1; // 1---64 iposucol1*30urow1; wr_com3(ipos0xff,0x08ipos/256,0x24); } /************清屏*******************/ void ClearScreen() { unsigned int i; wr_com3(0x00,0x00,0x24); //设置指针地址0000H wr_com1(0xb0); //设置自动写状态 for(i0;i9600;i) //320X240/89600 { autowcheck(); wr_data(0x00); } wr_com1(0xb2); // 自动写结束 } /**********初始化LCD****************/ void InitLCD() { cd1; wr1; rd1; wr_com3(0x00,0x00,0x40); //设置文本显示区域首地址GraphAddr wr_com3(0x1e,0x00,0x41); //设置文本显示区域宽度:1eH 1 1110 1684230 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; K0; for(j0;j16;j) { lcd_address(urow,ucolj); wr_com1(0xb0); //设置自动写状态 for(i0;i2;i) { autowcheck(); /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/ wr_data(*(dpfontadd[K])); K; } wr_com1(0xb2); // 自动写结束 } } /********************************/ void display_graphic_16x8(uchar urow,uchar ucol,int mm,uchar *dp) { uchar j; for(j0;j16;j) { lcd_address(urow,ucolj); wr_com1(0xb0); //设置自动写状态 autowcheck(); /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/ wr_data(*(dpmm)); dp; wr_com1(0xb2); // 自动写结束 } } /*反码显示字库处理汉字字符表汉字点阵代码*/ void display_negate_16x16(uchar urow,uchar ucol,uchar *dp) { uchar i,j,K; K0; for(j0;j16;j) { lcd_address(urow,ucolj); wr_com1(0xb0); //设置自动写状态 for(i0;i2;i) { autowcheck(); /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/ wr_data(~*(dpfontadd[K])); K; } wr_com1(0xb2); // 自动写结束 } } /***********字库芯片程序*************************/ /***********送指令到字库IC***********************/ void send_command_to_ROM( uchar datu ) { uchar i; for(i0;i8;i) { if(datu0x80) Rom_IN1; else Rom_IN0; datudatu1; Rom_SCK0; Rom_SCK1; } } /*****(从字库IC中取汉字或字符数据1个字节****/ static uchar ROMDATA( ) { uchar i; uchar ret_data0; Rom_SCK1; for(i0;i8;i) { Rom_OUT1; delay(1); Rom_SCK0; ret_dataret_data1; if( Rom_OUT ) ret_dataret_data1; else ret_dataret_data0; Rom_SCK1; } return(ret_data); } /*从相关地址High地址高字节Mid地址中字节Low地址低字节中连续读出DataLen个字节的数据到 pBuff的地址*/ void BytesDataFromROM(uchar ADHigh,ADMid, ADLow,DataLen,uchar *pBuff) { uchar i; Rom_CS 0; Rom_SCK0; send_command_to_ROM(0x03); send_command_to_ROM(ADHigh); send_command_to_ROM(ADMid); send_command_to_ROM(ADLow); for(i0;iDataLen;i ) *(pBuffi)ROMDATA(); Rom_CS1; } /******************************************************************/ ulong fontaddr0; void displayGB2312(uchar MSB,uchar LSB) { uchar i 0; uchar addrHigh,addrMid,addrLow ; if(((MSB0xb0) (MSB0xf7))(LSB0xa1)) { /*国标简体GB2312汉字在字库IC中的地址由以下公式来计算*/ /*Address ((MSB - 0xB0) * 94 (LSB - 0xA1) 846)*32 BaseAdd;BaseAdd0*/ /*由于担心8位单片机有乘法溢出问题所以分三部取地址*/ fontaddr (MSB-0xb0)*94; fontaddr (LSB-0xa1)846; fontaddr (ulong)(fontaddr*32); addrHigh (fontaddr0xff0000)16; /*地址的高8位,共24位*/ addrMid (fontaddr0xff00)8; /*地址的中8位,共24位*/ addrLow fontaddr0xff; /*地址的低8位,共24位*/ BytesDataFromROM(addrHigh,addrMid,addrLow,32,fontbuff);/*取32个字节的数据存到fontbuf[32]*/ i2; } else if(((MSB0xa1) (MSB0xa3))(LSB0xa1)) { /*国标简体GB231215x16点的字符在字库IC中的地址由以下公式来计算*/ /*Address ((MSB - 0xa1) * 94 (LSB - 0xA1))*32 BaseAdd;BaseAdd0*/ /*由于担心8位单片机有乘法溢出问题所以分三部取地址*/ fontaddr (MSB- 0xa1)*94; fontaddr (LSB-0xa1); fontaddr (ulong)(fontaddr*32); addrHigh (fontaddr0xff0000)16; /*地址的高8位,共24位*/ addrMid (fontaddr0xff00)8; /*地址的中8位,共24位*/ addrLow fontaddr0xff; /*地址的低8位,共24位*/ BytesDataFromROM(addrHigh,addrMid,addrLow,32,fontbuff);/*取32个字节的数据存到fontbuf[32]*/ i2; } else if((MSB0x20) (MSB0x7e)) { unsigned char fontbuff[16]; fontaddr (MSB- 0x20); fontaddr (unsigned long)(fontaddr*16); fontaddr (unsigned long)(fontaddr0x3cf80); addrHigh (fontaddr0xff0000)16; addrMid (fontaddr0xff00)8; addrLow fontaddr0xff; BytesDataFromROM(addrHigh,addrMid,addrLow,16,fontbuff);/*取16个字节的数据存到fontbuf[32]*/ i1; } else i; } /*汉字旋转子程序 将字库读出竖置横排结构的32字节数据 旋转90度成横置横排结构转换后点阵结构为 左上部 右上部 左下部 右下部 显示时先取左上部最顶端数据再取右上部顶端数据 再取左上部第二行数据右上部第二行数据 ......*****/ void fontchange(void) { uchar fontbuf; uint buff,i,step; for(step0;step8;step) //16X16 左上角部分 总循环8步 { fontbuf0; //初始化 字节运算缓存器等于0 buff0; //字节缓冲器初始化. for(i0;i8;i) //第一层循环取竖置横排8字节第1个点。 { fontbuf1; //数据自右向左移动,共移动7位,合并一字节 bufffontbuff[i]step; //将当前转换的列地址fontbuff[i]右移step步. buff0X01; //保留最低位置 fontbuf|buff; //字节缓存器等于新的运算字节和最低位相与 } newbuff[step]fontbuf; //将当前运算的一字节新数据存当前运算地址. } for(step0;step8;step) //16X16 右上角部分总循环8步 { fontbuf0; //初始化 字节运算缓存器等于0 buff0; //字节缓冲器初始化. for(i0;i8;i) //第一层循环取竖置横排8字节第1个点。 { fontbuf1; //数据自右向左移动,共移动7位,合并一字节 bufffontbuff[i8]step; //将当前转换的列地址fontbuff[i]右移step步. buff0X01; //保留最低位置 fontbuf|buff; //字节缓存器等于新的运算字节和最低位相与 } newbuff[step8]fontbuf; //将当前运算的一字节新数据存当前运算地址. } for(step0;step8;step) //16X16 左下角部分总循环8步 { fontbuf0; //初始化 字节运算缓存器等于0 buff0; //字节缓冲器初始化. for(i0;i8;i) //第一层循环取竖置横排8字节第1个点。 { fontbuf1; //数据自右向左移动,共移动7位,合并一字节 bufffontbuff[i16]step; //将当前转换的列地址fontbuff[i]右移step步. buff0X01; //保留最低位置 fontbuf|buff; //字节缓存器等于新的运算字节和最低位相与 } newbuff[step16]fontbuf; //将当前运算的一字节新数据存当前运算地址. } for(step0;step8;step) //16X16 右下角部分总循环8步 { fontbuf0; //初始化 字节运算缓存器等于0 buff0; //字节缓冲器初始化. for(i0;i8;i) //第一层循环取竖置横排8字节第1个点。 { fontbuf1; //数据自右向左移动,共移动7位,合并一字节 bufffontbuff[i24]step; //将当前转换的列地址fontbuff[i]右移step步. buff0X01; //保留最低位置 fontbuf|buff; //字节缓存器等于新的运算字节和最低位相与 } newbuff[step24]fontbuf; //将当前运算的一字节新数据存当前运算地址. } } /************************************/ void counteradd() { uchar h1,l1,m1,n1; /****个十百千代码缓冲**/ h1counter/1000; l1(counter-h1*1000)/100; m1(counter-h1*1000-l1*100)/10; n1counter-h1*1000-l1*100-m1*10; display_graphic_16x8(11,49,xsadd[h1],tab0);// display_graphic_16x8(12,49,xsadd[l1],tab0);// display_graphic_16x8(13,49,xsadd[m1],tab0);// display_graphic_16x8(14,49,xsadd[n1],tab0);// } /************************************/ void dis_val() { uchar h,l,m,n; /****个十百千代码缓冲**/ //vals1225; hvals/1000; l(vals-h*1000)/100; m(vals-h*1000-l*100)/10; nvals-h*1000-l*100-m*10; display_graphic_16x8(11,33,xsadd[h],tab0);// display_graphic_16x8(12,33,xsadd[l],tab0);// display_graphic_16x8(13,33,xsadd[m],tab0);// display_graphic_16x8(14,33,xsadd[n],tab0);// } /************************************/ void write_val() { uchar h,l,m,n; /****个十百千代码缓冲**/ hval/1000; //千位 l(val-h*1000)/100; //百位 m(val-h*1000-l*100)/10; //十位 nval-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_datard_24C64(1);delay_iic(200); // 个位 t_datard_24C64(2);delay_iic(200); // 十位 h_datard_24C64(3);delay_iic(200); // 百位 k_datard_24C64(4);delay_iic(200); // 千位 valsk_data*1000h_data*100t_data*10b_data; //vals2206; } /************************************/ void main(void) { P0M00; P0M10; P1M00X80; //1000 0000 P1.7开漏 P1M10X80; //1000 0000 P2M00; P2M10; P3M00; P3M10; P4M00; P4M10; P5M00X10; //0001 0000 P5.4开漏 P5M10X10; //0001 0000 P6M00; P6M10; P7M00; P7M10; OUT11; OUT21; OUT31; OUT41; IN11; IN21; IN31; IN41; IN51; IN61; IN71; counter0; rst0; delay_nms(100); rst1; delay_nms(100); fs0; InitLCD(); ClearScreen(); wr_24C64(10,2); /*写入个位*/ wr_24C64(11,2); /*写入个位*/ wr_24C64(12,6); /*写入十位*/ wr_24C64(13,9); /*写入百位*/ 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); //参数设置 delay_nms(2000); displayGB2312(0XD7,0XD4); fontchange(); display_negate_16x16(1,1,newbuff); displayGB2312(0XB6,0XAF); fontchange(); display_negate_16x16(3,1,newbuff); displayGB2312(0XD6,0XB4); fontchange(); display_negate_16x16(5,1,newbuff); //反显自动执行 displayGB2312(0XD0,0XD0); fontchange(); display_negate_16x16(7,1,newbuff); display_graphic_16x8(9,1,xsadd[11],tab0);// X display_graphic_16x8(11,1,xsadd[0],tab0);// 0 display_graphic_16x8(12,1,xsadd[0],tab0);// 0 display_graphic_16x8(13,1,xsadd[0],tab0);// 0 display_graphic_16x8(14,1,xsadd[0],tab0);// 0 display_graphic_16x8(15,1,xsadd[13],tab0);//. display_graphic_16x8(16,1,xsadd[0],tab0);// 0 display_graphic_16x8(17,1,xsadd[0],tab0);// 0 display_graphic_16x8(19,1,xsadd[12],tab0);// Y display_graphic_16x8(21,1,xsadd[0],tab0);// 0 display_graphic_16x8(22,1,xsadd[0],tab0);// 0 display_graphic_16x8(23,1,xsadd[0],tab0);// 0 display_graphic_16x8(24,1,xsadd[0],tab0);// 0 display_graphic_16x8(25,1,xsadd[13],tab0);//. display_graphic_16x8(26,1,xsadd[0],tab0);// 0 display_graphic_16x8(27,1,xsadd[0],tab0);// 0 while(1) { counteradd(); delay_nms(50); counter; if(!STOP) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示27 display_graphic_16x8(29,1,xsadd[7],tab0);// CP11; DIR11; EN11; CP21; DIR21; EN21; CP31; DIR31; EN31; } if(!INSERT) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示25 display_graphic_16x8(29,1,xsadd[5],tab0);// CP10; DIR10; EN10; CP20; DIR20; EN20; CP30; DIR30; EN30; } OUT10; if(!IN1) { val0003; / write_val(); display_graphic_16x8(28,1,xsadd[10],tab0);// 显示3 display_graphic_16x8(29,1,xsadd[3],tab0);// EN10; } if(!IN2) { val0002; / write_val(); display_graphic_16x8(28,1,xsadd[10],tab0);// 显示2 display_graphic_16x8(29,1,xsadd[2],tab0);// DIR10; } if(!IN3) { val0001; / write_val(); display_graphic_16x8(28,1,xsadd[10],tab0);// 显示1 display_graphic_16x8(29,1,xsadd[1],tab0);// CP10; } if(!IN4) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示26 display_graphic_16x8(29,1,xsadd[6],tab0);// } if(!IN5) { display_graphic_16x8(28,1,xsadd[1],tab0);// 显示19 display_graphic_16x8(29,1,xsadd[9],tab0);// } if(!IN6) { val0000; / write_val(); display_graphic_16x8(28,1,xsadd[1],tab0);// 显示15 display_graphic_16x8(29,1,xsadd[5],tab0);// } if(!IN7) { //显示11 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); 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); 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); } OUT11; delay_nms(50); OUT20; if(!IN1) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示6 display_graphic_16x8(29,1,xsadd[6],tab0);// EN20; } if(!IN2) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示5 display_graphic_16x8(29,1,xsadd[5],tab0);// DIR20; } if(!IN3) { uchar k_data,h_data,t_data,b_data; // b_datard_24C64(10);delay_iic(200); // 个位 t_datard_24C64(11);delay_iic(200); // 十位 h_datard_24C64(12);delay_iic(200); // 百位 k_datard_24C64(13);delay_iic(200); // 千位 valsk_data*1000h_data*100t_data*10b_data; dis_val(); display_graphic_16x8(28,1,xsadd[10],tab0);// 显示4 display_graphic_16x8(29,1,xsadd[4],tab0);// CP20; } if(!IN4) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示22 display_graphic_16x8(29,1,xsadd[2],tab0);// } if(!IN5) { display_graphic_16x8(28,1,xsadd[1],tab0);// 显示18 display_graphic_16x8(29,1,xsadd[8],tab0);// } if(!IN6) { display_graphic_16x8(28,1,xsadd[1],tab0);// 显示14 display_graphic_16x8(29,1,xsadd[4],tab0);// } if(!IN7) { display_graphic_16x8(28,1,xsadd[1],tab0);// 显示10 display_graphic_16x8(29,1,xsadd[0],tab0);// } OUT21; delay_nms(50); OUT30; if(!IN1) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示9 display_graphic_16x8(29,1,xsadd[9],tab0);// EN30; } if(!IN2) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示8 display_graphic_16x8(29,1,xsadd[8],tab0);// DIR30; } if(!IN3) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示7 display_graphic_16x8(29,1,xsadd[7],tab0);// CP30; } if(!IN4) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示21 display_graphic_16x8(29,1,xsadd[1],tab0);// } if(!IN5) { read_val(); dis_val(); display_graphic_16x8(28,1,xsadd[1],tab0);// 显示17 display_graphic_16x8(29,1,xsadd[7],tab0);// } if(!IN6) { display_graphic_16x8(28,1,xsadd[1],tab0);// 显示13 display_graphic_16x8(29,1,xsadd[3],tab0);// } OUT31; delay_nms(50); OUT40; if(!IN1) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示24 display_graphic_16x8(29,1,xsadd[4],tab0);// } if(!IN2) { display_graphic_16x8(28,1,xsadd[10],tab0);// 显示0 display_graphic_16x8(29,1,xsadd[0],tab0);// } if(!IN3) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示23 display_graphic_16x8(29,1,xsadd[3],tab0);// } if(!IN4) { display_graphic_16x8(28,1,xsadd[2],tab0);// 显示20 display_graphic_16x8(29,1,xsadd[0],tab0);// } if(!IN5) { val1236; write_val(); display_graphic_16x8(28,1,xsadd[1],tab0);// 显示16 display_graphic_16x8(29,1,xsadd[6],tab0);// } if(!IN6) { InitLCD(); ClearScreen(); displayGB2312(0XB2,0XCE); /*---参---*/ fontchange(); display_chines_16x16(1,1,newbuff); displayGB2312(0XCA,0XFD); /*---数---*/ fontchange(); display_chines_16x16(3,1,newbuff); displayGB2312(0XC9,0XE8); /*---设---*/ fontchange(); display_chines_16x16(5,1,newbuff); displayGB2312(0XB6,0XA8); /*---定---*/ fontchange(); display_chines_16x16(7,1,newbuff); dis_val(); } OUT41; delay_nms(50); //INTPUT0 if(!INTPUT0) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[0],tab0);// 显示S0 } if(!INTPUT1) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[1],tab0);// 显示S1 } if(!INTPUT2) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[2],tab0);// 显示S2 } if(!INTPUT3) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[3],tab0);// 显示S3 } if(!INTPUT4) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[4],tab0);// 显示S4 } if(!INTPUT5) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[5],tab0);// 显示S5 } if(!INTPUT6) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[6],tab0);// 显示S6 } if(!INTPUT7) { display_graphic_16x8(11,33,xsadd[14],tab0);//. display_graphic_16x8(12,33,xsadd[7],tab0);// 显示S7 } } }