數碼管顯示

2021-04-13 09:13:35 字數 2093 閱讀 2041

數碼管顯示

最近因為對突然對電子感興趣,前幾天在路過電子**時買了乙個數碼管。因為以前總是紙上談兵,根本沒實驗過,連數碼見都沒見過,所以開始覺得將這塊數碼管顯示出來是非常具有挑戰性的工作。

今天正好有空,拿來了我的數碼管,並在網上看了一些資料,才發現並不是想象中的那麼難,其實更準確的說是太簡單了。不到半天就將完成了程式的編寫。下面是這次程式設計的總結。

先來了解一下數碼管的構造,數碼管分共陽極和共陰極兩種。所謂共陽極就是所有二極體的陽極是連在一起的,而陰極則不連;共陰極數碼管正好相反:它的所有陰極相連。這兩種數碼管的原理圖如下:

它的第2~9

針對應著資料暫存器的0~

70x378

。並口的針18~

25為接地訊號。所以我將並口與我的數碼管按下錶連線起來:

並口針號

數碼管管腳號2g

3f4a

5b6e

7d8c

9cp18(接地)

共極18

(接地)共極

基於這樣的連線,我寫了乙個迴圈

100次顯示0~

9的程式,該程式在

ma**6.11

下編譯,在

dos下執行成功,源**如下:

.386p

stack segment use16

db 256 dup (0)

stacklen = $

stack ends

code segment use16

assume ss:stack, cs:code

start:

mov ax, stack

mov ss, ax

mov sp, stacklen

mov bx, 100

next:

mov dx, 378h

mov al, 01111110b ;0

out dx, al

call mywait

mov dx, 378h

mov al, 11001000b ;1

out dx, al

call mywait

mov dx, 378h

mov al, 00111101b ;2

out dx, al

call mywait

mov dx, 378h

mov al, 11101101b ;3

out dx, al

call mywait

mov dx, 378h

mov al, 01001011b ;4

out dx, al

call mywait

mov dx, 378h

mov al, 11100111b ;5

out dx, al

call mywait

mov dx, 378h

mov al, 01110111b ;6

out dx, al

call mywait

mov dx, 378h

mov al, 11001100b ;7

out dx, al

call mywait

mov dx, 378h

mov al, 01111111b ;8

out dx, al

call mywait

mov dx, 378h

mov al, 01101111b ;9

out dx, al

call mywait

dec bx

jnz next

mov ah, 4ch

int 21h

mywait proc near

push ax

push cx

mov ax, 1ffh

nextwait:

mov cx, 0ffffh

loop $

dec ax

jnz nextwait

pop cx

pop ax

retmywait endp

code ends

end start

數碼管顯示

一 區分數碼管的類別 共陰數碼管 即所有數碼管的陰極接在一起。要使某個數碼管點亮,只需置上高電平,中該位置 1 共陽數碼管 即所有數碼管的陽極接在一起。要使某個數碼管點亮,只需置上低電平,中該位置 0 二 單個數碼管顯示 a h 表示單個數碼管上面的8個led。根據共陰共陽的特性,點亮相應的led,...

數碼管顯示

數碼管由8個led組成,對應乙個i o口的輸出.根據連線方式不同分為共陽和共陰數碼管 可以看到,由於結構不同,共陽和共陰使led亮起的輸出電平也不同,如下是兩種連線方式對應的16進製製碼 當我們要對多個數碼管進行控制的時候,不僅需要控制顯示內容 段碼 還要控制顯示的位置 位碼 簡單一點的方法可以用另...

LED數碼管顯示

在電梯 家用電器中,隨處可見數碼管顯示的應用。一般是7個發光管組成8字形的排列,可以顯示0 9的數字。我們可以給這7個發光管編號,以便區分它們 我們給出了乙個用於模擬這個顯示過程的程式,並提供了源 輸入數字,可以在控制台示意這些數字的對應數碼管顯示的效果,亮的管顯示為 不亮的管顯示為 程式的主要用途...