led matrix display project report

Upload: amar-shrestha

Post on 10-Oct-2015

159 views

Category:

Documents


8 download

DESCRIPTION

LED Matrix Display Project Report

TRANSCRIPT

  • KATHMANDU UNIVERSITY SCHOOL OF ENGINEERING

    DEPARTMENT OF ELECTRICAL & ELECTRONICS ENGINEERING

    PROJECT REPORT

    LED Matrix Display

    Submitted To:

    Mr. Jeevan Shrestha

    Project Supervisor

    Department of Electrical and Electronics Engineering

    School of Engineering

    Kathmandu University

    Submitted By:

    Kabool Neupane (EE1, 22017)

    Bigyan Chapagain (EE2, 22031)

    Praveen Shrestha (EE2, 22042)

    Manish Prajapati (EE2, 22048)

    June 27, 2010

  • i

    ABSTRACT

    The project LED Matrix Display is concerned with the construction of a two dimensional

    arrangement of LEDs in a rectangular arrangement for the purpose of displaying English

    Alphabets (Upper Case) and decimal numerals. The characters to be displayed are entered

    using a computer. Therefore, in this project the computer functions as an input device and

    LED Matrix Display functions as an Output device. A computer program shall also be

    included in the project to create a user-interface environment to enter the characters and

    numbers to be displayed.

  • ii

    ACKNOWLEDGEMENT

    We express our sincere thanks to our project supervisor Mr. Jeevan Shrestha for his kind

    support, encouragement and guidance throughout the course of our project work. It is

    because of his continuous support we were able to acheive much in this project work. We

    would also like to express our sincere gratitude to our project coordinator Mr. Samip Malla

    for his guidance on this project course. Similarly we would like to thank all the teachers

    and lab incharges who have helped us in every possible way. This project has helped us a

    lot in our understanding and experience. Besides, it has been a great excitement doing this

    project and we hope to achieve much more in future. We, therefore look forward to your

    kind support in the years to come.

  • iii

    SYMBOLS AND ABBREVIATIONS

    A. Symbols

    Symbol Description

    Ohm

    K Kilo ohm

    s Micro second

    mA Milli ampere

    B. Abbreviations

    Abbreviation Full Form

    LED Light Emitting Diodes

    PC Personal Computer

    IC Integrated Circuit

    PCB Printed Circuit Board

  • iv

    LIST OF FIGURES

    Fig. No. Title Page No.

    1. Block Diagram 2

    2. Parts of a LED 4

    3. The inner workings of LED 4

    4. Eye response to color 5

    5. LED Matrix 6

    6. Transistor as a switch 7

    7. Pulse driven LED 8

    8. Pin configuration of 4017 9

    9. Timing diagram of 4017 10

    10. Cascade 4017 11

    11. Parallel port 11

    12. Parallel port configuration 12

    13. IC 74244 13

    14. Block diagram 14

    15. Cascaded counter implementation 15

    16. Cascaded LED Matrix 16

    17. Code Protection circuit 17

    18. Flowchart of the program 19

    19. Flowchart to detect the column of matrix 20

    20. LED Matrix component setup 21

    21. Master transistor switch setup 21

    22. Output waveform from data pin 6 22

    23. Output waveform from data pin 1 23

    24. LED Matrix display 24

    25. LED Matrix display in PCB 27

    26. Gantt chart 29

  • v

    LIST OF TABLES

    Table No. Title Page No.

    1. Pin configuration of 4017 9

    2. Ring counter sequence 10

    3. Port pins in our project 12

    4. Address of registers 13

    5. Cost Estimation 26

  • vi

    TABLE OF CONTENTS

    Abstract i

    Acknowledgement ii

    Symbols and Abbreviations iii

    List of Figures iv

    List of Tables v

    Chapter 1: Introduction 1

    1.1 Background theory and Objectives 1

    1.2 System overview 2

    1.3 Methodology 2

    1.4 Overview of the Report 3

    Chapter 2: Technology and Literature Survey 4

    2.1 Components used 4

    2.1.1 LEDs 4

    2.1.2 LED Matrix configuration 6

    2.1.3 Transistor as a switch 7

    2.1.4 LED Driving Circuit 7

    2.1.5 Counter IC 4017 9

    2.1.6 Parallel port 11

    2.2 Software used 13

    Chapter 3: System Analysis and experiments 14

    3.1 System Analysis 14

    3.1.1 System analysis 14

    3.1.2 Overall description of the circuit 15

    3.1.3 Computer Program 18

    3.2 Mathematical calculation and experiments 21

    3.2.1 Mathematical calculation 21

    3.2.2 Experimental observation 22

    Chapter 4: Product description and performance 24

    4.1 Product description 24

    4.1.1 Physical description 24

    4.1.2 Cost Estimation 26

    4.2 Product performance 27

    4.3 Final product 27

  • vii

    Chapter 5: Discussion and performance 28

    5.1 Gantt chart 29

    Biblography 30

    Appendix A: Mathematical Calculations 31

    Appendix B: Computer program 33

    Appendix C: PCB Circuit 50

    Appendix D: Datasheets of components 52

    D1: Datasheet of BC548

    D2: Datasheet of 1N4148

    D3: Datasheet of SL100

    D4: Datasheet of 74244

    D5: Datasheet of 7408

    D6: Datasheet of 74175

    D7: Datasheet of 4017

  • 1

    CHAPTER 1

    INTRODUCTION

    1.1 Background Theory and Objectives

    1.1.1 Background Nowadays, we can see various ways of visual information everywhere. One of the

    most common sights that we can see today is the LED Matrix Display. Nowadays

    these are extensively used in streets, malls, buildings, parks and other public places.

    LED Matrix Displays have become a basic way of visual information since they are

    cheaper and more reliable than LCD displays and other expensive display devices.

    Now, considering the growing popularity of the LED Matrix display, we decided to

    construct a small home based PC controlled LED Matrix display so that it could be

    used for small household purposes as well as for various entertainment purposes.

    Therefore our project deals with the construction of a LED Matrix display whose

    input device is a computer.

    1.1.2 Objectives This project mainly focuses on the following topics

    To study existing concepts and required materials related to a LED

    Matrix Display

    To design a proper circuit, for a LED Matrix Display, which is most

    suitable for our case.

    To create a computer program to enter data to be displayed by the LED

    Matrix Display.

    To make the program an user interface program.

  • 2

    1.2 System Overview

    Figure 1: Block Diagram

    The Operational framework of the LED Matrix display is shown in Figure 1. The

    figure illustrates that the computer port controls the rows of the matrix and the

    columns are controlled by the counter. Furthermore, Computer triggers the counter of

    the circuit. This helps in synchronizing the timing pulse of counter with the computer

    signal.

    1.3 Methodology In order to complete this project work we have taken help from various books,

    magazines, websites, and by consulting to teachers and seniors. The procedure taken for

    the successful design and operation of LED Matrix Display comprises of mainly two

    parts i.e.

    Hardware part

    Software part

    1.3.1 Hardware Part For hardware part, the following procedures were taken:

    - Firstly literature survey was conducted. - Different approaches to the circuit design were considered and the best

    was chosen.

    - The circuit was implemented on a bread board. - Various experiments were undertaken. - The overall system was analyzed. - Constantly, the circuit in bread board was upgraded to get the best

    performance.

    - Finally, the circuit was completed in PCB, obtaining successful output.

    Power Flow

    Signal Flow

    Computer Control

    LED Matrix Display

    Control Column

    Con

    trol

    Row

    Counter

  • 3

    1.3.2 Software Part For software part, we applied the following procedures.

    - The user interface program was decided to be implemented in C programming language.

    - The algorithm for the program was discussed. - Then the program was written and implemented in virtual LED Matrix

    environment.

    - For simplicity and user friendliness, the program was further modified with function modules.

    - The program was implemented in the hardware part. - Various problems were encountered, and solved. - Finally the successful output was obtained.

    1.4 Overview of the report This report gives an overview of the project LED Matrix Display. In the next pages, we will discuss about the processes involved in the project. We will also be dealing

    with the technologies used. This report also discusses about the C program

    implementation on accessing and controlling the parallel port. To sum up, this report

    gives any reader a complete overview of our project on LED Matrix Display.

  • 4

    CHAPTER 2

    TECHNOLOGY AND LITERATURE SURVEY

    This project can broadly be divided into two sections:

    Software part: Software part includes programming design for the system. In this part, a C program is developed in order to send information to LED

    Matrix from PC via the parallel port.

    Hardware part: Hardware part includes the design and construction of the hardware parts of the system. Design of LED Matrix and construction of

    supporting elements like development of ring counter, implementation of

    transistors as switch and LED driving circuits are included in this portion.

    Firstly, we will discuss about main components used in the circuit and their structure.

    Later on, their working mechanisms and their effect in the circuit will be discussed.

    2.1 Components used

    2.1.1 LEDs As the name implies, a Light Emitting Diode (LED) is a diode that gives visible or

    invisible (infrared) light when energized. LEDs are diodes usually constructed by

    GaAs. In such semi-conductor p-n junction, during the recombination of holes and

    electrons, the energy is dissipated in the form of photons resulting in the emission of

    light.

    Figure2: Parts of a LED

    aaaaALELlLLED

    Figure3: The inner workings of LED

  • 5

    The color of the LED used for the LED Matrix Display is red. The reason we have

    selected this LED is because it is known that human eyes are least sensitive to red

    color. In other words, shades of red light are least sensitive to our eyes. This implies

    that slight variation in the brightness of the red LED lights will mostly go unnoticed

    by our eyes. This fact is crucial in our product since we require constant brightness of

    all LEDs. Even though considerable thought and careful designing has been done to

    maintain constant brightness, it is nevertheless probable that slight error will arise,

    due to imperfect and non-uniform electronic components, which is inevitable.

    Therefore, red lights provide the perfect solution for this problem.

    Figure 4: Eye Response to color

    Figure 4 illustrates that RED and Blue lights are least sensitive to human eyes. While

    this fact is advantageous to our product as discussed earlier, it however implies that a

    red LED must have a much stronger efficiency than a green one to be visible at the

    same intensity. It means that sensitivity to wavelength and sensitivity to intensity are

    different. For a green LED and red LED to be of equal intensity, the latters efficiency

    should be greater or in other words power transfer should be greater. Considering this

    fact it is ensured that optimum intensity of the red LEDs used in the product has been

    maintained under safe limits.

    Generally Red LEDs are constructed using GaAsP and their threshold voltage is

    usually 1.3 V.

    RED

    GREEN

    BLUE

  • 6

    2.1.2 LED Matrix Configuration:

    The dimension of LED Matrix chosen for our project is 55. It is chosen since it is

    relatively easy to design a character or a number in such configuration. Furthermore,

    since the project implies the use of parallel ports with 8 output pins, the matrix can be

    friendly for the port interface. In any case, a LED matrix with 55 dimension implies

    controlling of 25 LEDs at any time. To reduce this difficulty the configuration of the

    LED matrix is done in following way:

    The configuration shown in figure 5 allows reduction of points to be controlled for the

    LED Matrix Display. Instead of controlling each individual LED, the configuration

    allows us to control entire row and column at any instance. In the configuration, the

    anodes of the LEDs are connected along a row and the cathodes are connected along a

    column. This allows control of an individual LED in any instance. For example, if we

    wish to control a LED at position 22, we can do it by controlling voltage supply at

    2nd

    row and ground supply at 2nd

    column. In this way any LED in the matrix can be

    controlled. In case of 55 LED matrix, this configuration reduces the control points to

    10 from 25.

    For further reduction of number of control pins, we have used a counter to

    automatically control entire column. By doing so, the control pins are further reduced

    to half.

    Figure 5: LED Matrix

    Configuration

  • 7

    2.1.3 Transistor as a Switch

    Transistor is a three layer semi-conductor device consisting of either two n- and one

    p-type layers of material or two p- and one n-type layers of material. Both types can

    be used for switching purpose. In such application a transistor works in saturation and

    cut off mode. The transistor we have used in the project is an npn type transistor

    BC548. This transistor has been used for switching purpose. It is set in common

    emitter configuration. The reason behind the use of transistor as switch is to control

    the power supply to the LEDs.

    VCC

    VCC

    1

    0

    23

    2

    2.1.4 LED Driving Circuits:

    LEDs are current driven elements. It requires a constant current in order to maintain

    constant brightness. A LED Driving Circuit is a circuit that is designed to maintain

    constant brightness in LEDs.

    LED Driving Circuit:

    - Delivers a constant average current under all conditions.

    - Controls ripple current at acceptable level under all conditions.

    - A LED Driving circuit is a type of power conversion circuit

    that delivers constant current instead of constant voltage.

    If a constant current is not maintained, a pulse circuit can be designed to generate

    maximum brightness from a LED without damaging it.

    Figure 6: Transistor as a switch

    Common configuration for tran

    istor as a switch

  • 8

    Pulse Circuit:

    - A sufficient current pulse for the maximum brightness of a

    LED is sent at a suitable frequency.

    - The pulse duration saves a LED from over heating by sending

    the average of current pulses while maintaining the brightness

    of a LED.

    - The pulse duration and synchronization is maintained by

    providing the same timing pulse of computer signal to the

    counter.

    VCC

    5V

    1

    2

    3

    4

    5

    7

    11

    Figure 7: Pulse Driven LED

    Row

    s co

    ntr

    oll

    ed v

    ia p

    aral

    lel

    port

    Column connected to counter output

    Code protection output

  • 9

    Brief Description:

    The previous diagram represents the configuration of the LED driving circuit at any

    instance of time. Since any column is controlled by a counter, no two columns can be

    active at a same time. Therefore at any instant only one such column is active. Now

    the transistors controlled by the parallel port provide a constant current to each LED

    connected to it. This configuration is thus better than the previous ones, which we

    have implemented, which failed to ensure constant current to each LED at all

    conditions. The new configuration along with the pulse driving circuit thus ensures

    better results.

    2.1.5 Counter (IC 4017)

    Figure 8: Pin configuration of IC 4017

    PIN NO. SYMBOL NAME AND FUNCTION

    3, 2, 4, 7, 10, 1, 5, 6, 9,

    11 Q0 to Q9 decoded outputs

    8 GND ground (0 V)

    12 Q5-9 carry output (active LOW)

    13 CP1

    clock input (HIGH-to-LOW, edge-

    triggered)

    14 CP0

    clock input (LOW-to-HIGH, edge-

    triggered)

    15 MR master reset input (active HIGH)

    16 VCC positive supply voltage

    Table 1: Pin configuration of IC 4017

    The 4017 counter has ten outputs which go high in sequence when a source of pulses

    is connected to the clock input and suitable logic is applied to Reset and Enable

    inputs.

    Internally 4017 contains five bistable subunits. These are interconnected in a pattern

    known as Johnson counter. The Johnson Counter is a counter in which the Q output of last F/F is connected to the serial input of the first stage. The outputs of bistables

    are then decoded to give ten individual outputs.

  • 10

    The timing diagram for the 4017 counter is shown below:

    Figure 9: Timing Diagram of 4017

    The behavior of a 3 stage Johnson Counter can be understood as following:

    (ALL F/F is reset in the beginning)

    Table 2: Ring Counter sequence

    5 stage Johnson counter has 10 decoded outputs (2n output states). The decoder uses 2

    input NOR gates to give 10 decoded outputs.

    Clock Pulses D Input Output A Output B Output C

    0 1 0 0 0

    1 1 1 0 0

    2 1 1 1 0

    3 0 1 1 1

    4 0 0 1 1

    5 0 0 0 1

    6 1 0 0 0

  • 11

    Cascading 4017:

    Figure 10: Cascaded 4017

    It is essential not to enable the counter on CP1 when CP0 is HIGH, or on CP0 when

    CP1 is LOW as this would cause an extra count.

    We cascade the 4017 IC for extending the number of decoded outputs. Decoded

    outputs are sequential within each stage and from stage to stage with no dead time

    (except propagation delays).

    2.1.6 Parallel Port

    Introduction

    Parallel port is a type of interface located at the back of PC used for communication

    and device control. Usually, it is used for connecting printer, so also called printer

    port or centronics port. The type of parallel port present in the computer is D-Type 25

    Pin female connector. There may be also be D-Type 25 pin male connector. Since it is

    easy to program and faster compared to other ports, nowadays it is very much popular

    for controlling external devices. But the main disadvantage of parallel port is it

    requires more number of transmission lines, so it cannot be used for long distance

    communication and is so used for short distances only.

    In our project, it is used as the bridge between the hardware component and the

    software component.

    Figure 11: Parallel Port

  • 12

    Pin Configuration

    In parallel port, all 8 bits of a byte will be sent to the port at a time and an indication

    will be sent in another line. For the accomplishment of this task, the 25 pins are grouped to various groups to accomplish the parts of this task. The below given figure

    illustrates it better.

    Figure 12: Parallel port configuration

    For the above figure, it is clear that the port is composed of 4 control lines, 5 status

    lines and 8 data lines and the rest of pins are for ground. The data lines send the data

    from port to the external device. Status lines give the information about the current

    status of the port and control lines control the port access. The control lines and status

    lines are uni-directional i.e. they can feed data only into one direction, whereas the

    data ports are bi-directional.

    Under our project, the port pins are used for respective purposes:

    Table 3: Port pins in our project

    Brief Description on parallel port setup

    The data pins connected to the rows of the LED matrix (D0 to D4) are used to send

    data to the Led Matrix. D0 is connected to the lowest row, D1 is connected to the row

    above the one connected to D0 and so on.

    D5 data pin is connected to the CP0 of the counter. This pin thus provides the

    necessary clock pulse to the counter.

    Register Pin No. Connected to

    D0 to D4 2 to 6 Each row of the LED matrix starting from the bottom row.

    D5 7 CP0 (CLK) of counter

    D6 8 MR(Master Reset) of counter

    D7 9 Clock to D Flip flops

    S6 10 Any one counter output connected to a column.

    GND 18 to 25 Ground

  • 13

    D6 data pin controls the Master Reset pin of the counter. This pin when high resets the

    counter to its starting condition irrespective of its present state.

    D7 data pin provides the clock pulses to the D flip flops which are used in the product

    for code protection of the LED Matrix. This is further discussed in the sections to be

    followed

    S6 status pin is used to detect an output pin of a counter which is connected to a

    column of the matrix. This status pin is used to determine the number of columns of

    the matrix.

    Pins 18 to 25 are shorted internally to provide a complete circuit for other pins. Thus

    they are used as ground for the parallel port.

    Besides these other pins are not used in the project.

    Port address For the programming, we require the address of the registers present in port. Usually,

    the port address starts with 0x378 in most of the computers. The addresses are in

    hexadecimal number system. The addresses for the different registers are given

    below.

    Registers Address

    Data (+0) 0x378

    Status (+1) 0x379

    Control (+2) 0x379A

    Table 4: Address of registers

    Parallel Port protection Parallel Port protection is necessary since it can supply and sink very limited amount

    of current. A little high current above certain limit may damage the parallel port. In

    our case parallel port protection is done using the buffer IC 74244.

    Figure 13: IC 74244

    2.2 Computer Program A C program was used to create a user interface program to control the parallel port.

    The two functions used to control the parallel ports are:

    outportb(PORT ADD,Data); (Sends one byte of data)

    inportb(PORT ADD,Data); (Reads one byte of data)

  • 14

    CHAPTER 3

    SYSTEM ANALYSIS AND EXPERIMENTS

    3.1 System Analysis

    3.1.1 System Analysis

    Figure 14: Block Diagram

    The LED Matrix display has rows and columns connected separately in order to

    reduce the control bits. The rows are connected via transistors, used as switch, to the

    parallel port. So the rows of the matrix are controlled by the computer. Similarly the

    columns of the matrix are connected via transistors, used as switch, to the counter.

    Therefore, the columns are controlled by the counter. The counter consists of 3

    cascaded 4017 with 23 working output pins. Therefore, the cascaded counter is used

    to produce 23 bits ring counter. In order to display certain character, it is necessary to

    synchronize the counter triggering and data sent via parallel port. A certain

    combination of data is sent through the port and displayed on first column. When

    another bit combination is sent it is necessary to trigger the counter so that the bit

    pattern is displayed on second column and so on.

    A particular problem may arise when the computer is restarted. Whenever a computer

    is restarted, the BIOS sends high bits to all parallel port pins. This may cause a

    problem to the LED matrix since the first column is lit at this condition. In order to

    prevent this we have designed a circuit which we have named code protection. In this

    method we have used two D flipflops whose outputs are Anded and given to a master

    transistor switch which acts as a switch to the whole Matrix. Now a certain bit pattern

    to clock input and D input of the D FFs will only set the transistor. Therefore, a

    particular bit pattern which acts as a code will only initialize the LED Matrix and

    prevent unnecessary lighting of the matrix.

    Computer Control

    Counter

    LED Matrix Display

    Control Column

    Con

    trol

    Row

    Power Flow

    Signal Flow

  • 15

    3.1.2 Overall description of the circuit

    In this section, description and working of the entire circuit is provided. The

    description is done in separate parts of each major components of the circuit.

    Counter:

    4017BD_5V

    O0 3

    O1 2

    O2 4

    O3 7

    ~CP113

    MR15

    CP014

    O4 10

    O5 1

    O6 5

    O7 6

    O8 9

    O9 11

    ~O5-9 12

    4017BD_5V

    O0 3

    O1 2

    O2 4

    O3 7

    ~CP113

    MR15

    CP014

    O4 10

    O5 1

    O6 5

    O7 6

    O8 9

    O9 11

    ~O5-9 12

    4017BD_5V

    O0 3

    O1 2

    O2 4

    O3 7

    ~CP113

    MR15

    CP014

    O4 10

    O5 1

    O6 5

    O7 6

    O8 9

    O9 11

    ~O5-9 12

    CLOCK Figure 15: Cascade Counter Implementation

    In cascading, the first decoded output of 1st IC resets the second 4017 IC and so on.

    Similarly, the last decoded output of the IC is ANDed with the master clock. Hence,

    the second IC gets clock as soon as the last decoded output of first IC is high. Since

    we have used 4 LED Matrix we require 23 output counter bits. So 9 bits are taken

    from first counter, 8 bits from second counter and 6 bits from third counter. Therefore

    the master reset of first counter is connected to output 7 of third counter. Therefore we

    have 23 bits output counter.

    The clock input the counter is given via the parallel port. Also, the Master Pin is also

    connected to the parallel port in addition to output 7 of third column.

  • 16

    LED Matrix display

    .....

    .....

    .....

    .....

    VCC

    5V

    R0

    R1

    R2

    R3

    R4

    .....

    LED MATRIX SWITCH

    O1 O2O0 O4 O5O3 O7 O8O6 O9

    To Counter Ouputs

    Figure 16: Cascaded LED Matrix

    The transistors connected to the buffer IC control the Vcc supply to the LEDs.

    Similarly the transistors connected to the counter control the ground to the LEDs.

    Furthermore, the anodes of LEDs in a particular row are connected together to a

    single transistor controlled by parallel port. Similarly, the cathodes of LEDs in a

    particular column are connected together to a single transistor controlled by the

    counter. Therefore, we have a setup where we can control any particular row and

    column which was our objective.

    In order to display a certain character we need to synchronize the triggering of counter

    and the data sent through the parallel port. When a certain bit pattern is supplied one

    of the columns is lit. Now before the next pattern is supplied it is necessary to trigger

    the counter so that next column is initiated. Therefore when the next bit pattern

    arrives it is displayed on next column and so on. In order to synchronize the counter

    and the parallel port, the clock pulse to the counter is taken from the computer itself

    and not by external timer.

    The Master LED Matrix switch is used in order to control the entire LED Matrix

    Display. This is used in the code protection component which is described in the

    following section.

    To P

    aral

    lel

    Port

    via

    Buff

    er I

    C

  • 17

    Code protection

    The code protection is used in order to prevent unnecessary switching on of the LED

    Matrix Display. One such condition arises when computer is restated. Similarly when

    operating software is loaded the parallel port may have unpredictable bit patterns.

    Furthermore, certain noise voltages may also initialize the LED Matrix. So, it is of

    prime importance that a design be made to prevent unnecessary lighting up of the

    LED Matrix Display. The design used for this purpose in our product is illustrated

    below:

    D_FF

    D Q

    ~Q

    RESET

    CLK

    SET

    D_FF

    D Q

    ~Q

    RESET

    CLK

    SET

    Master LED Matrix Transistor

    1211

    10

    9

    8

    7

    LED MATRIX

    VCC5V

    0

    From data pin 7

    From data pin 8 Figure17: Code Protection circuit

    In order to initialize the LED Matrix we need to supply logic 1 to data pin 7 and clock

    pulse to data pin 8 so that both FFs have high outputs. At this condition the transistor

    is on and the LED Matrix display has ground supply. Similarly in order to disable the

    LED Matrix display, we need to supply logic 0 to data pin 7 and clock pulse to data

    pin 8 so that any one of the FFs has 0 output. At this condition the transistor is off and

    the LED Matrix is relinquished from ground supply.

    When the LED matrix is in working condition, i.e. when characters are being

    displayed, the data pin 8 is at 0 pin all the time. Therefore there is no clock pulse to

    the D FFs and they are not affected. In this way we can control the entire LED Matrix

    Display at any time.

  • 18

    3.1.3 Computer Program: Considerable time in the course of this project work has been dedicated to the construction of

    a computer program to control the outputs of LED Matrix display. We have constructed a C

    program to control the LED Matrix. The features of our program are listed below:

    1. Real-Time Display: Allows user to display characters on the matrix display

    in real time.

    2. Scrolling Display: Allows user to scroll the characters on the matrix display.

    3. Automatic detection of number of columns: A status feedback discussed

    above detects the number of columns automatically. This also detects if the

    hardware is turned on or not. It also follows that the program supports any

    number of columns as long as it can maintain a good clock frequency for

    persistence of vision.

    4. Flexibility: The program is flexible in terms of variations. Any variation such

    as modifications to font style can be easily achieved.

    5. Alphanumeric characters: Allows user to enter uppercase alphabets (A to

    Z) and numerals (0 to 9) along with few special characters (+, -, =).

    Functions used in the program and their descriptions:

    int essentials() : Determines and Sets pre-requisites of the program

    void det_col(): Determines number of columns

    void det_mat(): Determines number of matrices

    void initials(): Sets default characters

    void real_time_disp() : Real-Time Display

    int real_time_screen(int *chlen): Real-Time's Menu Screen

    int scroll_disp(): Scrolling Display

    int scroll_screen(): Scrolling's Menu Screen

    void char_select(char tempch[],int strno): Selects entered characters and determines the

    bit pattern

    void extract(int *bit[],int chlen): Extracts the bit patterns and stores them separately

    void byte_dec(int *bit[], int dec[]): Generates decimal equivalence of the extracted bits

    sequentially

    void real_matrix(int dec[]): Sends data to data port

    void initmat(): Enables LED Matrix display

    void stopmat(): Disables LED Matrix display

  • 19

    Flowchart of the program:

    Figure 18: Flowchart of the program

    START

    Menu

    Choice

    Call essentials()

    Call det_col()

    Column

    Detected

    ?

    Try

    Again

    ?

    Call det_mat()

    Check

    Menu

    Choice

    Call real_time_disp() Call scroll_disp()

    Call real_time_screen() Call scroll_screen()

    Call char_select()

    Call extract()

    Call byte_dec()

    Call real_matrix()

    STOP 1 or 2

    Esc

    YES

    NO NO

    YES

    1 2

    Call initmat()

    Call stopmat()

  • 20

    Flowchart to detect the column of the matrix:

    The status line is connected to one of the counter outputs which is connected to one of

    the columns. When the output pin is high status becomes low. This initiates the

    counting sequence and it continues until the next state when status is again 0.

    START

    Status

    =

    0?

    Status = 1

    Count=Count+1

    Status

    =

    0?

    Column = Count

    STOP

    Clock Pulse

    Clock Pulse

    YES

    NO

    YES

    NO

    Figure 19: Flowchart to detect the columns of the matrix

  • 21

    3.2 Mathematical Calculations and Experiments

    We have performed several mathematical calculations and experiments under this

    project in order to achieve correct outcomes. These calculations and experiments

    include:

    3.2.1 Mathematical Calculations (All detail calculations are shown in Appendix A)

    1. Required instantaneous current for maximum brightness = 0.2A

    2. Calculation for Resistors i. For LED Matrix resistors

    1

    2

    0

    3

    4

    6Counter

    Port viabuffer

    VCC5V

    2V

    3.1V

    5

    VCC

    RC

    RB1

    RB2

    8

    0

    Figure 20: LED Matrix component setup

    RC = 15

    RB1 = 333

    RB2 = 2.2k

    ii. For Master Led Matrix transistor

    Master LED Matrix Transistor

    LED MATRIX

    VCC5V

    0

    1RB

    Figure 21: Master Transistor switch setup

    RB = 645

  • 22

    3.2.2 Experimental Observations

    Experiment 1: Output Pins of Parallel Port and Buffer IC

    Direct Port: 5.15V

    Corresponding Buffer Output: 6.1V

    Experiment 2: Voltage Drop across Diode (Red)

    Voltage Drop: 1.81V 2V

    Experiment 3: Frequency from the parallel port when data is sent

    From Data Pin 6 (Clock input):

    Figure 22: Output waveform from data pin 6

    Frequency observed: 1.515kHz.

  • 23

    From Data Pin 1 (Controls Row 1 of LED Matrix):

    Figure 23: Output waveform from data pin 1

    Of any particular column

    On time 600us Total time period 14ms

  • 24

    CHAPTER 4

    PRODUCT DESCRIPTION AND PERFORMANCE

    4.1 Product Description

    4.1.1 Physical Description

    The main purpose of this project LED Matrix Display is to display the alphanumeric characters. It is used as a basic way of visual information. These are

    best used to advertise, display news on streets, malls, buildings, parks and other

    public places. However our product is designed for small purposes such as calculators

    and games.

    The final product consists of LEDs arranged into 2 dimensional, 55 matrix. There

    are 4 such matrices with three additional columns, a D25 male connector for

    connection between the parallel port of pc and the display device, LED Matrix

    Display.

    Figure 24: LED Matrix Display in PCB

    Feature of LED Matrix Display

    The final product of LED Matrix display can be divided into two parts: They are:

    Hardware part and software part.

    Hardware part

    Code protection: The code protection feature prevents unwanted lighting of the LED

    Matrix under certain conditions such as computer restart and noise.

    This therefore ensures safety of LEDs.

    Maintenance of constant current in the LEDs: The constant current is maintained in each LEDs of the LED Matrix,

    Hence this provides equal brightness of LEDs when it is on.

    Absence of high level circuits: The circuit is build up by using simple electronic components like

    transistors and counter ICs. Advanced components such as

    microcontrollers which are usually used to construct LED Matrix

    display are not used. Hence, this feature helps to reduce the price of

    our final product.

  • 25

    Software part

    Real-Time Display:

    Allows user to display characters on the matrix display in real time.

    Scrolling Display:

    Allows user to scroll the characters on the matrix display.

    Automatic detection of number of columns:

    The computer program detects the number of columns automatically. This

    also detects if the hardware is turned on or not. Similarly it indicates if the

    parallel port is connected or not. It also follows that the program supports any

    number of columns as long as it can maintain a good clock frequency for

    persistence of vision.

    Flexibility:

    The program is flexible in terms of variations. Any variation such as

    modifications to font style can be easily achieved.

    Alphanumeric characters: Allows user to enter uppercase alphabets (A to Z) and numerals (0 to

    9) along with few special characters (+, -, =).

  • 26

    4.1.2 Cost Estimation

    Cost Estimation of LED Matrix Display

    Hardware Cost

    Item Quantity Rate Price (Rs.)

    LEDs 150 1.5 225

    Transistor (BC548) 29 4 116

    Transistor (SL100) 1 20 20

    IC 74244 1 65 65

    IC 4017 5 40 200

    IC 7408 1 30 30

    IC 74244 Holder 1 30 30

    IC 4017 Holder 5 10 50

    IC 7408 Holder 1 10 10

    Zener Diode 5 5 25

    Resistor (2.2k) 23 1 23

    Resistor (10) 5 1 5

    Resistor (300K) 5 1 5

    Resistor (450) 3 1 3

    Resistor (3.3K) 1 1 1

    PCB Board (66) 1 300 300

    TOTAL Rs. 1108

    Table 5: Cost Estimation

    Software Cost

    LED Matrix Software = Rs.2500

    Labour Cost

    Labour cost per hour = Rs. 8

    Total hour worked per week = 6 hours

    Labour cost per week = Rs. (86) = Rs. 48

    Labour cost per month = Rs. (484) = Rs. 192

    TOTAL LABOUR COST of 8 months = Rs. (1928) = Rs. 1536

    TOTAL COST without profit = Rs. (1108+2500+1536) = Rs. 5144

    Profit

    5% profit = Rs. 257.2

    TOTAL COST with profit = Rs. (5144+257.2) = Rs. 5401.2

  • 27

    4.2 Product Performance

    Algorithm

    1. Connect the parallel port cable to parallel port of the computer. 2. Give 5V DC supply to the circuit. 3. Run the program and follow the menu instructions.

    When the above procedure was followed the LED Matrix display worked properly.

    The LEDs were lit with constant brightness and the Matrix did not turn on in

    unwanted conditions.

    4.3 Final Product.

    Figure25: Final Product

  • 28

    CHAPTER 5

    DISCUSSION AND CONCLUSION

    The final product of our project has been done on a PCB board. The final product

    represents the design concept of our product. The same concept can be utilized to

    construct other LED Matrix displays for other purposes such as calculators and LED

    Matrix display game.

    We have tried to make our product better in every possible way. For this we have

    spent considerable time and put on a lot of effort on it. In the course of the

    construction of the LED Matrix display we feel that we have achieved much

    knowledge and acquired immense experience.

    The following is the list of work accomplished during the project course:

    Work accomplished:

    - Literature survey on existing LED matrix displays and related materials.

    - Designing a proper LED Matrix display circuit most appropriate for our purpose.

    - Creating a C program to enable user interface between the hardware and the

    computer.

    - Fabrication of the circuit on a PCB board.

    Though we have tried to make the product as complete as possible there is always

    room for improvements. The major improvement that can be done in the software

    portion is constructing a proper delay function to ensure proper frequency. In our case

    we have devised a proper way to maintain appropriate frequency which however can

    be computer dependent. When a proper delay function is devised one can also create a

    program which can set the on-time and off-time automatically to set proper frequency

    automatically for any number of columns. In further improvements, the C program

    can be made compatible for Windows NT and higher systems. In hardware portions

    suitable parallel port slot and dc supply slot can be created to make the product

    portable.

    Therefore considering all the facts discussed in this report, it can be assured that our

    product works properly and is reliable. The product is quite unique in the sense that

    the design concept is in many ways different from that of existing LED Matrix

    displays. Thus in the allocated time we have successfully completed our project work

    and come up with a fine product.

  • 29

    5.1 Gantt Chart

    March April May June

    Proposal

    writing

    Proposal

    defense

    Literature

    review

    Prototype

    design

    Testing and

    Implementation

    Final

    presentation

    Figure 25: Gantt chart

    Work Remaining

    Work Completed

  • 30

    Bibliography

    Boylestad, Robert L & Nashelsky, Louis. Electronic Devices and Circuit Theory. 9th edition. Prentice Hall. India. 2008

    http://en.wikipedia.org/wiki/Led http://www.doctronics.co.uk/4017.htm http://electrosofts.com/parallel/parallelwin.html http://logix4u.net/Legacy_Ports/Parallel_Port/A_tutorial_on_Parallel_port_Int

    erfacing.html

  • 31

    APPENDIX A

    MATHEMATICAL CALCULATIONS

    1. Calculation for required instantaneous current for maximum brightness

    Iav =

    Since Iav = =8mA

    Iins = =0.18A =0.2A

    2. Calculation for Resistors

    (i) For LED Matrix resistors

    1

    2

    0

    3

    4

    6Counter

    Port viabuffer

    VCC5V

    2V

    3.1V

    5

    VCC

    RC

    RB1

    RB2

    8

    0

    We have, Isat = 0.2A

    Now,

    RC = =15

    IB1 = = =5.210-4

    A

    V

    600us

    14ms

    t

  • 32

    We take IB1, slightly greater

    i.e. IB1 =610-4

    A

    Now,

    RB1 = =333.33

    So, we have used 310 resistor.

    Similar for RB2,

    RB2 = =2.6k 2.2k

    (ii) For Master LED Matrix transistor

    Master LED Matrix Transistor

    LED MATRIX

    VCC5V

    0

    1RB

    ICsat =0.25 =1A

    IB1 = =6.6710-3

    A

    Therefore, RB = =645

  • 33

    APPENDIX B

    COMPUTER PROGRAM

    /*LED MATRIX DISPLAY PROGRAM FOR MATRIX OF 5 ROWS*/

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #define PORT 0x378 /* PORT'S REGISTER ADDRESS */

    #define ON_TIME 1

    #define OFF_TIME 0

    #define ROW 5

    int **byte; /* Stores character patterns */

    char check; /* Checks choice in menu */

    int COL; /* No. of columns */

    int MAT; /* No. of matrices */

    int charlen=100; /* Maximum number of characters */

    char ch[100];

    int essentials(); /* Determines and Sets pre-requisites of the program */

    void det_col(); /* Determines number of columns */

    void det_mat(); /* Determines number of matrices */

    void initials(); /* Sets default characters */

    void real_time_disp() ; /* Real-Time Display */

    int real_time_screen(int *chlen); /* Real-Time's Menu Screen */

    int scroll_disp(); /* Scrolling Display */

    int scroll_screen(); /* Scrolling's Menu Screen */

    void char_select(char tempch[],int strno); /* Selects entered characters and

    determines the bit patterns */

    void extract(int *bit[],int chlen); /* Extracts the bit patterns and stores

    them seperately */

    void byte_dec(int *bit[], int dec[]); /* Generates decimal equivalence of the

    extracted bits sequentially*/

    void real_matrix(int dec[]); /* Sends data to data port */

    void initmat(); /* Enables LED Matrix */

    void stopmat(); /* Disables LED Matrix */

  • 34

    int main(){

    while(1){

    clrscr();

    gotoxy(30,20);

    printf("Please enter a choice:\n");

    gotoxy(31,22);

    printf("1: Real Time Display\n");

    gotoxy(31,24);

    printf("2: Scrolling Display\n");

    gotoxy(36,28);

    printf("Esc: Exit:\n\n");

    gotoxy(40,30);

    check=getch();

    delay(100);

    if(check=='\033') return 0;

    if(essentials()==0) continue;

    initmat();

    if(check=='1') real_time_disp();

    if(check=='2') scroll_disp();

    stopmat();

    outportb(PORT,0);

    }

    outportb(PORT,0);

    free(ch);

    free(byte);

    return 0;

    }

    void initmat(){

    outportb(PORT,0);

    outportb(PORT,64);

    delay(10);

    outportb(PORT,192);

    delay(10);

    outportb(PORT,64);

    delay(10);

    outportb(PORT,192);

    delay(10);

    outportb(PORT,64);

    delay(10);

    outportb(PORT,0);

    }

  • 35

    void stopmat(){

    outportb(PORT,0);

    outportb(PORT,0);

    delay(10);

    outportb(PORT,128);

    delay(10);

    outportb(PORT,0);

    delay(10);

    outportb(PORT,128);

    delay(10);

    outportb(PORT,0);

    delay(10);

    outportb(PORT,128);

    }

    int essentials(){

    int i;

    char chtry;

    while(1){

    det_col();

    if(COL==-1){ /* Column not detected */

    clrscr();

    gotoxy(33,20);

    printf("Column not detected\n");

    gotoxy(24,23);

    printf("Please check the connection and try again");

    gotoxy(30,28);

    printf("Press any key to try again");

    gotoxy(29,30);

    printf("Press Esc to return to menu");

    gotoxy(42,32);

    chtry=getch();

    if (chtry=='\033') return 0;

    else continue;

    }

    det_mat();

    initials();

    byte=(int *)malloc(charlen*sizeof(int*));/*Create memory to store bit

    patterns*/

    for(i=0;i

  • 36

    void det_col(){

    int counter,count=0,checker=0;

    int F=0;

    int data;

    clrscr();

    while(1){

    checker++; /* Sets the time limit for the counting sequence */

    data=inportb(PORT+1);

    counter=(data & 0x40)/0x40;/* Checks the status line connected to a counter

    output */

    gotoxy(38,25);

    printf("LOADING");

    if(counter==0){ /* Initiate counting sequence */

    while(1){

    checker=0;

    outportb(PORT,32); /* Clock Pulse for the counter */

    delay(1);

    outportb(PORT,0);

    delay(1);

    data=inportb(PORT+1);

    counter=(data & 0x40)/0x40;

    count++; /* Incremented with every timing pulse */

    if(counter==0){ /* The counting is stopped */

    F=1;

    break;

    }

    }

    }

    outportb(PORT,32); /* Clock Pulse for the counter */

    delay(1);

    outportb(PORT,0);

    delay(1);

    if(F==1) break;

    if(checker==1000){ /* If no status detection till checker limit

    hardware error */

    count=-1;

    break;

    }

    }

    COL=count;

    outportb(PORT,0);

    }

  • 37

    void det_mat(){

    int m,r;

    m=COL/5;

    r=COL%5;

    if(r!=m-1) m=m-1; /* Sets the most feasible matrix number */

    MAT=m;

    clrscr();

    printf("Column=%d Matrix=%d",COL,MAT);

    getch();

    }

    void initials(){

    int i;

    for(i=0;i

  • 38

    value=real_time_screen(&i);

    if(value==0) break; /* Esc or Enter Pressed */

    if(value==-1) continue; /* Maximum character reached */

    k=i;

    gotoxy(20,20);

    if(i0){ /* Backspace */

    if(i=charlen-1){ /* Maximum character check */

    gotoxy(26,15);

    printf("Maximum character limit reached");

    gotoxy(xco,yco);

    return -1;

    }

    if((ch[i]>=060&&ch[i]=0101&&ch[i]

  • 39

    i++;

    *chlen=i;

    return 1;

    }

    return -1;

    }

    int scroll_disp(){

    int i=0,j,x=40;

    int xco,yco;

    int col=0;

    float check=0;

    int shift;

    int start=COL,add=0;

    float scroll_speed;

    int swap_shift=0;

    int chlen;

    int *bit[ROW],*temp[ROW];

    int *dec;

    char keystr,tempch;

    dec=(int *)malloc(COL*sizeof(int));

    for(i=0;i

  • 40

    if(check>scroll_speed) check=scroll_speed-1;

    gotoxy(5,5);

    //printf("%d ",scroll_speed);

    }

    gotoxy(25,25);

    cprintf("");

    gotoxy(x,25);

    cprintf("|");

    gotoxy(40,26);

    printf("%f %f",scroll_speed,check);

    check++;

    byte_dec(temp,dec);

    real_matrix(dec);

    if(check>scroll_speed){ /* Change pattern of output */

    shift--;

    check=0;

    if(swap_shift==0){ /* Scroll the characters to the left */

    start--;

    if(start

  • 41

    }

    }

    }

    }

    return 0;

    }

    int scroll_screen(){

    int i=0;

    char tempch;

    int xco,yco,init_yco;

    clrscr();

    gotoxy(26,1);

    printf("LED MATRIX SCROLLING DISPLAY");

    gotoxy(1,6);

    printf("PLEASE ENTER THE CHARACTER SEQUENCE: ");

    init_yco=wherey();

    while(1){ /* To compensate the

    problem with getch() */

    xco=wherex();

    yco=wherey();

    if(i>charlen){ /* Maximum character

    reached */

    gotoxy(25,10);

    printf("Maximum character limit reached");

    gotoxy(xco,yco);

    }

    else{

    gotoxy(24,10);

    printf(" ");

    gotoxy(xco,yco);

    }

    tempch=toupper(getch());

    if(tempch=='\015'||tempch=='\033') break; /* If Enter or Esc */

    if(tempch=='\010'){ /* If Backspace */

    if(i>0){

    ch[i]='\000';

    i--;

    if(wherey()!=init_yco&&wherex()==1) gotoxy(80,wherey()-1);

    else gotoxy(wherex()-1,wherey());

    clreol();

    }

    continue;

    }

    if(i>charlen) continue;

    if((tempch>=060&&tempch=0101&&tempch

  • 42

    i++;

    }

    }

    gotoxy(24,10);

    printf(" ");

    gotoxy(24,15);

    printf("PRESS:\n");

    gotoxy(27,17);

    printf("+ : Increase scrolling speed");

    gotoxy(27,19);

    printf("- : Decrease scrolling speed");

    gotoxy(28,40);

    printf("Press Esc to return to menu");

    if(i==0){

    ch[0]=' ';

    return 1;

    }

    else return i;

    }

    void extract(int *bit[],int chlen){

    int i,j,k,l,r,q;

    for(i=0;i=0;j--){ /* Start from the last character */

    q=byte[j][i];

    for(k=0;k

  • 43

    void real_matrix(int dec[]){

    int i;

    float j=0;

    outportb(PORT,64); /* Master Reset */

    for(i=0;i

  • 44

    byte[i][0]=10001;

    byte[i][1]=10001;

    byte[i][2]=11111;

    byte[i][3]=1;

    byte[i][4]=1;

    break;

    case '5':

    byte[i][0]=11111;

    byte[i][1]=10000;

    byte[i][2]=11110;

    byte[i][3]=1;

    byte[i][4]=11110;

    break;

    case '6':

    byte[i][0]=1110;

    byte[i][1]=10000;

    byte[i][2]=11110;

    byte[i][3]=10001;

    byte[i][4]=1110;

    break;

    case '7':

    byte[i][0]=11111;

    byte[i][1]=1;

    byte[i][2]=10;

    byte[i][3]=100;

    byte[i][4]=1000;

    break;

    case '8':

    byte[i][0]=1110;

    byte[i][1]=10001;

    byte[i][2]=1110;

    byte[i][3]=10001;

    byte[i][4]=1110;

    break;

    case '9':

    byte[i][0]=1110;

    byte[i][1]=10001;

    byte[i][2]=1111;

    byte[i][3]=1;

    byte[i][4]=1110;

    break;

    case 'A':

    byte[i][0]=1110;

    byte[i][1]=10001;

    byte[i][2]=11111;

    byte[i][3]=10001;

    byte[i][4]=10001;

    break;

    case 'B':

  • 45

    byte[i][0]=11110;

    byte[i][1]=10001;

    byte[i][2]=11110;

    byte[i][3]=10001;

    byte[i][4]=11110;

    break;

    case 'C':

    byte[i][0]=1111;

    byte[i][1]=10000;

    byte[i][2]=10000;

    byte[i][3]=10000;

    byte[i][4]=1111;

    break;

    case 'D':

    byte[i][0]=11110;

    byte[i][1]=10001;

    byte[i][2]=10001;

    byte[i][3]=10001;

    byte[i][4]=11110;

    break;

    case 'E':

    byte[i][0]=11111;

    byte[i][1]=10000;

    byte[i][2]=11110;

    byte[i][3]=10000;

    byte[i][4]=11111;

    break;

    case 'F':

    byte[i][0]=11111;

    byte[i][1]=10000;

    byte[i][2]=11110;

    byte[i][3]=10000;

    byte[i][4]=10000;

    break;

    case 'G':

    byte[i][0]=11111;

    byte[i][1]=10000;

    byte[i][2]=10111;

    byte[i][3]=10101;

    byte[i][4]=11101;

    break;

    case 'H':

    byte[i][0]=10001;

    byte[i][1]=10001;

    byte[i][2]=11111;

    byte[i][3]=10001;

    byte[i][4]=10001;

    break;

    case 'I':

    byte[i][0]=11111;

  • 46

    byte[i][1]=100;

    byte[i][2]=100;

    byte[i][3]=100;

    byte[i][4]=11111;

    break;

    case 'J':

    byte[i][0]=1111;

    byte[i][1]=10;

    byte[i][2]=10;

    byte[i][3]=10010;

    byte[i][4]=1100;

    break;

    case 'K':

    byte[i][0]=10011;

    byte[i][1]=10100;

    byte[i][2]=11000;

    byte[i][3]=10100;

    byte[i][4]=10011;

    break;

    case 'L':

    byte[i][0]=10000;

    byte[i][1]=10000;

    byte[i][2]=10000;

    byte[i][3]=10000;

    byte[i][4]=11111;

    break;

    case 'M':

    byte[i][0]=10001;

    byte[i][1]=11011;

    byte[i][2]=10101;

    byte[i][3]=10001;

    byte[i][4]=10001;

    break;

    case 'N':

    byte[i][0]=10001;

    byte[i][1]=11001;

    byte[i][2]=10101;

    byte[i][3]=10011;

    byte[i][4]=10001;

    break;

    case 'O':

    byte[i][0]=1110;

    byte[i][1]=10001;

    byte[i][2]=10001;

    byte[i][3]=10001;

    byte[i][4]=1110;

    break;

    case 'P':

    byte[i][0]=11110;

    byte[i][1]=10001;

  • 47

    byte[i][2]=11110;

    byte[i][3]=10000;

    byte[i][4]=10000;

    break;

    case 'Q':

    byte[i][0]=1110;

    byte[i][1]=10001;

    byte[i][2]=10101;

    byte[i][3]=10011;

    byte[i][4]=1111;

    break;

    case 'R':

    byte[i][0]=11110;

    byte[i][1]=10001;

    byte[i][2]=11110;

    byte[i][3]=10100;

    byte[i][4]=10011;

    break;

    case 'S':

    byte[i][0]=1111;

    byte[i][1]=10000;

    byte[i][2]=11110;

    byte[i][3]=1;

    byte[i][4]=11110;

    break;

    case 'T':

    byte[i][0]=11111;

    byte[i][1]=100;

    byte[i][2]=100;

    byte[i][3]=100;

    byte[i][4]=100;

    break;

    case 'U':

    byte[i][0]=10001;

    byte[i][1]=10001;

    byte[i][2]=10001;

    byte[i][3]=10001;

    byte[i][4]=1110;

    break;

    case 'V':

    byte[i][0]=10001;

    byte[i][1]=10001;

    byte[i][2]=10001;

    byte[i][3]=1010;

    byte[i][4]=100;

    break;

    case 'W':

    byte[i][0]=10001;

    byte[i][1]=10001;

    byte[i][2]=10101;

  • 48

    byte[i][3]=11011;

    byte[i][4]=10001;

    break;

    case 'X':

    byte[i][0]=10001;

    byte[i][1]=1010;

    byte[i][2]=100;

    byte[i][3]=1010;

    byte[i][4]=10001;

    break;

    case 'Y':

    byte[i][0]=10001;

    byte[i][1]=1010;

    byte[i][2]=100;

    byte[i][3]=100;

    byte[i][4]=100;

    break;

    case 'Z':

    byte[i][0]=11111;

    byte[i][1]=10;

    byte[i][2]=100;

    byte[i][3]=1000;

    byte[i][4]=11111;

    break;

    case '`':

    byte[i][0]=11111;

    byte[i][1]=11111;

    byte[i][2]=11111;

    byte[i][3]=11111;

    byte[i][4]=11111;

    break;

    case '-':

    byte[i][0]=0;

    byte[i][1]=0;

    byte[i][2]=11111;

    byte[i][3]=0;

    byte[i][4]=0;

    break;

    case '+':

    byte[i][0]=100;

    byte[i][1]=100;

    byte[i][2]=11111;

    byte[i][3]=100;

    byte[i][4]=100;

    break;

    case '=':

    byte[i][0]=0;

    byte[i][1]=11111;

    byte[i][2]=0;

    byte[i][3]=11111;

  • 49

    byte[i][4]=0;

    break;

    case '^':

    byte[i][0]=100;

    byte[i][1]=1010;

    byte[i][2]=10001;

    byte[i][3]=0;

    byte[i][4]=0;

    break;

    default:

    byte[i][0]=0;

    byte[i][1]=0;

    byte[i][2]=0;

    byte[i][3]=0;

    byte[i][4]=0;

    }

    }

    }

  • 50

    APPENDIX C

    PCB Circuit

    Top section

  • 51

    Bottom section

  • 52

    APPENDIX D

    DATASHEETS

    The following pages contain datasheets of the components used in the final product.

    The datasheets are organized sequentially in following order:

    1. Datasheet of BC548 2. Datasheet of 1N4148 3. Datasheet of SL100 4. Datasheet of 74244 5. Datasheet of 7408 6. Datasheet of 74175 7. Datasheet of 4017

  • BC548 / BC548A / BC548B / BC548C

    NPN General Purpose Amplifier

    BC548BC548ABC548BBC548C

    This device is designed for use as general purpose amplifiersand switches requiring collector currents to 300 mA. Sourced fromProcess 10. See PN100A for characteristics.

    Absolute Maximum Ratings* TA = 25C unless otherwise noted

    *These ratings are limiting values above which the serviceability of any semiconductor device may be impaired.

    NOTES:1) These ratings are based on a maximum junction temperature of 150 degrees C.2) These are steady state limits. The factory should be consulted on applications involving pulsed or low duty cycle operations.

    Thermal Characteristics TA = 25C unless otherwise noted

    Symbol Parameter Value UnitsVCEO Collector-Emitter Voltage 30 VVCES Collector-Base Voltage 30 VVEBO Emitter-Base Voltage 5.0 VIC Collector Current - Continuous 500 mATJ, Tstg Operating and Storage Junction Temperature Range -55 to +150 C

    Symbol Characteristic Max UnitsBC548 / A / B / C

    PD Total Device DissipationDerate above 25C

    6255.0

    mWmW/C

    RJC Thermal Resistance, Junction to Case 83.3 C/WRJA Thermal Resistance, Junction to Ambient 200 C/W

    EB C

    TO-92

    1997 Fairchild Semiconductor Corporation 548-ABC, Rev B

  • BC548 / BC548A / BC548B / BC548CNPN General Purpose Amplifier

    (continued)

    Electrical Characteristics TA = 25C unless otherwise noted

    OFF CHARACTERISTICS

    Symbol Parameter Test Conditions Min Max Units

    V(BR)CEO Collector-Emitter Breakdown Voltage IC = 10 mA, IB = 0 30 VV(BR)CBO Collector-Base Breakdown Voltage IC = 10 A, IE = 0 30 VV(BR)CES Collector-Base Breakdown Voltage IC = 10 A, IE = 0 30 VV(BR)EBO Emitter-Base Breakdown Voltage IE = 10 A, IC = 0 5.0 VICBO Collector Cutoff Current VCB = 30 V, IE = 0

    VCB = 30 V, IE = 0, TA = +150 C155.0

    nAA

    ON CHARACTERISTICShFE DC Current Gain VCE = 5.0 V, IC = 2.0 mA 548

    548A 548B

    548C

    110110200420

    800220450800

    VCE(sat) Collector-Emitter Saturation Voltage IC = 10 mA, IB = 0.5 mAIC = 100 mA, IB = 5.0 mA

    0.250.60

    VV

    VBE(on) Base-Emitter On Voltage VCE = 5.0 V, IC = 2.0 mAVCE = 5.0 V, IC = 10 mA

    0.58 0.700.77

    VV

    SMALL SIGNAL CHARACTERISTICShfe Small-Signal Current Gain IC = 2.0 mA, VCE = 5.0 V,

    f = 1.0 kHz125 900

    NF Noise Figure VCE = 5.0 V, IC = 200 A,RS = 2.0 k, f = 1.0 kHz,BW = 200 Hz

    10 dB

  • DATA SHEET

    Product data sheet Supersedes data of 2002 Jan 23

    2004 Aug 10

    DISCRETE SEMICONDUCTORS

    1N4148; 1N4448High-speed diodes

    M3D176

  • NXP Semiconductors Product data sheetTYPE NUMBERPACKAGE

    NAME DESCRIPTION VERSION1N4148 hermetically sealed glass package; axial leaded; 2 leads SOD271N4448High-speed diodes 1N4148; 1N4448

    FEATURES

    Hermetically sealed leaded glass SOD27 (DO-35) package

    High switching speed: max. 4 ns General application Continuous reverse voltage: max. 100 V Repetitive peak reverse voltage: max. 100 V Repetitive peak forward current: max. 450 mA.

    APPLICATIONS

    High-speed switching.

    DESCRIPTION

    The 1N4148 and 1N4448 are high-speed switching diodes fabricated in planar technology, and encapsulated in hermetically sealed leaded glass SOD27 (DO-35) packages.

    MARKING

    TYPE NUMBER MARKING CODE1N4148 1N4148PH or 4148PH1N4448 1N4448

    Fig.1 Simplified outline (SOD27; DO-35) and symbol.

    The diodes are type branded.

    handbook, halfpage

    MAM246

    k a

    ORDERING INFORMATION2004 Aug 10 2

  • NXP Semiconductors Product data sheetSYMBOL PARAMETER CONDITIONS MIN. MAX. UNITVF forward voltage see Fig.3

    1N4148 IF = 10 mA 1 V1N4448 IF = 5 mA 0.62 0.72 V

    IF = 100 mA 1 VIR reverse current VR = 20 V; see Fig.5 25 nA

    VR = 20 V; Tj = 150 C; see Fig.5 50 AIR reverse current; 1N4448 VR = 20 V; Tj = 100 C; see Fig.5 3 ACd diode capacitance f = 1 MHz; VR = 0 V; see Fig.6 4 pFtrr reverse recovery time when switched from IF = 10 mA to

    IR = 60 mA; RL = 100 ; measured at IR = 1 mA; see Fig.7

    4 ns

    Vfr forward recovery voltage when switched from IF = 50 mA; tr = 20 ns; see Fig.8

    2.5 V

    THERMAL CHARACTERISTICS

    SYMBOL PARAMETER CONDITIONS VALUE UNITRth(j-tp) thermal resistance from junction to tie-point lead length 10 mm 240 K/WRth(j-a) thermal resistance from junction to ambient lead length 10 mm; note 1 350 K/WNote1. Device mounted on an FR4 printed-circuit board; lead length 10 mm.

    VRRM repetitive peak reverse voltage 100 VVR continuous reverse voltage 100 VIF continuous forward current see Fig.2; note 1 200 mAIFRM repetitive peak forward current 450 mAIFSM non-repetitive peak forward current square wave; Tj = 25 C prior to

    surge; see Fig.4t = 1 s 4 At = 1 ms 1 At = 1 s 0.5 A

    Ptot total power dissipation Tamb = 25 C; note 1 500 mWTstg storage temperature 65 +200 CTj junction temperature 200 C

    ELECTRICAL CHARACTERISTICSTj = 25 C unless otherwise specified.High-speed diodes 1N4148; 1N4448

    LIMITING VALUESIn accordance with the Absolute Maximum Rating System (IEC 60134).

    SYMBOL PARAMETER CONDITIONS MIN. MAX. UNIT2004 Aug 10 3

    Note1. Device mounted on a printed-circuit board without metallization pad.

  • 2000 Fairchild Semiconductor Corporation DS008442 www.fairchildsemi.com

    August 1986Revised March 2000

    DM

    74LS244 O

    ctal 3-STATE Buffe

    r/Line

    Drive

    r/Line Receiv

    er

    DM74LS244Octal 3-STATE Buffer/Line Driver/Line ReceiverGeneral DescriptionThese buffers/line drivers are designed to improve both theperformance and PC board density of 3-STATE buffers/drivers employed as memory-address drivers, clock driv-ers, and bus-oriented transmitters/receivers. Featuring 400mV of hysteresis at each low current PNP data line input,they provide improved noise rejection and high fanout out-puts and can be used to drive terminated lines down to133.

    Featuresn 3-STATE outputs drive bus lines directlyn PNP inputs reduce DC loading on bus linesn Hysteresis at data inputs improves noise marginsn Typical IOL (sink current) 24 mAn Typical IOH (source current) 15 mAn Typical propagation delay times

    Inverting 10.5 nsNoninverting 12 ns

    n Typical enable/disable time 18 nsn Typical power dissipation (enabled)

    Inverting 130 mWNoninverting 135 mW

    Ordering Code:

    Devices also available in Tape and Reel. Specify by appending the suffix letter X to the ordering code.

    Connection Diagram Function Table

    L = LOW Logic LevelH = HIGH Logic LevelX = Either LOW or HIGH Logic LevelZ = High Impedance

    Order Number Package Number Package DescriptionDM74LS244WM M20B 20-Lead Small Outline Integrated Circuit (SOIC), JEDEC MS-013, 0.300 WideDM74LS244SJ M20D 20-Lead Small Outline Package (SOP), EIAJ TYPE II, 5.3mm WideDM74LS244N N20A 20-Lead Plastic Dual-In-Line Package (PDIP), JEDEC MS-001, 0.300 Wide

    Inputs OutputG A YL L LL H HH X Z

  • www.fairchildsemi.com 2

    DM

    74LS

    244

    Absolute Maximum Ratings(Note 1)Note 1: The Absolute Maximum Ratings are those values beyond whichthe safety of the device cannot be guaranteed. The device should not beoperated at these limits. The parametric values defined in the ElectricalCharacteristics tables are not guaranteed at the absolute maximum ratings.The Recommended Operating Conditions table will define the conditionsfor actual device operation.

    Recommended Operating Conditions

    Electrical Characteristics over recommended operating free air temperature range (unless otherwise noted)

    Note 2: All typicals are at VCC = 5V, TA = 25C.Note 3: Not more than one output should be shorted at a time, and the duration should not exceed one second.

    Supply Voltage 7VInput Voltage 7VOperating Free Air Temperature Range 0C to +70CStorage Temperature Range 65C to +150C

    Symbol Parameter Min Nom Max UnitsVCC Supply Voltage 4.75 5 5.25 VVIH HIGH Level Input Voltage 2 VVIL LOW Level Input Voltage 0.8 VIOH HIGH Level Output Current 15 mAIOL LOW Level Output Current 24 mATA Free Air Operating Temperature 0 70 C

    Symbol Parameter Conditions Min Typ Max

    Units(Note 2)VI Input Clamp Voltage VCC = Min, II = 18 mA 1.5 VHYS Hysteresis (VT+ VT) VCC = Min 0.2 0.4 V

    Data Inputs OnlyVOH HIGH Level Output Voltage VCC = Min, VIH = Min 2.7

    VIL = Max, IOH = 1 mAVCC = Min, VIH = Min 2.4 3.4 VVIL = Max, IOH = 3 mAVCC = Min, VIH = Min 2VIL = 0.5V, IOH = Max

    VOL LOW Level Output Voltage VCC = Min IOL = 12 mA 0.4VVIL = Max IOL = Max 0.5

    VIH = MinIOZH Off-State Output Current, VCC = Max VO = 2.7V 20 A

    HIGH Level Voltage Applied VIL = MaxIOZL Off-State Output Current, VIH = Min VO = 0.4V 20 A

    LOW Level Voltage AppliedII Input Current at Maximum VCC = Max VI = 7V 0.1 mA

    Input VoltageIIH HIGH Level Input Current VCC = Max VI = 2.7V 20 AIIL LOW Level Input Current VCC = Max VI = 0.4V 0.5 200 AIOS Short Circuit Output Current VCC = Max (Note 3) 40 225 mAICC Supply Current VCC = Max, Outputs HIGH 13 23

    Outputs Open Outputs LOW 27 46 mAOutputs Disabled 32 54

  • 3 www.fairchildsemi.com

    DM

    74LS244Switching Characteristics at VCC = 5V, TA = 25C Symbol Parameter Conditions Max Units

    tPLH Propagation Delay Time CL = 45 pF 18 nsLOW-to-HIGH Level Output RL = 667

    tPHL Propagation Delay Time CL = 45 pF 18 nsHIGH-to-LOW Level Output RL = 667

    tPZL Output Enable Time to CL = 45 pF 30 nsLOW Level RL = 667

    tPZH Output Enable Time to CL = 45 pF 23 nsHIGH Level RL = 667

    tPLZ Output Disable Time CL = 5 pF 25 nsfrom LOW Level RL = 667

    tPHZ Output Disable Time CL = 5 pF 18 nsfrom HIGH Level RL = 667

    tPLH Propagation Delay Time CL = 150 pF 21 nsLOW-to-HIGH Level Output RL = 667

    tPHL Propagation Delay Time CL = 150 pF 22 nsHIGH-to-LOW Level Output RL = 667

    tPZL Output Enable Time to CL = 150 pF 33 nsLOW Level RL = 667

    tPZH Output Enable Time to CL = 150 pF 26 nsHIGH Level RL = 667

  • Philips Semiconductors

    74F08Quad two-input AND gate

    Product specification 1995 Apr 19

    INTEGRATED CIRCUITS

    IC15 Data Handbook

  • Philips Semiconductors Product specification

    74F08Quad 2-input AND gate

    21995 Apr 19 8530328 15145

    74F08 Available for industrial range (40C to +85C)

    TYPE TYPICALPROPAGATION

    DELAY

    TYPICALSUPPLY CURRENT

    (TOTAL)74F08 4.1ns 7.1mA

    PIN CONFIGURATION

    14

    13

    12

    11

    10

    9

    87

    6

    5

    4

    3

    2

    1

    GND

    VCC

    D2b

    D2a

    Q2

    Q3

    D3b

    D3a

    D0a

    D0b

    Q1

    Q0

    D1a

    D1b

    SF00038

    ORDERING INFORMATION

    DESCRIPTION COMMERCIAL RANGEVCC = 5.0V 10%, Tamb = 0C to +70CINDUSTRIAL RANGE

    VCC = 5.0V 10%, Tamb = 40C to +85CPKG DWG #

    14-pin plastic DIP N74F08N I74F08N SOT27-1

    14-pin plastic SO N74F08D I74F08D SOT108-1

    INPUT AND OUTPUT LOADING AND FAN-OUT TABLEPINS DESCRIPTION 74F (U.L.) HIGH/LOW LOAD VALUE HIGH/LOW

    Dna, Dnb Data inputs 1.0/1.0 20A/0.6mA

    Qn Data output 50/33 1.0mA/20mANOTE: One (1.0) FAST unit load is defined as: 20A in the High state and 0.6mA in the Low state.

    LOGIC DIAGRAMD0aD0b

    D1aD1b

    D2a

    Q0

    D2b

    D3aD3b

    Q1

    Q2

    Q3

    VCC = Pin 14GND = Pin 7

    3

    6

    8

    11

    12

    45

    910

    1213

    SF00052

    FUNCTION TABLEINPUTS OUTPUT

    Dna Dnb QnL L LL H LH L LH H H

    NOTES:H = High voltage levelL = Low voltage level

    LOGIC SYMBOL

    D0a D0bD1a D2a D2b D3a D3bD1b

    Q0 Q1 Q2 Q3

    3 6 8 11

    1 2 4 5 9 10 12 13

    VCC = Pin 14GND = Pin 7

    SF00040

    LOGIC SYMBOL (IEEE/IEC)1

    2

    4

    5

    9

    10

    12

    13

    &3

    6

    8

    11

    SF00053

  • 5-1FAST AND LS TTL DATA

    QUAD D FLIP-FLOPThe LSTTL/MSI SN54/74LS175 is a high speed Quad D Flip-Flop. The

    device is useful for general flip-flop requirements where clock and clear inputsare common. The information on the D inputs is stored during the LOW toHIGH clock transition. Both true and complemented outputs of each flip-flopare provided. A Master Reset input resets all flip-flops, independent of theClock or D inputs, when LOW.

    The LS175 is fabricated with the Schottky barrier diode process for highspeed and is completely compatible with all Motorola TTL families. Edge-Triggered D-Type Inputs Buffered-Positive Edge-Triggered Clock Clock to Output Delays of 30 ns Asynchronous Common Reset True and Complement Output Input Clamp Diodes Limit High Speed Termination Effects

    NOTE:The Flatpak versionhas the same pinouts(Connection Diagram) asthe Dual In-Line Package.

    CONNECTION DIAGRAM DIP (TOP VIEW)

    14 13 12 11 10 9

    1 2 3 4 5 6 7

    16 15

    8

    VCC

    MR

    Q3 Q3 D3 D2 Q2Q2 CP

    Q0 Q0 D0 D1 Q1 Q1 GND

    PIN NAMES LOADING (Note a)HIGH LOW

    D0D3CPMRQ0Q3Q0Q3

    Data InputsClock (Active HIGH Going Edge) InputMaster Reset (Active LOW) InputTrue Outputs (Note b)Complemented Outputs (Note b)

    0.5 U.L.0.5 U.L.0.5 U.L.10 U.L.10 U.L.

    0.25 U.L.0.25 U.L.0.25 U.L.

    5 (2.5) U.L.5 (2.5) U.L.

    NOTES:a. 1 TTL Unit Load (U.L.) = 40 A HIGH/1.6 mA LOW.b. The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74)b. Temperature Ranges.

    LOGIC DIAGRAM

    D Q

    CPCD

    Q

    CP D3 D2 D1 D0

    Q3Q3 Q2Q2 Q1Q1 Q0Q0

    D Q

    CPCD

    Q

    MR

    14

    1

    26 7 3

    459

    11

    12

    10

    13

    15VCC = PIN 16GND = PIN 8

    = PIN NUMBERS

    D Q

    CPCD

    Q

    D Q

    CPCD

    Q

    SN54/74LS175

    QUAD D FLIP-FLOPLOW POWER SCHOTTKY

    J SUFFIXCERAMIC

    CASE 620-09

    N SUFFIXPLASTIC

    CASE 648-08

    161

    161

    ORDERING INFORMATIONSN54LSXXXJ CeramicSN74LSXXXN PlasticSN74LSXXXD SOIC

    161

    D SUFFIXSOIC

    CASE 751B-03

    LOGIC SYMBOL

    VCC = PIN 16GND = PIN 8

    12

    1

    23 6 7 11 14 1510

    4 5 13

    9 CPD0 D1 D2 D3

    MRQ0 Q0 Q1 Q1 Q2 Q2 Q3 Q3

  • 5-2FAST AND LS TTL DATA

    SN54/74LS175

    FUNCTIONAL DESCRIPTIONThe LS175 consists of four edge-triggered D flip-flops with

    individual D inputs and Q and Q outputs. The Clock andMaster Reset are common. The four flip-flops will store thestate of their individual D inputs on the LOW to HIGH Clock(CP) transition, causing individual Q and Q outputs to follow. A

    LOW input on the Master Reset (MR) will force all Q outputsLOW and Q outputs HIGH independent of Clock or Datainputs.

    The LS175 is useful for general logic applications where acommon Master Reset and Clock are acceptable.

    TRUTH TABLEInputs (t = n, MR = H) Outputs (t = n+1) Note 1

    D Q QL L HH H L

    Note 1: t = n + 1 indicates conditions after next clock.

    GUARANTEED OPERATING RANGESSymbol Parameter Min Typ Max Unit

    VCC Supply Voltage 5474

    4.54.75

    5.05.0

    5.55.25

    V

    TA Operating Ambient Temperature Range 5474

    550

    2525

    12570

    C

    IOH Output Current High 54, 74 0.4 mA

    IOL Output Current Low 5474

    4.08.0

    mA

    DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)

    S b l P

    Limits

    U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions

    VIH Input HIGH Voltage 2.0 VGuaranteed Input HIGH Voltage forAll Inputs

    VIL Input LOW Voltage54 0.7

    VGuaranteed Input LOW Voltage for

    VIL Input LOW Voltage 74 0.8V

    p gAll Inputs

    VIK Input Clamp Diode Voltage 0.65 1.5 V VCC = MIN, IIN = 18 mA

    VOH Output HIGH Voltage54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V

    CC , OH , IN IHor VIL per Truth Table

    VOL Output LOW Voltage54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,

    VIN = VIL or VIHVOL Output LOW Voltage74 0.35 0.5 V IOL = 8.0 mA

    VIN = VIL or VIHper Truth Table

    IIH Input HIGH Current20 A VCC = MAX, VIN = 2.7 V

    IIH Input HIGH Current 0.1 mA VCC = MAX, VIN = 7.0 V

    IIL Input LOW Current 0.4 mA VCC = MAX, VIN = 0.4 V

    IOS Short Circuit Current (Note 1) 20 100 mA VCC = MAXICC Power Supply Current 18 mA VCC = MAX

    Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.

  • DATA SHEET

    Product specificationFile under Integrated Circuits, IC04

    January 1995

    INTEGRATED CIRCUITS

    HEF4017BMSI5-stage Johnson counter

    For a complete data sheet, please also download:

    The IC04 LOCMOS HE4000B LogicFamily Specifications HEF, HEC

    The IC04 LOCMOS HE4000B LogicPackage Outlines/Information HEF, HEC

  • January 1995 2

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    DESCRIPTIONThe HEF4017B is a 5-stage Johnson decade counter withten spike-free decoded active HIGH outputs (Oo to O9), anactive LOW output from the most significant flip-flop (O5-9),active HIGH and active LOW clock inputs (CP0, CP1) andan overriding asynchronous master reset input (MR).The counter is advanced by either a LOW to HIGHtransition at CP0 while CP1 is LOW or a HIGH to LOWtransition at CP1 while CP0 is HIGH (see also functiontable).When cascading counters, the O5-9 output, which is LOWwhile the counter is in states 5, 6, 7, 8 and 9, can be usedto drive the CP0 input of the next counter.

    A HIGH on MR resets the counter to zero(Oo = O5-9 = HIGH; O1 to O9 = LOW) independent of theclock inputs (CP0, CP1).Automatic code correction of the counter is provided by aninternal circuit: following any illegal code the counterreturns to a proper counting mode within 11 clock pulses.Schmitt-trigger action in the clock input makes the circuithighly tolerant to slower clock rise and fall times.

    Fig.1 Functional diagram.

    HEF4017BP(N): 16-lead DIL; plastic (SOT38-1)HEF4017BD(F): 16-lead DIL; ceramic (cerdip) (SOT74)HEF4017BT(D): 16-lead SO; plastic (SOT109-1)( ): Package Designator North America

    Fig.2 Pinning diagram.

    PINNING

    FAMILY DATA, IDD LIMITS category MSI

    See Family Specifications

    CP0 clock input (LOW to HIGH triggered)CP1 clock input (HIGH to LOW triggered)MR master reset inputO0 to O9 decoded outputsO5-9 carry output (active LOW)

  • January 19953

    Philips Semiconductors

    Product specification

    5-stage Johnson counterH

    EF4017BM

    SI

    This text is here in white to force landscape pages to be rotated correctly when browsing through the pdf in the Acrobat reader.This text is here in_white to force landscape pages to be rotated correctly when browsing through the pdf in the Acrobat reader.This text is here inThis text is here inwhite to force landscape pages to be rotated correctly when browsing through the pdf in the Acrobat reader. white to force landscape pages to be ...

    Fig.3 Logic diagram.

  • January 1995 4

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    FUNCTION TABLE

    MR CP0 CP1 OPERATIONH X X O0 = O5-9 = H; O1 to O9 = L

    L H Counter advances

    L L Counter advances

    L L X No changeL X H No change

    L H No change

    L L No change

    Notes1. H = HIGH state (the more positive voltage)2. L = LOW state (the less positive voltage)3. X = state is immaterial

    4. = positive-going transition

    5. = negative-going transition

    AC CHARACTERISTICSVSS = 0 V; Tamb = 25 C; CL = 50 pF; input transition times 20 ns

    VDDV SYMBOL MIN. TYP. MAX.

    TYPICAL EXTRAPOLATIONFORMULA

    Propagation delaysCP0, CP1 O0 to O9 5 140 280 ns 113 ns + (0,55 ns/pF) CL

    HIGH to LOW 10 tPHL 55 110 ns 44 ns + (0,23 ns/pF) CL15 40 80 ns 32 ns + (0,16 ns/pF) CL

    5 125 250 ns 98 ns + (0,55 ns/pF) CLLOW to HIGH 10 tPLH 50 100 ns 39 ns + (0,23 ns/pF) CL

    15 40 80 ns 32 ns + (0,16 ns/pF) CLCP0, CP1 O5-9 5 145 290 ns 118 ns + (0,55 ns/pF) CL

    HIGH to LOW 10 tPHL 55 110 ns 44 ns + (0,23 ns/pF) CL15 40 80 ns 32 ns + (0,16 ns/pF) CL

    5 125 250 ns 98 ns + (0,55 ns/pF) CLLOW to HIGH 10 tPLH 50 100 ns 39 ns + (0,23 ns/pF) CL

    15 40 80 ns 32 ns + (0,16 ns/pF) CLMR O1 to O9 5 115 230 ns 88 ns + (0,55 ns/pF) CL

    HIGH to LOW 10 tPHL 50 100 ns 39 ns + (0,23 ns/pF) CL15 35 70 ns 27 ns + (0,16 ns/pF) CL

    MR O5-9 5 110 220 ns 83 ns + (0,55 ns/pF) CLLOW to HIGH 10 tPLH 45 90 ns 34 ns + (0,23 ns/pF) CL

    15 35 70 ns 27 ns + (0,16 ns/pF) CLMR O0 5 130 260 ns 103 ns + (0,55 ns/pF) CL

    LOW to HIGH 10 tPLH 55 105 ns 44 ns + (0,23 ns/pF) CL15 40 75 ns 32 ns + (0,16 ns/pF) CL

  • January 1995 5

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    AC CHARACTERISTICSVSS = 0 V; Tamb = 25 C; CL = 50 pF; input transition times 20 ns

    Output transitiontimes 5 60 120 ns 10 ns + (1,0 ns/pF) CLHIGH to LOW 10 tTHL 30 60 ns 9 ns + (0,42 ns/pF) CL

    15 20 40 ns 6 ns + (0,28 ns/pF) CL5 60 120 ns 10 ns + (1,0 ns/pF) CL

    LOW to HIGH 10 tTLH 30 60 ns 9 ns + (0,42 ns/pF) CL15 20 40 ns 6 ns + (0,28 ns/pF) CL

    VDDV SYMBOL MIN. TYP. MAX.

    Hold times 5 90 45 nsCP0 CP1 10 thold 40 20 ns

    15 20 10 ns5 80 40 ns

    CP1 CP0 10 thold 40 20 ns15 30 10 ns

    Minimum clockpulse width: 5

    tWCPL =tWCPH

    80 40 nsCP0 = LOW; 10 40 20 ns see also waveformsCP1 = HIGH 15 30 15 ns Figs 4 and 5

    Minimum MR 5 50 25 nspulse width; HIGH 10 tWMRH 30 15 ns

    15 20 10 nsRecovery time 5 60 30 ns

    for MR 10 tRMR 30 15 ns15 20 10 ns

    Maximum clock 5 6 12 MHzpulse frequency 10 fmax 12 24 MHz

    15 15 30 MHz

    VDDV TYPICAL FORMULA FOR P (W)

    Dynamic power 5 500 fi + (foCL) VDD2 wheredissipation per 10 2200 fi + (foCL) VDD2 fi = input freq. (MHz)package (P) 15 6000 fi + (foCL) VDD2 fo = output freq. (MHz)

    CL = load cap. (pF) (foCL) = sum of outputsVDD = supply voltage (V)

    VDDV SYMBOL MIN. TYP. MAX.

    TYPICAL EXTRAPOLATIONFORMULA

  • January 1995 6

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    Fig.4 Waveforms showing hold times for CP0 to CP1 and CP1 to CP0. Hold times are shown as positive values,but may be specified as negative values.

    Fig.5 Waveforms showing recovery time for MR; minimum CP0 and MR pulse widths.

    Conditions: CP1 = LOW while CP0 is triggered on a LOW to HIGH transition. tWCP andtRMR also apply when CP0 = HIGH and CP1 is triggered on a HIGH to LOW transition.

  • January 1995 7

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    Fig.6 Timing diagram.

  • January 1995 8

    Philips Semiconductors Product specification

    5-stage Johnson counter HEF4017BMSI

    APPLICATION INFORMATIONSome examples of applications for the HEF4017B are: Decade counter with decimal decoding 1 out of n decoding counter (when cascaded) Sequential controller Timer.

    Figure 7 shows a technique for extending the number of decoded output states for the HEF4017B. Decoded outputs aresequential within each stage and from stage to stage, with no dead time (except propagation delay).

    Note

    It is essential not to enable the counter on CP1 when CP0 is HIGH, or on CP0 when CP1 is LOW, as the this would causean extra count.

    Fig.7 Counter expansion.