5620送数程序 /*写5620(通道C)**********************************************/ void send_C(uchar dat3) { //(101) LOAD_5620=1; DATA_5620=1; CLK_5620=1; CLK_5620=0; DATA_5620=0; CLK_5620=1; CLK_5620=0; DATA_5620=1; CLK_5620=1; CLK_5620=0; ACC=dat3; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; ACC<<=1 ;DATA_5620=CY;CLK_5620=1; CLK_5620=0; LOAD_5620=0; } 其中一路通道 for(i=50;i>0;i--){send_C(i);switch(i)//通道1 {case 1 :send_B(u1[49]);break; case 2 :send_B(u1[38]);break; case 3 :send_B(u1[47]);break; case 4 :send_B(u1[36]);break; case 5 :send_B(u1[45]);break; case 6 :send_B(u1[34]);break; case 7 :send_B(u1[43]);break; case 8 :send_B(u1[32]);break; case 9 :send_B(u1[41]);break; case 10:send_B(u1[30]);break; case 11:send_B(u1[39]);break; case 12:send_B(u1[28]);break; case 13:send_B(u1[37]);break; case 14:send_B(u1[26]);break; case 15:send_B(u1[35]);break; case 16:send_B(u1[24]);break; case 17:send_B(u1[33]);break; case 18:send_B(u1[22]);break; case 19:send_B(u1[31]);break; case 20:send_B(u1[30]);break; case 21:send_B(u1[29]);break; case 22:send_B(u1[28]);break; case 23:send_B(u1[27]);break; case 24:send_B(u1[26]);break; case 25:send_B(u1[25]);break; case 26:send_B(u1[24]);break; case 27:send_B(u1[23]);break; case 28:send_B(u1[22]);break; case 29:send_B(u1[21]);break; case 30:send_B(u1[20]);break; case 31:send_B(u1[19]);break; case 32:send_B(u1[18]);break; case 33:send_B(u1[17]);break; case 34:send_B(u1[16]);break; case 35:send_B(u1[15]);break; case 36:send_B(u1[14]);break; case 37:send_B(u1[13]);break; case 38:send_B(u1[12]);break; case 39:send_B(u1[11]);break; case 40:send_B(u1[10]);break; case 41:send_B(u1[9]);break;case 42:send_B(u1[8]);break; case 43:send_B(u1[7]);break;case 44:send_B(u1[6]);break; case 45:send_B(u1[5]);break;case 46:send_B(u1[4]);break; case 47:send_B(u1[3]);break;case 48:send_B(u1[2]);break; case 49:send_B(u1[1]);break;case 50:send_B(u1[0]);break;} } 中断中读P1口 /*中断***************************************************/ void inte() interrupt 1 { dat0=P1; m++; ACC=dat0; ACC<<=1 ;u1[m]=CY;if(u1[m]==1){u1[m]=0xff;}else{u1[m]=0xf0;} ACC<<=1 ;u2[m]=CY;if(u2[m]==1){u2[m]=0xe0;}else{u2[m]=0xd0;} ACC<<=1 ;u3[m]=CY;if(u3[m]==1){u3[m]=0xc0;}else{u3[m]=0xb0;} ACC<<=1 ;u4[m]=CY;if(u4[m]==1){u4[m]=0xa0;}else{u4[m]=0x90;} ACC<<=1 ;u5[m]=CY;if(u5[m]==1){u5[m]=0x80;}else{u5[m]=0x70;} ACC<<=1 ;u6[m]=CY;if(u6[m]==1){u6[m]=0x60;}else{u6[m]=0x50;} ACC<<=1 ;u7[m]=CY;if(u7[m]==1){u7[m]=0x40;}else{u7[m]=0x30;} ACC<<=1 ;u8[m]=CY;if(u8[m]==1){u8[m]=0x20;}else{u8[m]=0x10;} if(m==49)//50次 { m=0; } TF0=0; t0_tmer(); }
作者:深山一角 2005-8-9 18:03:00 |