利用微控制器設計59秒計時器,利用51微控制器,4個數碼管設計一個計時器,要求在數碼管上顯示的資料從0開始每1秒鐘加1。

時間 2021-07-12 17:18:14

1樓:匿名使用者

共陽共陰只是你在選com端時給其高低電平的問題無關大雅我給一段pic微控制器的程式讓你參考一下,如果你看懂的話應該能做出來了#include

#include

//此程式實現計時秒錶功能,時鐘顯示範圍00.00~99.99秒,分辨度:0.01秒

unsigned char s0,s1,s2,s3;

//定義0.01 秒、0.1 秒、1秒、10秒計時器unsigned char s[4];

unsigned char k ,data ,sreg;

unsigned int i;

const table[10]=;

//不帶小數點的顯示段碼錶

const table0[10]=;

//帶小數點的顯示段碼錶

//tmr0初始化子程式

void tmint()

//spi顯示初始化子程式

void spiinit()

//系統其它部分初始化子程式

void initial()

//spi傳輸資料子程式

void spiled(data)

while(sspif==0);

sspif=0;

}//顯示子程式,顯示4位數

void dispaly()

for(k=0;k<4;k++)

ra5=1; //最後給鎖存訊號,代表顯示任務完成}//軟體延時子程式

void delay()

//鍵掃描子程式

void keyscan()

delay(); //若有鍵按下,則軟體延時if ((rb5==0)||(rb4==0)) break;//若還有鍵按下,則終止迴圈掃描,返回}}

//等鍵鬆開子程式

void keyrelax()

//為防止按鍵過於靈敏,每次等鍵鬆開才返回}//系統賦值初始化子程式

void inizhi()

//中斷服務程式

void interrupt clkint(void)}}}s[0]=s0;

s[1]=s1;

s[2]=s2;

s[3]=s3;

}//主程式

main()}

2樓:匿名使用者

我寫的stc89c52的利用定時器1在六位數碼管前三位顯示秒錶。精確到0.01秒,你可以參考下,改下io口。不知道你的硬體設計只能給予程式參考。

#include

#define uint unsigned int#define uchar unsigned charsbit dula=p2^6;

sbit wela=p2^7;

uchar code tabledu=;//段選編碼表uchar code tablewe=; //位選編碼表void delay();

void inti();

uint temp;

display(temp);

void main()

}void inti()

void timer1() interrupt 3display(x)

void delay()

利用51微控制器,4個數碼管設計一個計時器,要求在數碼管上顯示的資料從0開始每1秒鐘加1。

3樓:匿名使用者

我正好也寫了那麼一個程式,我說一下自己的思路吧,我也剛學。

先做一個段選表和位選表,用兩個陣列儲存,如果有八個燈,位選就有8個。然後再定義一個陣列

digit[8] 裡面儲存 個位十位百位等數位。然後再定時器中斷函式裡,用一個switch語句,分別表明位選在01234567的情況。 我把它貼出來吧。

switch (num_we) //控制每一次位選的數碼管顯示

上面ledcode 是段選表 wecode 是位選表 。 num_we是位選標誌,表示選到了第幾個數碼管。

然後在除錯差不多掃描幾回為1秒,每到了一定的回數,個位數字就+1,個位數字到10,個位清零,十位+1,,以此類推。

4樓:絕種好風

那得看你的數碼管是怎麼接的,其實重要的是51微控制器定時器的使用,兩個,t0和t1,隨便選一個,就行了,只是提醒下,

用微控制器設計一個時鐘,可顯示時和分,可以調時間,也要有鬧鐘功能,要有設計的電路圖 10

5樓:漢馬行

其實不用定時中斷也能實現功能:

#include主函式

unsigned char tab=;定義0-9陣列unsigned int tmp;定義變數void delay(unsigned int xms)定義延時函式void main( )

s++;

while(s==60)秒進一位,到60清0while(m==60)分鐘進一位,到60清0while(h==24)小時進一位,到24清0}}

微控制器中,如何使用計時器1來產生PWM波形。主要是和計時器

如果是用51微控制器 標頭檔案 include typedef unsigned char uint8 typedef unsigned int uint16 typedef long unsigned int uint32 uint16 time0 uint16 pulse width 0x300...

利用微控制器內部定時器設計秒錶,顯示最大值為59 99秒

include include define u16 unsigned int define u8 unsigned char define pin0 0x01 define pin1 0x02 define pin2 0x04 define pin3 0x08 define pin4 0x10 d...

誰有簡易計算器利用微控制器制作的,LED數碼管顯示的

3毀滅天使 include include define leds 8 按鍵程式 char keyscan 顯示程式 void display char dsp 9 初始化顯示陣列 計算程式 void calculate char k,char c1 8 char c2 8 片選 unsigned ...