Menu

16F882 7 segement

Mikam
2016-11-09
2016-11-09
  • Mikam

    Mikam - 2016-11-09

    Hi
    Have a problem from upgrading from v95.006 to v95.010.
    Code below works correctly with v95.006 only digit 1 has the rolling hello message,
    but when used with the new release v95.010 , digit 1 is blank, the rolling message is displayed
    on digits 2,3 & 4 at the same time.

    Thanks in advance.

    *============================================
    ;Chip Settings
    #chip 16F882,8
    
    ;Defines (Constants)
    #define DISP_COUNT 4
    #define DISP_SEG_A PORTC.1
    #define DISP_SEG_B PORTC.3
    #define DISP_SEG_C PORTA.3
    #define DISP_SEG_D PORTA.1
    #define DISP_SEG_E PORTA.0
    #define DISP_SEG_F PORTC.2
    #define DISP_SEG_G PORTA.4
    #define DISP_SEL_4 PORTC.5
    #define DISP_SEL_3 PORTB.0
    #define DISP_SEL_2 PORTB.1
    #define DISP_SEL_1 PORTC.4
    
    ;Variables
    Dim DISPMESSAGE As byte
    Dim Message As string * 5
    
    '------------------------
    'GCB v0.95.006 2016-02-24
    '------------------------
    Message = "Hello"
    Do Forever
        for DispMessage = 1 to 5
            DisplayChar 1, Message(DispMessage)
            wait 25 10ms
        next
    Loop
    

    *=====================================================

     

    Last edit: Anobium 2016-11-09
  • Mikam

    Mikam - 2016-11-09

    Sorry, looks as though i have put this in the wrong section.

     
  • mmotte

    mmotte - 2016-11-09

    Mike,

    Please look at the help> 7segment in the version -010.

    " digit 1 is blank, the rolling message is displayed on digits 2,3 & 4 at the same time"

    This tells me that the signals to the leds are backwards. Do you have a common anode display (CA) instead of common cathode (CC)?

    Do you have transistor or fet digit selects?

    If so use one or both of these. Look under Help>7segment>common anode

    'support for Common Cathode
    '#define 7Seg_CommonAnode

    'support for pfet or pnp high side driver
    

    ' #define 7Seg_HighSide

    Look at the examples in help.

    GL
    M

     
  • Mikam

    Mikam - 2016-11-09

    Hi M
    Using CC , with NPN's. (2N5551). I did not realize that their was a significant change to the 7segment.h
    Mike

     
  • mmotte

    mmotte - 2016-11-09

    Because of your eye's "persistence of vision" , you will need to caill the display more often than 250ms.

    Also now you don't need the "10ms" wait parameter. ms can be greater than 255, look at the help on keyword "wait'.

    I have come to use a repeat to call Displaychar or DisplayValue multiple time for each digit. See the examples in the help.

    I don't see any use of the "DIS_COUNT 4" . it is not a used define in the 7sement.h.

    I have been using 4 digit CC 7 seg displays from the far east and they seem so much brighter than the older displays i had tried in years past. I use a larger curent limiting resistor(680) and haven't been using the segment select transitor but driving them direct. This may be bad proctice but it is working for me.

    GL
    also Mike

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.