定時器數碼管時鐘

2021-10-08 13:31:30 字數 1715 閱讀 3759

mai.c

```

handlebars

#include

"system.h"

#include

"key.h"

extern

uchar

flag_1ms;/

/在其他模組中尋找其定義。另外,extern也可用來進行鏈結指定。

void

main

(void)/

/程式的主函式}}

在這裡插入**片

key.c

#include

"key.h"

//把led.**件包含進來

#include

"system.h"

//把timer0.**件包含進來

uchar

code

smgduan[17

]=;/

/顯示0~

f的值uchar

displaydata[8

];//

定義8位陣列char

datnum1=0

,datnum2=0

,datnum3=0

;uinty=

0;void

dig_poll()

//數碼管顯示i+

+;//

延時7毫秒if(i

>7)

}void

szxs

(void)/

/時鐘顯示}}

}}

key.h

#include

"system.h"

//把timer0.**件包含進來

sbitk1=

p3^1;

sbitk2=

p3^0;

sbitk3=

p3^2;

sbitk4=

p3^3;

//定義按鍵埠

sbit

lsa=p2^

2;//

數碼管位選管腳

sbit

lsb=p2^

3;sbit

lsc=p2^

4;#define

key1

1//按鍵值

#define

key2

2#define

key3

3#define

key4

4void

dig_poll

(void);

void

szxs

(void

);

system.h

在這裡插入**片

#include

"system.h"

uchar

flag_1ms=0

;void

timer0_init

(void

)void

timer0()

interrupt

1//中斷號1/

*void

delay_us

(uint

xus)

void

delay_ms

(uint

xms)}*

/

定時器控制數碼管2011 1 24

1.利用定時器 計數器t1產生定時時鐘,由p1口控制8個發光二極體,使8個指示燈依次一次一次閃動,閃動頻率為10次 秒,迴圈 2.用定時器以間隔500ms在6位數碼管依次顯示0,1,2,3,c,d,e,f,重複 include include define uchar unsigned char s...

流水燈 數碼管 定時器中斷

利用動態掃瞄和定時器1在數碼管上顯示出從765432開始以1 10秒的速度往下遞減直至765398並保持顯示此數,與此同時利用定時器0以500ms速度進行流水燈從上至下移動,當數碼管上數減到停止時,實驗板上流水燈也停止然後全部開始閃爍,3秒後 用t0定時 流水燈全部關閉 數碼管上顯示出 hello ...

51 定時器掃瞄矩陣鍵盤 數碼管顯示

大二的時候學完51寫的乙個綜合程式。用定時器中斷掃瞄行,即行已知 再在主程式中判斷列 得到的行列值帶入顯示函式display 按下鍵顯示,鬆開取消顯示。涉及原理理解,邏輯比較混亂,可讀性低。includeunsigned char i,j,l,r,add 0,temp 注意微控制器的行列對應的引腳 ...