include f628_4i include jlib include lm75 var volatile byte CMCON at 0x1F = 0x07 -- disable port a analog functions pin_a0_direction = output pin_a1_direction = output pin_a2_direction = output -- LED ports pin_b0_direction = output pin_b1_direction = output pin_b2_direction = output pin_b3_direction = output pin_b4_direction = output pin_b5_direction = output pin_b6_direction = output pin_b7_direction = output var byte disp_val = 0 var byte disp_dec = 0 procedure disp_write is begin var byte dnum1 = disp_val / 10 var byte dnum2 = disp_val % 10 var byte number = seven_from_digit( dnum1 ) port_b = number ^ 0x0FF pin_a0 = low delay_1ms (1) pin_a0 = high number = seven_from_digit( dnum2 ) port_b = number ^ 0x0FF pin_a1 = low delay_1ms (1) pin_a1 = high number = seven_from_digit( disp_dec ) port_b = number ^ 0x0FF pin_a2 = low delay_1ms (1) pin_a2 = high end procedure procedure write_display (byte in bignum) is begin var byte dnum1 = bignum / 100 var byte dnum2 = (bignum % 100 ) / 10 var byte dnum3 = bignum % 10 var byte number = seven_from_digit( dnum1 ) port_b = number ^ 0x0FF pin_a0 = low delay_1ms (1) pin_a0 = high number = seven_from_digit( dnum2 ) port_b = number ^ 0x0FF pin_a1 = low delay_1ms (1) pin_a1 = high number = seven_from_digit( dnum3 ) port_b = number ^ 0x0FF pin_a2 = low delay_1ms (1) pin_a2 = high end procedure var byte val_to_print = 123 var bit r_freezing var byte r_degrees var byte r_tenth forever loop for 255 loop disp_write () end loop -- disp_val = 12 -- disp_dec = 3 for 50 loop disp_write () end loop lm75_read_fdt (0, r_freezing, r_degrees, r_tenth) disp_val = r_degrees disp_dec = r_tenth disp_write () end loop