80c51day03數碼管顯示

2021-10-20 19:18:39 字數 1454 閱讀 3528

可以看出,8個數碼管的圖案由相同的引腳控制,開關由8個引腳控制,鎖存晶元地左邊連著相同的8個io口,右邊連著16個不同引腳,然後各自的le由不同的io口控制

oe腳必須為低,否則晶元不能使用,

le為高時,右邊的q會與左邊的d保持一致

le為低時,右邊的q不隨d變化而變化,達到鎖存的效果

位選:哪幾個數碼管發光

段選:這幾個數碼管怎麼亮

工作原理:

就將動態的,靜態就是它的一部分

上面的鎖存器控制位選,下面的控制段選,兩者的le分別由p26,p27控制,左邊的都由相同的8個io口控制,先將位選le置高(允許改變),段選的置低,控制微控制器輸入,比如先讓第乙個數碼管亮輸出0xfe,然後位選置低,段選置高,控制微控制器輸出想要的圖案,接下來重複上面的步驟,只讓第二個亮,這樣,乙個乙個地亮,利用視覺暫留看起來就像8個數碼管一起亮。

#include

//包含51標頭檔案

#include

//包含移位標準庫函式標頭檔案

#define uint unsigned int

#define uchar unsigned char

sbit du = p2^6;

//數碼管段選

sbit we = p2^7;

//數碼管段選

//共陰數碼管段選錶0-9

uchar code tabel=

;/************************************=

函式 : delay(uint z)

引數 :z 延時毫秒設定,取值範圍0-65535

返回值 :無

描述 :12t/fosc11.0592m毫秒級延時

***********************************=*/

void

delay

(uint z)

/************************************=

函式 :display(uchar i)

引數 :i 顯示數值,取值範圍0-255

返回值 :無

描述 :三位共陰數碼管動態顯示

***********************************=*/

void

display

(uchar i)

void

main()

//main函式自身會迴圈

}

80C51 數碼管動態顯示0 7

所使用的開發板 普中科技hc6800 es v2.0 pc win7 64位 編譯軟體 keil uversion2 燒寫工具 普中科技開發的pz isp v1.82 燒寫方式 熱燒寫 include reg52.h typedef unsigned char u8 typedef unsigned...

C51微控制器Day03 數碼管靜態顯示

89c51引腳介紹 見課件 數碼管顯示的原理 位選和段選 include sbit dula p2 6 sbit wela p2 7 void main 編碼表code 隨機儲存器中每定義乙個變數都會占用乙個位元組如uchar,而int佔兩個位元組,而隨機儲存器共128位元組,故要合理使用 code...

51微控制器 數碼管動態顯示 數碼管鬼影

以郭天祥微控制器為例 wei 指 位 位鎖存 duan 指 段 段鎖存 不好的方式 duan 1 開鎖存 p0 0x45 duan 0 關鎖存好的方式 p0 0x45 duan 1 開鎖存 duan 0 關鎖存p0 0x45 wei 1 wei 0 p0 0x45 duan 1 duan 0 p0 ...