求一个用51单片机控制的路灯节能装置的程序!

全部回答1
默认 最新
  • 数据采集和处理的部分 程序如下: uintad 2543( uchar port) { Uint ad; uint i ; uchar al = 0 ,ah= 0 ; CLOCK =0 ; ¬_CS= 0; /片选 nop(10) ; for (i =0 ;i< 8;i+ +); /把通道号打入2543 { ADDRESS=(bit)(port&0x80); //取最高位输出 nop(5 ); CLOCK =1 ; //高电平,产生一个上升沿,此时输入一位地址 nop(5 ); CLOCK =0 ; nop(5); port = port<<l; //左移一位,使下一位地址至最高位 } for(i=O;i<4;i++); /填充4个CLOCK,此时正在进行AD转换 { CLOCK =1; nop(5 ); CLOCK = 0; nop(5 ); } _CS=1; nop(10); _CS=0: //等待AD转换 nop(10); for (i=0;i<4;i++); 1/取D9,D8 { CLOCK = l ; nop(5 ); ah = ah << 1; if( D_OUT) ah = ah \0x01; CLOCK = 0; nop(5 ); } for (i=0;i<8;i++); 取D7—D0 { CLOCK = l ; nop(5 ); a1= a l<< 1 ; if( D_ OUT) al =al\0x01; CLOCK = 0 ; nop(5 ); } _CS=1; nop(10); /得到AD值 ad=(uint)ah; ad = ad<<8; ad = ad \(uint)al; return ad; } 算术平均滤波方法的部分程序为: #define N 10 char filter() { int sum=0; for ( count=O;count<N;count++) { Sum+ = get_ad (); Delay(); } return( char)(sum/N); }
    0 点赞

没有更多内容了

返回顶部
产品求购 求购