導航:首頁 > 裝置知識 > 設計計時裝置

設計計時裝置

發布時間:2022-11-06 14:41:44

⑴ 利用51單片機,4個數碼管設計一個計時器,要求在數碼管上顯示的數據從0開始每1秒鍾加1。

共陽數碼管中斷程序:

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code table[]=

{

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x83,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};

uint num,a;

uchar ,shi,ge;

void init();

void delay(uint);

void display(uchar,ucharshi,ucharge);

uint fb();

uint fs();

uint fg();

void main()

{

init();

while(1)

{

display(fb(),fs(),fg());

}

}

void init()

{

num=0;

a=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void display(uchar,ucharshi,ucharge)

{

P1=0xfd;

P0=table[];

delay(1);

P1=0xfb;

P0=table[shi];

delay(1);

P1=0xf7;

P0=table[ge];

delay(1);

}

void timeoff() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65526-50000)%256;

a++;

if(a%20==0)

{

num++;

if(num==999)

{

num=0;

}

}

}
void delay(uint z)
{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

uint fb()

{

=num/100;

return ;

}

uint fs()

{

shi=num%100/10;

return shi;

}

uint fg()

{

ge =num%100%10;

return ge;

}

(1)設計計時裝置擴展閱讀

2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)

一個全雙工串列通信口

外部數據存儲器定址空間為64kB

外部程序存儲器定址空間為64kB

邏輯操作位定址功能·雙列直插40PinDIP封裝

單一+5V電源供電

CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;

RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;

ROM:用以存放程序、一些原始數據和表格;

I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出

T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;

五個中斷源的中斷控制系統;

一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;

片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M—12M。

參考資料來源:網路-51單片機



⑵ 除了水還可以用哪些能流動的物體來製作計時工具

除了水還可以用細沙來計時,比如沙漏就是用細而均勻的顆粒。沙漏的發明也是被逼出來的:算一年、一個月、一天的時間都能算,要是算一碗水燒開的時間的標准就不知道了。當然具體是哪國人發明的已經無從考證,歷史學家的說法是:沙漏最初是作為輔助的天文儀器使用的。古時沒有玻璃,人們就用簡易的容器製作,時間是按照流沙從容器流過的數量來計算。1360年漢人詹希元創制的「五輪沙漏」甚至還有用到了齒輪的機械撥動裝置,有木人擊鼓報告時刻的花樣。

⑶ 可以計時的簡單裝置如何製作,小學五年級科學作業。謝謝!

材料:線香、秒錶、刻度尺、彩筆
方法:
1、用刻度尺測量線香的長度L1
2、點燃線香、同時按下秒錶按鈕開始計時,10s鍾熄滅線香。測量線香長度L2
3、10s線香燃燒的長度 L=L1-L2 並分成10等分,每份為1s燃燒的長度L0
4、以L0為標度,在每根線香上用彩筆標出刻度

這樣一個簡單、經濟的計時器就製成了。

⑷ 想設計一個計時電路,給電計時,斷電停止計時,並且數顯裝置能夠顯示計時時間,怎麼設計好,用到那些元器

555,4017,4511,數碼管,如用單片機則電路較簡單,但要會寫程序

⑸ 如何設計計量時間的鍾表

畢業設計設計題目 秒錶/時鍾計時器的設計設計 類型 工程設 導師姓名 席東河 1、用六位LED數碼管顯示時、分、秒; 2、使用按鍵開關可實現時分調整; 3、秒錶/時鍾功能轉換; 4、關閉顯示即省

⑹ vb怎麼設計簡單的計時器

控制項:左側序號(TextBox):p1p2p3p4p5p6p7p8

右側時間(TextBox):tt1t2t3t4t5t6t7t8

下側按鈕(Button):Button1Button2Button3

'正文---------------------------------------------------------------

PublicClassForm1

DimStartTimeAsDecimal

DimGettedTimeAsDecimal

DimTimeOfTopAsDecimal

DimStopMomentAsByte

DimFirstTimeAsDecimal

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

t1.Text=""

t2.Text=""

t3.Text=""

t4.Text=""

t5.Text=""

t6.Text=""

t7.Text=""

t8.Text=""

a2.Text=""

a3.Text=""

a4.Text=""

a5.Text=""

a6.Text=""

a7.Text=""

a8.Text=""

t.Text="0.0"

p1.Visible=False

p2.Visible=False

p3.Visible=False

p4.Visible=False

p5.Visible=False

p6.Visible=False

p7.Visible=False

p8.Visible=False

t1.Visible=False

t2.Visible=False

t3.Visible=False

t4.Visible=False

t5.Visible=False

t6.Visible=False

t7.Visible=False

t8.Visible=False

a2.Visible=False

a3.Visible=False

a4.Visible=False

a5.Visible=False

a6.Visible=False

a7.Visible=False

a8.Visible=False

Button1.Enabled=True

Button2.Enabled=True

Timer1.Enabled=False

Timer2.Enabled=False

Timer3.Enabled=False

Timer4.Enabled=False

Timer5.Enabled=False

Timer6.Enabled=False

Timer7.Enabled=False

Timer8.Enabled=False

a2.Left=71

a3.Left=71

a4.Left=71

a5.Left=71

a6.Left=71

a7.Left=71

a8.Left=71

EndSub

PrivateFunctionToTime(ByValTimeLengthAsDecimal)AsString

DimhAsDecimal

DimmAsDecimal

DimsAsDecimal

DimHoursAsString

DimMinutesAsString

DimSecondsAsString

DimNoHourAsBoolean

DimNoMinutesAsBoolean

IfInt(TimeLength/3600)=0Then

Hours=""

NoHour=True

Else

NoHour=False

h=Int(TimeLength/3600)

Hours=h&":"

EndIf

m=Int((TimeLength-h*3600)/60)

Ifm.ToString.Length=1Andm<>0Then

NoMinutes=False

IfNoHour=TrueThen

Minutes=m&":"

Else

Minutes="0"&m&":"

EndIf

ElseIfm=0Then

NoMinutes=True

IfNoHour=TrueThen

Minutes=""

Else

Minutes="0"&m&":"

EndIf

Else

NoMinutes=False

Minutes=m&":"

EndIf

s=TimeLength-3600*h-60*m

IfInt(s).ToString.Length=2Or(NoHour=TrueAndNoMinutes=True)Then

Seconds=s

Else

Seconds="0"&s

EndIf

IfNoHour=TrueAndNoMinutes=TrueAndInt(Seconds).ToString.Length=1Then

SelectCaseSeconds.Length

Case1

Seconds=Seconds&".000"

Case3

Seconds=Seconds&"00"

Case4

Seconds=Seconds&"0"

EndSelect

Else

SelectCaseSeconds.Length

Case2

Seconds=Seconds&".000"

Case4

Seconds=Seconds&"00"

Case5

Seconds=Seconds&"0"

EndSelect

EndIf

ToTime=Hours&Minutes&Seconds

EndFunction

PrivateSubGetTime()

GettedTime=DateDiff(DateInterval.Second,Today,Now)+My.Computer.Clock.LocalTime.Millisecond/1000

EndSub

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

GetTime()

StartTime=GettedTime

Timer1.Enabled=True

t.Text="0.0"

Button1.Enabled=False

EndSub

PrivateSubTimer1_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.Tick

GetTime()

IfTimeOfTop+0.1<GettedTime-StartTimeThen

TimeOfTop=TimeOfTop+0.1

t.Text=ToTime(TimeOfTop).Remove(ToTime(TimeOfTop).Length-2)&""

EndIf

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

StopMoment=StopMoment+1

SelectCaseStopMoment

Case1

GetTime()

t1.Text=ToTime(GettedTime-StartTime)

FirstTime=GettedTime

p1.Visible=True

t1.Visible=True

Case2

GetTime()

t2.Text=ToTime(GettedTime-StartTime)

a2.Text="+"&ToTime(GettedTime-FirstTime)

Timer2.Enabled=True

p2.Visible=True

t2.Visible=True

a2.Visible=True

Case3

GetTime()

t3.Text=ToTime(GettedTime-StartTime)

a3.Text="+"&ToTime(GettedTime-FirstTime)

Timer3.Enabled=True

p3.Visible=True

t3.Visible=True

a3.Visible=True

Case4

GetTime()

t4.Text=ToTime(GettedTime-StartTime)

a4.Text="+"&ToTime(GettedTime-FirstTime)

Timer4.Enabled=True

p4.Visible=True

t4.Visible=True

a4.Visible=True

Case5

GetTime()

t5.Text=ToTime(GettedTime-StartTime)

a5.Text="+"&ToTime(GettedTime-FirstTime)

Timer5.Enabled=True

p5.Visible=True

t5.Visible=True

a5.Visible=True

Case6

GetTime()

t6.Text=ToTime(GettedTime-StartTime)

a6.Text="+"&ToTime(GettedTime-FirstTime)

Timer6.Enabled=True

p6.Visible=True

t6.Visible=True

a6.Visible=True

Case7

GetTime()

t7.Text=ToTime(GettedTime-StartTime)

a7.Text="+"&ToTime(GettedTime-FirstTime)

Timer7.Enabled=True

p7.Visible=True

t7.Visible=True

a7.Visible=True

Case8

GetTime()

t8.Text=ToTime(GettedTime-StartTime)

a8.Text="+"&ToTime(GettedTime-FirstTime)

Timer8.Enabled=True

p8.Visible=True

t8.Visible=True

a8.Visible=True

Timer1.Enabled=False

t.Text=t8.Text

Button2.Enabled=False

EndSelect

EndSub

PrivateSubButton3_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton3.Click

StartTime=0

GettedTime=0

TimeOfTop=0

StopMoment=0

FirstTime=0

t1.Text=""

t2.Text=""

t3.Text=""

t4.Text=""

t5.Text=""

t6.Text=""

t7.Text=""

t8.Text=""

a2.Text=""

a3.Text=""

a4.Text=""

a5.Text=""

a6.Text=""

a7.Text=""

a8.Text=""

t.Text="0.0"

p1.Visible=False

p2.Visible=False

p3.Visible=False

p4.Visible=False

p5.Visible=False

p6.Visible=False

p7.Visible=False

p8.Visible=False

t1.Visible=False

t2.Visible=False

t3.Visible=False

t4.Visible=False

t5.Visible=False

t6.Visible=False

t7.Visible=False

t8.Visible=False

a2.Visible=False

a3.Visible=False

a4.Visible=False

a5.Visible=False

a6.Visible=False

a7.Visible=False

a8.Visible=False

Button1.Enabled=True

Button2.Enabled=True

Timer1.Enabled=False

Timer2.Enabled=False

Timer3.Enabled=False

Timer4.Enabled=False

Timer5.Enabled=False

Timer6.Enabled=False

Timer7.Enabled=False

Timer8.Enabled=False

a2.Left=71

a3.Left=71

a4.Left=71

a5.Left=71

a6.Left=71

a7.Left=71

a8.Left=71

EndSub

PrivateSubTimer2_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer2.Tick

a2.Left=a2.Left+10

Ifa2.Left=171Then

Timer2.Enabled=False

EndIf

EndSub

PrivateSubTimer3_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer3.Tick

a3.Left=a3.Left+10

Ifa3.Left=171Then

Timer3.Enabled=False

EndIf

EndSub

PrivateSubTimer4_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer4.Tick

a4.Left=a4.Left+10

Ifa4.Left=171Then

Timer4.Enabled=False

EndIf

EndSub

PrivateSubTimer5_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer5.Tick

a5.Left=a5.Left+10

Ifa5.Left=171Then

Timer5.Enabled=False

EndIf

EndSub

PrivateSubTimer6_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer6.Tick

a6.Left=a6.Left+10

Ifa6.Left=171Then

Timer6.Enabled=False

EndIf

EndSub

PrivateSubTimer7_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer7.Tick

a7.Left=a7.Left+10

Ifa7.Left=171Then

Timer7.Enabled=False

EndIf

EndSub

PrivateSubTimer8_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer8.Tick

a8.Left=a8.Left+10

Ifa8.Left=171Then

Timer8.Enabled=False

EndIf

EndSub

EndClass

'正文完-------------------------------------------------------------

⑺ 利用單片機設計實現一個60秒倒計時顯示裝置,並且計時到後發出報警聲音。

#include<reg52.h>
sbitbz=P3^1;
unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};
unsignedcharn,time=60;
main()
{
P1=a[0];
P2=a[6];
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
timer0()interrupt1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
if(time!=0)
{
n++;
if(n==100)
{
n=0;
time--;
P1=a[time%10];
P2=a[time/10];
}
}
elsebz=~bz;
}

⑻ 計時工具的設計運用了物體運動的什麼規律

計時工具的設計運用了物體運動周期性變化的規律。不管是在古代時候的那種日晷,包括用其他一種方式來計時,都是運用了這一規律。

例如在單擺運動中,從平衡位置處開始計時,小球向左擺,動能減小,重力勢能增加,直到最高點,從最高點處開始下落到平衡位置的過程中,動能增加,重力勢能減小。這是單擺運動的一個周期。

計時裝置漏刻介紹

早期漏刻大多使用單只漏壺,滴水速度受到壺中液位高度的影響,液位高,滴水速度較快,液位低,滴水速度較慢。為解決這一問題,古人進一步創制出多級漏刻裝置。

所謂多級漏刻,即使用多隻漏壺,上下依次串聯成為一組,每隻漏壺都依次向其下一隻漏壺中滴水。

⑼ 自製計時器的設計原理

設定一段時間如5分鍾,對滴水計時器的滴水數量進行計數為N.則滴水的時間間隔為5*60/N(秒).

⑽ 30秒倒計時電路的設計

首先要有個可以產生1秒的時鍾電路,可以通過CD4040加32768HZ的晶鎮分頻,分頻後是2HZ,還要在分一次可以用CD4013之類的雙D觸發器實現,但我一般1秒的記時喜歡使用家庭的石英鍾的電路.他的脈沖的0.5HZ也就是2秒發一次,但需要通過二極體來整出來,因為他的0.5HZ是分別發的然後對地是1赫茲. 然後就是記時電路,可以用2 個CD4028是帶有正負記時的十進制記數電路,有進位和借位(在減記數時用到借位)BCD碼輸出,通過CD4511或CD4543(我比較喜歡CD4543,因為他的6和9顯示的比較人性化,而4511顯示的6沒有最上面的橫,和b的樣子差不多,9沒有下面的一橫和q差不多)來進行數碼管驅動,而4543的好處是他可以選擇共陽極還是共陰數碼管.然後把4028設定到負計時方式(通過引腳的電平來控制)然後可以用個電子開關比如CD4066來控制設定的時間這個可以定時到99秒,但要是顯示30秒,需要預先設定到3和0十位的3需要先自己做個小脈沖發生器,來進行設定,這個自己就可以設計出電路來了吧~

閱讀全文

與設計計時裝置相關的資料

熱點內容
幼兒為什麼機械記憶占優勢 瀏覽:634
新裝的暖氣前兩組熱怎麼調節閥門 瀏覽:169
新奇駿後工具箱軟 瀏覽:65
燒結機柔性傳動裝置 瀏覽:277
製冷機溫度低怎麼處理 瀏覽:643
機械液壓助力如何保養 瀏覽:717
軸承如何確定自由端與固定端 瀏覽:617
機械位移光電測量裝置的設計 瀏覽:959
vb程序中控制項工具箱 瀏覽:171
小丸工具箱怎麼壓水印 瀏覽:258
暖氣樓道一戶一閥門安裝多錢 瀏覽:483
李比希有機物元素分析實驗裝置 瀏覽:997
換分離軸承怎麼換 瀏覽:69
汽車儀錶板怎麼拆 瀏覽:720
乙炔的實驗室製取裝置類型 瀏覽:742
拉鏈超聲波焊接時間頻率怎麼調 瀏覽:50
sch軸承是什麼意思 瀏覽:205
cdrx9顯示工具箱 瀏覽:252
電氣儀器油類都用什麼滅火 瀏覽:977
機械節拍器發條是怎麼卡住的 瀏覽:948