51微控制器(計時器 時鐘應用)

2021-08-02 12:09:12 字數 1109 閱讀 8457

ps:

使用的是51微控制器, 晶振為11.0592m的, 時間選擇5ms。

這篇部落格好像是第一篇微控制器部落格誒~。

演算法:

簡單的計時器應用, 最開始 根據 2^16 - (t - f)/12 計算得到值, 將其轉換為16進製制 (注意:單位的改變, 例如晶振要乘上 10e6 時間 要轉換為秒s 乘上 10e-3)

由此可以得到 th0/tl0的值。

例如:

設計的是5ms, 則 算式為 2^16 - (5 * 10^-3 - 11.0592 * 10^6) / 12; 轉換為16進製制 為dc00; 所以 th0 = 0xdc__tl0 = 0x00;

顯示:

拆字什麼的 就不說了~~, 反正就是 分和秒 對 10取餘 和 整除。

下面函式中的 counter 和 second 分別對應 秒和分。

hint:

老師說, 最好在 tmp=counter%4; 前 加上 if(changed == 1)執行拆字顯示, 然後再將執行空語句 如此迴圈。 但還是不怎麼明白為什麼。 好像是說 保護 io 之類的~~~~

#include

#define uchar unsigned char

uchar counter=0,tmp,second=0,minute=0, changed = 1;

main()

; //拆字

//顯示

tmp=counter%4;

switch(tmp)

break;

case

1: break;

case

2: break;

case

3: break;}}

/*if(j==2)

*/}void zhongduan()interrupt 1

*/counter++;

if(counter==200)

}}

51微控制器液晶顯示計時器

要想實現人機互動,顯示裝置是不可缺少的。前面講到了如何利用微控制器控制數碼管的顯示,這篇文章主要關於如何控制液晶顯示,並在此基礎上加上定時器的功能,把原來已用數碼管顯示的定時器搬到液晶屏上來。這裡用到的液晶為lcd1602,能夠同時顯示16x02即32個字元 16列2行 1602液晶模組內部的字元發...

51微控制器做乙個計時器

同樣我們使用的仍然是stc的8051微控制器,這段 是用來做乙個計時器,通過數碼管實時顯示出來,因為板子上數碼管有6個,所以可以設定小時,分鐘,秒三個單位,在proteus上也是可以模擬的,計時結束可以用蜂鳴器,或者繼電器介面連線 乙個鬧鈴,鬧鈴用電磁式的就可以,當然簡單來說蜂鳴器就是乙個不錯的選擇...

微控制器 51微控制器時鐘 利用中斷

include include delay delay.h define timeport p0 sbit bit select p2 0 sbit seg select p2 1 sbit key1 p2 2 sbit key2 p2 3 code unsigned char timedata 1...