Thermo 7 segments - little problem


Results 1 to 40 of 50

Threaded View

  1. #4
    Join Date
    Jul 2008
    Location
    TURKIYE-KONYA
    Posts
    51


    Did you find this post helpful? Yes | No

    Default

    i wrote some codes below it worked on isis.

    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
    some register names and label are written in turkish. i tried to comment them to english.

    there is no transistors to drive diplays.

    if your version is same with my isis , it will work.

    all files in attachment.
    Attached Images Attached Images  
    Attached Files Attached Files
    Last edited by mehmetOzdemir; - 22nd January 2010 at 18:07.

Similar Threads

  1. Windows 7 64 bit problem..can anyone help???
    By ljc4141 in forum mel PIC BASIC Pro
    Replies: 16
    Last Post: - 18th July 2011, 15:29
  2. LED Machine Tach For Tired Eyes
    By Archangel in forum mel PIC BASIC Pro
    Replies: 33
    Last Post: - 27th January 2010, 14:55
  3. adding with 7 segments
    By ruijc in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 28th November 2007, 22:51
  4. 7 segments clock
    By the_apprentice in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 27th April 2006, 18:45
  5. 7 segment digit problem (using Mister E's code)
    By jmgelba in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 9th September 2005, 20:25

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts