//================================================================================================ void UTL012dac( int a, int b, int c, int d , int sw) // D/A OUTPUT //================================================================================================ { int i; if( sw ){ RS_write_hex16( a ); RS_print( "," ); RS_write_hex16( b ); RS_print( "," ); RS_write_hex16( c ); RS_print( "," ); RS_write_hex16( d ); RS_print( "\n" ); } p1_0 = 0; // FDACLK p1_6 = 0; // FDACS /* Port P16 bit */ for( i = 0; i< 16/*bit*/; i++){ p0_7 = ((a & 0x8000) ? 1 : 0); // CH1 a = a<<1; p0_2 = ((b & 0x8000) ? 1 : 0); // CH2 b = b<<1; p1_1 = ((c & 0x8000) ? 1 : 0); // CH3 c = c<<1; p1_3 = ((d & 0x8000) ? 1 : 0); // CH4 d = d<<1; p1_0 = 1; p1_0 = 0; // FDACLK } p1_6 = 1; // FDACS /* Port P16 bit */ }