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

2021-10-24 13:25:50 字數 2633 閱讀 2691

89c51引腳介紹(見課件)

數碼管顯示的原理(位選和段選)

#include

sbit dula=p2^

6;sbit wela=p2^

7;void

main()

編碼表code

-隨機儲存器中每定義乙個變數都會占用乙個位元組如uchar,而int佔兩個位元組,而隨機儲存器共128位元組,故要合理使用;

code是儲存在程式儲存器中;

若只是寫unchar table={},則table中的每乙個資料都會在隨機儲存器中佔乙個位元組,故放入在code中

uchar code table={};//陣列定義成編碼的格式
六個數碼管一起從000000到ffffff顯示(靜態顯示)

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=p2^

6;sbit wela=p2^

7;uchar num;

uchar code table=

;//陣列定義成編碼的格式

void

delay

(uint z)

;void

main()

}}void

delay

(uint z)

中斷
見可見
電腦當中的中斷裝置如圖所示:

外部中斷,電平觸發方式如下:(以數碼管和發光二極體為例)

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=p2^

6;sbit wela=p2^

7;sbit d1=p1^

0;uchar num;

uchar code table=

;//陣列定義成編碼的格式

void

delay

(uint z)

;void

main()

}}void

delay

(uint z)

//中斷服務程式沒有返回值

//中斷函式不需要宣告

void

exter0

() interrupt 0

//中斷服務子程式

外部中斷:跳變沿觸發方式如下:

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=p2^

6;sbit wela=p2^

7;sbit d1=p1^

0;uchar num;

uchar code table=

;//陣列定義成編碼的格式

void

delay

(uint z)

;void

main()

}}void

delay

(uint z)

//中斷服務程式沒有返回值

//中斷函式不需要宣告

void

exter0

() interrupt 0

//中斷服務子程式

定時器
定時器是和中斷連在一起的,定時器內部是由兩個八位的暫存器構成的,剛開始裝入一些數,之後啟動定時器。每來乙個機器週期,這個數自動加1,一直到加滿為止,兩個位元組加滿之後,它會出發一次中斷。即也會進入到中斷函式。
定時器應用舉例(依舊以數碼管為例)
定時器初始化程式應完成如下工作:

1.對tmod賦值,以確定t0和t1的工作方式

2.計算初值,並將其寫入th0、tl0或th1、tl1

3.中斷方式時,則對ie賦值,開放中斷

4.使tr0或tr1置位,啟動定時器定時

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=p2^

6;sbit wela=p2^

7;sbit d1=p1^

0;uchar num;

uchar tt;

uchar code table=

;//陣列定義成編碼的格式

void

delay

(uint z)

;void

main()

}}/*void delay(uint z)

*///中斷服務程式沒有返回值

//中斷函式不需要宣告

void

exter0

() interrupt 1

//定時器0的中斷服務程式

51微控制器數碼管詳解

led數碼管是由多個發光二極體封裝在一起組成 8 字型的器件,引線已在內部連線完成,只需引出它們的各個筆劃,公共電極。led數碼管常用的段數一般為7段,有的另加乙個小數點 led數碼管根據led的接法不同,分為共陽和共陰兩類 1.共陽極數碼管 指八段數碼管的八段發光二極體的陽極 正極 都連在一起,而...

51微控制器攻略 數碼管

使用前先明確數碼管是共陰極接法還是共陽極接法,若是共陰極接法,定義char型按位控制其輸出 共陽極與下圖相反 工作方式分為靜態顯示和動態顯示,靜態顯示數碼管必須段選接八位資料線保持字碼。下圖是共陽極數碼管,通過we控制段,p0控制位,四個數碼管共占用12個i o口,若使用74hc573等鎖存器可簡化...

C51微控制器靜態數碼管 (0 F)

數碼管靜態顯示輪換 include typedef unsigned char u8 typedef unsigned int u16 sbit kza p2 2 控制顯示數碼管具體位 sbit kzb p2 3 sbit kzc p2 4 顯示位 u8 code shumag u8 a 10,i ...