i wrote some codes below it worked on isis.
some register names and label are written in turkish. i tried to comment them to english.Code:SEGMENT_A VAR PORTB.3 SEGMENT_B VAR PORTB.7 SEGMENT_C VAR PORTB.0 SEGMENT_D VAR PORTA.3 SEGMENT_E VAR PORTA.2 SEGMENT_F VAR PORTB.2 SEGMENT_G VAR PORTB.1 DP VAR PORTB.6 BASAMAK_0 VAR PORTA.1 BASAMAK_1 VAR PORTA.7 BASAMAK_2 VAR PORTA.0 BASAMAK_3 VAR PORTA.6 DQ VAR PORTB.5 TEMP VAR BYTE I VAR BYTE SIGN VAR BIT ISI VAR WORD ; TEMPERATURE REGISTER COUNT_REMAIN VAR BYTE MASK_0 VAR BYTE MASK_1 VAR BYTE MASK_2 VAR BYTE MASK_3 VAR BYTE CMCON = 7 OUTPUT SEGMENT_A OUTPUT SEGMENT_B OUTPUT SEGMENT_C OUTPUT SEGMENT_D OUTPUT SEGMENT_E OUTPUT SEGMENT_F OUTPUT SEGMENT_G OUTPUT DP OUTPUT BASAMAK_0 OUTPUT BASAMAK_1 OUTPUT BASAMAK_2 OUTPUT BASAMAK_3 SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 0 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 0 DP = 0 BASAMAK_0 = 1 ; DISPLAYS 1. DIGIT BASAMAK_1 = 1 ; DISPLAYS 2. DIGIT BASAMAK_2 = 1 ; DISPLAYS 3. DIGIT BASAMAK_3 = 1 ; DISPLAYS 4. DIGIT MAIN : OWOUT DQ ,1,[$CC,$44] BEKLE : GOSUB EKRAN_0 FOR I = 0 TO 4 GOSUB TARA NEXT I OWIN DQ ,4,[COUNT_REMAIN] IF COUNT_REMAIN = 0 THEN GOTO BEKLE ENDIF OWOUT DQ ,1,[$CC,$BE] OWIN DQ ,0,[ISI.LOWBYTE , ISI.HIGHBYTE] IF ISI.15 = 1 THEN ISI = (65535 - ISI) + 1 SIGN = 1 ELSE SIGN = 0 ENDIF ISI = (ISI * 10)/16 GOTO MAIN EKRAN_0 : ; TRANSFER THE REGISTERS TO DIPLAY MASK_3 = ISI DIG 3 MASK_2 = ISI DIG 2 IF SIGN = 1 THEN MASK_3 = " " MASK_2 = "-" ENDIF MASK_1 = ISI DIG 1 MASK_0 = ISI DIG 0 RETURN TARA : ; SCAN THE DISPLAYS TEMP = MASK_3 : GOSUB TABLO BASAMAK_3 = 0 : PAUSE 1 : BASAMAK_3 = 1 '**************************************************************** '**************************************************************** TEMP = MASK_2 : GOSUB TABLO BASAMAK_2 = 0 : PAUSE 1 : BASAMAK_2 = 1 '**************************************************************** '**************************************************************** TEMP = MASK_1 : GOSUB TABLO BASAMAK_1 = 0 : DP = 1 : PAUSE 1 : BASAMAK_1 = 1 : DP = 0 '**************************************************************** '**************************************************************** TEMP = MASK_0 : GOSUB TABLO BASAMAK_0 = 0 : PAUSE 1 : BASAMAK_0 = 1 RETURN TABLO : ; TABLE , CONVERTS THE DATAS TO 7 SEGMENT CODE SELECT CASE TEMP CASE 0 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 1 SEGMENT_G = 0 CASE 1 SEGMENT_A = 0 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 0 CASE 2 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 0 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 0 SEGMENT_G = 1 CASE 3 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 1 CASE 4 SEGMENT_A = 0 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 1 SEGMENT_G = 1 CASE 5 SEGMENT_A = 1 SEGMENT_B = 0 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 0 SEGMENT_F = 1 SEGMENT_G = 1 CASE 6 SEGMENT_A = 1 SEGMENT_B = 0 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 1 SEGMENT_G = 1 CASE 7 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 0 CASE 8 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 1 SEGMENT_G = 1 CASE 9 SEGMENT_A = 1 SEGMENT_B = 1 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 0 SEGMENT_F = 1 SEGMENT_G = 1 CASE "-" SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 0 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 1 CASE "h" SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 1 SEGMENT_D = 0 SEGMENT_E = 1 SEGMENT_F = 1 SEGMENT_G = 1 CASE "o" SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 0 SEGMENT_G = 1 CASE "b" SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 1 SEGMENT_D = 1 SEGMENT_E = 1 SEGMENT_F = 1 SEGMENT_G = 1 CASE " " SEGMENT_A = 0 SEGMENT_B = 0 SEGMENT_C = 0 SEGMENT_D = 0 SEGMENT_E = 0 SEGMENT_F = 0 SEGMENT_G = 0 END SELECT RETURN
there is no transistors to drive diplays.
if your version is same with my isis , it will work.
all files in attachment.




Bookmarks