LoginSignup
0
0

More than 3 years have passed since last update.

uPD8279を使ってみた(LED編)

Last updated at Posted at 2020-06-14

結局秋月の通販でカソードコモンの7セグとソースドライバーを手に入れて、作ってみました。

写真(2020-06-14 15.02).jpg

138側は手持ちのトランジスタ(2SA)を使いました。コレクタ電流がちょっと小さいのですが、最近のLEDはカレント少ないので大丈夫でしょう。

この作業で2SAを画像検索したところ以下のような間違えた図が一番最初に出てきます。

006_01.gif

左の図のエミッタとコレクタが逆です。連絡したいのですが、連絡先がありません。誰か知ってる人いたら伝えてください。

あと8279の使い方でClearを1100CCFAと書いているページがあるのですが、正しくは110CCCFAです。

ネットって信用できないもんですね。

テストプログラムはこんな感じです。

;

TVCLR   EQU 036CH
TVDSP   EQU 02DEH

; 8279 ports

DAT EQU 0EEH
CTL EQU 0EFH

    ORG 8200H

    CALL    TVCLR
    MVI A, 00H
    OUT CTL
    MVI A, 0A0H
    OUT CTL
    MVI A, 32H
    OUT CTL
    MVI A, 50H
    OUT CTL
    MVI A, 0D0H
    OUT CTL
    MVI A, 90H
    OUT CTL

    IN  CTL
    STA LAST
    CALL    DEBUG
    MVI B, 08H
    CALL    PAD

LOOP
    LDA LAST
    MOV B, A
    IN  CTL
    CMP B
    JZ  LOOP
    STA LAST
    CALL    DEBUG
    LDA LAST
    MVI B, 07H
    ANA B
    MVI B, 00H
    CMP B
    JNZ DATIN
    MVI B, 08H
    CALL    PAD
    JMP LOOP

DATIN
    IN  DAT
    CALL    DEBUG
    MVI B, 06H
    CALL    PAD
    LXI H,SEG
    MVI B, 00H
    LDA COUNT
    MOV C,A
    DAD B
    INR A
    MVI B, 10H
    CMP B
    JNZ STCOUNT
    MVI A, 00H
STCOUNT
    STA COUNT
    MOV A,M
    OUT DAT
    JMP LOOP

PAD
    PUSH    B
    MVI A, 20H
    CALL    TVDSP
    POP B
    DCR B
    JNZ PAD
    RET

DEBUG
    STA VAL
    RRC
    RRC
    RRC
    RRC
    CALL    WRITE
    LDA VAL
    CALL    WRITE
    RET

WRITE
    MOV C, A
    MVI B, 0FH
    ANA B
    MVI B, 0AH
    CMP B
    JNC ALPH
    ADI 30H
    CALL    TVDSP
    RET
ALPH
    SUI 0AH
    ADI 01H
    CALL    TVDSP
    RET

VAL DB  0
LAST    DB  0

COUNT   DB  0
SEG DB  3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 27H
    DB  7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H

表示位置は90Hで設定していて、0番目でインクリメントありの設定です。

モニターでは使えませんが、任意のパターンが表示できるので、なにか面白い使い方を考えてみたいと思います。

40年らいのLED増設計画の夢が叶いました。

RESETはEX-80のバスは負論理で8279は正論理なのでGAL6001で反転して入れてみました。7404の1回路分です。RESETしても表示は残るようです。

module ex80(
input i1,
output o1
);


assign o1 = ~i1;

endmodule
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0