89C52微控制器靜態數碼管的顯示,動態數碼管顯示

2021-09-27 12:05:43 字數 1557 閱讀 7911

1.簡介

就是用微控制器控制點亮上面的燈,顯示對應數字

2、理論介紹

1)我麼們先看一下電路圖

1)我們可以看到 控制數碼管的連線方式是

p0 口 連線 鎖存器 ,通過鎖存器 再控制數碼管上燈亮

2)鎖存器u8 通過 le 腳 高低電平 來控制we1~we8 引腳的電平和p0口是否保持一致。進而控制8個數碼管中的哪乙個數碼管可以亮或者滅

3)鎖存器u9 通過 le 腳 高低電平 來控制a~h 引腳的電平和p0口是否保持一致。進而控制乙個數碼管裡面哪個字段可以亮或者滅從而形成數字

3.示例展示

下面我們就讓第四個數碼管顯示1來展示

#includesbit u8 = p2^7; //u8 鎖存器le 埠,用於控制哪乙個數碼管

sbit u9 = p2^6;// u9 鎖存器le埠,用於控制數碼上數字顯示

void main()

}

4、實物展示

但是 這個數碼管會每隔幾秒閃一下,到現在不知為什麼?

5.動態數碼管顯示

動態數碼管就是讓人感覺多個數碼管一起亮

動態數碼管顯示和靜態基本類似

就是多個數碼管切換的過程,利用人的視覺效果差,來感覺數碼管是一起亮的

//數碼管動態顯示12345678

#include //51標頭檔案

#define uchar unsigned char//巨集定義

#define uint unsigned int //巨集定義

sbit we = p2^7; //位定義數碼管位選鎖存器介面

sbit du = p2^6; //位定義數碼管段選鎖存器介面

//數碼管段選錶

uchar code leddata=;

//毫秒級延時函式

void delay(uint z)

void main()

}

我們可以看到所有數碼管都是通過p0口來控制,利用程式執行的速度和人視覺差來實現的。

其實這裡面的燈是乙個乙個亮起來的

STC89C52微控制器 數碼管靜態顯示

數碼管根據內部連線不同分為共陰極和共陽極。八段數碼管內部有8顆led組成,如果想要顯示特定字形只需控制相應的led亮起,其他led熄滅即可。靜態顯示 led顯示器工作方式有兩種 靜態顯示方式和動態顯示方式。靜態顯示的特點是每個數碼管的段選必須接乙個9位資料線來保持顯示的字形碼。當送入一次字形碼後,顯...

89C52微控制器之串列埠

include include define uint unsigned int define uchar unsigned char uchar flag 0 uchar buf 0x55 u void init t1 定時器1 void uart init 串列埠 void uart1 send...

89C52 微控制器LED閃爍(彙編)

org 0000h org是origin的起始位址,在此規定程式的起始位址為0000 start start與main均為使用者自定義標誌符,main為主程式,start為程式起始點 setb p2.0 第二個led暫存器置高電平 lcall del 呼叫子程式,相當於呼叫函式,子程式執行完後則執行...