導航:首頁 > 裝置知識 > 51單片機設計9999秒倒計時裝置

51單片機設計9999秒倒計時裝置

發布時間:2022-04-04 08:11:53

① Mcs-51單片機9秒倒計時課程設計

定時10mS,在中斷裡面計數,到一秒後-1,小於零後=9,再顯示

② 求用51單片機設計一個0-9999秒倒計時器,要求是數碼顯示,是匯編語言的

匯編,其實比C語言簡單多了。
使用匯編,只要關心單片機自身的東西即可;
使用C,垃圾概念就太多了,學C,就太浪費時間了。
先看看這些:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/2ece818af7a3f20bc9fc7aca.html
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/8dd9ee9443f40e117af480ee.html

③ 求用51單片機設計一個0-9999秒正/倒計時器

兩位相同的數字所佔的百分比:兩位數有11-99 9個
三位數有 100-900 9個(是0重復的) 不是0重復的不含0的有C3(2)C9(1)C8(1)=216個 不是0重復的含0的有 C2(1)C9(1)=18個
四位數有 C3(2)C9(1)C8(1)=216(0重復) 不是0重復的不含0的有C4(2)C(9)A8(2)=3024 不是0重復的含0的有 C3(1)C3(2)C9(1)C8(1)=648
一共為41.31%

三位數相同的數字所佔的百分比:三位數的有9個
四位數有1000-9000 9個(是0重復的) 不是0重復的不含0的有C4(3)C9(1)C8(1)=288 不是0重復的含0的有C3(1)C9(1)=27
一共為3.24%

④ 51單片機9999秒倒計時

簡單而明顯的錯誤:
unsigned char i=0;

void time0() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
i++;
if (i==20)
{
if (sec==0){sec=60;min--;}
sec--;
i=0;
}

}

⑤ 如何利用C8051F310單片機設計一個九秒倒計時定時器

我猜你的難點在於不會定時1秒鍾
一般來說51單片機定時大概在毫秒級,假定是50ms
那你就再加一個軟體計數器譬如R7,在檢測到20次定時器的中斷後,再執行真正地中斷程序就好了

⑥ 51單片機 倒計時99和9999的區別 其實我需要9999秒倒計時的程序!

改改程序就可以了。如果原來控制變數用的單位元組,你拓展成雙位元組就行。

⑦ 基於51單片機控制的9999秒倒計時器的設計,程序怎樣做

99秒倒數的 樓主看行不
在寫 很麻煩的

#include <reg51.h>
unsigned char table[]={0x90,0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0};
unsigned char int_time ;
unsigned char second;
void delay(void)
{
unsigned char i,j;
for(i=0;i<200;i++)
for(j=0;j<20;j++);
}
void DisplaySecond(unsigned char k)
{
P2=0xf7;
P0=table[k/10];
delay();
P2=0xfb;
P0=table[k%10];
delay();
P2=0xff;
}
void main(void)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
int_time=0;
second=0;
while(1)
{
DisplaySecond(second);
}
}
void interserve(void ) interrupt 1
{
TR0=0;
int_time++;
if(int_time==20)
{
int_time=0;
second++;
if(second==99)
second=0;
}
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
}

⑧ 51單片機做9999秒倒計時怎麼原理圖怎麼做啊還要程序

#include<reg51.h>
#include"intrins.h"
#include"absacc.h"
#defineucharunsignedchar
ucharcodeledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};//0-9
unsignedcharsec=0,dat=0,scanled;
unsignedcharkey=0,mode,time;
unsignedchardisdat[4];

voiddischg()
{
disdat[3]=sec%10;
disdat[2]=sec%100/10;
disdat[1]=sec%1000/100;
disdat[0]=sec/1000;
}
voidext0()interrupt0
{
key++;
key%=3;
}
voidt0isr()interrupt1 //秒計時
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
dat++;
if(dat>=20)
{
dat=0;
if(sec>0)sec--;
}
dischg();
}
voidt1isr()interrupt3 //顯示
{
TH1=0xec;
TL1=0x78;
P0=0xff;
switch(scanled)
{
case0:
P2=0x01;
P0=~ledtab[disdat[0]];
break;
case1:
P2=0x02;
P0=~ledtab[disdat[1]];
break;
case2:
P2=0x04;
P0=~ledtab[disdat[2]];
break;
case3:
P2=0x08;
P0=~ledtab[disdat[3]];
break;
default:break;
}
scanled++;
scanled%=4;
}
main()
{
TMOD=0x11;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=0xec;
TL1=0x78;
TR1=1;
TR0=0;
ET0=1;
ET1=1;
EX0=1;
IT0=1;
EA=1;
scanled=0;
time=0;
mode=1;
dischg();
while(1)
{
switch(key)
{
case0:sec=0;dat=0;break;
case1:TR0=1;break;
case2:TR0=0;break;
}
}
}

⑨ 我想用51單片機做一個9999 9999秒的秒錶(八位數碼管),但是怎麼計數到255就溢出歸零了

你的dis函數輸入變數i類型定義錯了,也得定義成 long

⑩ 51單片機的9999倒計時程序,跪求

參考:

http://hi..com/do_sermon/item/17a6bff24edb11c8531c2691
http://hi..com/do_sermon/item/620ab2cadf946422e90f2e91

閱讀全文

與51單片機設計9999秒倒計時裝置相關的資料

熱點內容
steam令牌換設備了怎麼辦 瀏覽:246
新生測聽力儀器怎麼看結果 瀏覽:224
化學試驗排水集氣法的實驗裝置 瀏覽:156
家用水泵軸承位置漏水怎麼回事 瀏覽:131
羊水鏡設備多少錢一台 瀏覽:125
機械制圖里型鋼如何表示 瀏覽:19
測定空氣中氧氣含量實驗裝置如圖所示 瀏覽:718
超聲波換能器等級怎麼分 瀏覽:800
3萬軸承是什麼意思 瀏覽:110
鑫旺五金製品廠 瀏覽:861
蘇州四通閥製冷配件一般加多少 瀏覽:153
江北全套健身器材哪裡有 瀏覽:106
水表閥門不開怎麼辦 瀏覽:109
花冠儀表盤怎麼顯示時速 瀏覽:106
洗砂機多少錢一台18沃力機械 瀏覽:489
超聲波碎石用什麼材料 瀏覽:607
組裝實驗室製取二氧化碳的簡易裝置的方法 瀏覽:165
怎麼知道天然氣充不了閥門關閉 瀏覽:902
公司賣舊設備掛什麼科目 瀏覽:544
尚葉五金機電 瀏覽:59