如何用51微控制器做乙個模型車比賽用的計時器

2025-02-03 21:55:20 字數 2145 閱讀 5836

1樓:網友

用紅外對管就行。紅外對管的資料請自己,一般的全行,要串聯電阻(一般,否則容易燒壞對管。電阻大小跟對管型號有關,到**去搜,店家會給詳細資訊,或者買的時候問。

比賽起跑線做成黑色,對管會返回微控制器「0」,起跑後會始終返回「1」。主函式里要經常檢測,再次監測到「0」時要中斷,計算時間。數碼管原理圖傳上去了,型號隨便,能買到的全行,不騙你!

電阻大小、三極體型號不變,適用於任意數碼管。液晶電路、程式、驅動較複雜,樓主應該是初學,建議先別用了。直流馬達也要用到中斷(佔空比),計數也是,所以注意中斷優先順序。

2樓:修羅小狂神

可以紅外對射感測,當車通過對射紅外時,產生低電平訊號,觸發微控制器外部中斷,然後開始計時。當車再次穿過紅外時,暫停計時。當然如果有好幾圈的話,可以在統計車輛數後,進行計數處理中斷次數,規定多少圈後結束比賽,以停止計時。

如何利用51微控制器實現乙個計時器?

3樓:物理狂人

方法一:用定時器中斷計時模式迴圈計時。

方法二:用cpu消耗時鐘週期指令計時(浪費資源)。

思路:用定時器中斷計時,溢位時形成中斷訊號,標識為乙個基本週期t,所定時間t/t=n為週期迴圈數,到時形成定時觸發訊號。

4樓:網友

用定時器,跟據振盪器設定好初值,知道每一次中斷的時間,然後用乙個暫存器計數,相乘後得到1s的定時,如果要用到分,時的話就再加暫存器計數即可。

5樓:網友

定時中斷。dhd_specter 說的對。

具體電路和程式很多的,你在裡隨便搜下51定時中斷應用,特別多。51現在是很成熟應用啦,資料特特特別的多。要自己學會學習和找資料。加油!

6樓:網友

定時,然後找個變數,讓它定時達到後自加一就可以了啊。

7樓:

用定時中斷就行。t0,t1中斷都行。

用51微控制器連線max7219晶元做秒計時器,求幫看下程式

8樓:網友

程式沒有格式,太亂,沒法看。

用51微控制器,構成乙個10秒倒計時器

9樓:網友

我可以完成的。

這個東西用微控制器的定時器即可完成了,並不算難。

10樓:cindere鞡

程式很簡單,你要是現在需要我用protues畫個圖給你,然後把程式也給你。

這種設計的話就利用定時器做變數的減法計數就行了,和0計數到10原理都一樣;按鍵控制trx就可以完成開始和停止。你也可以自己設計試試。

——我做好了 給你吧。

用51微控制器設計乙個數碼管計時器程式。從00~~59,增加乙個用一秒鐘。

11樓:

試著把p0=00放到jsq_s=1,後面,各位的也一樣!!!

at89c51微控制器做乙個計時器 要求有三個按鍵調節

12樓:小灰狼

說的不詳細。

還太監了。

基於51微控制器控制的9999秒倒計時器的設計,程式怎樣做?

13樓:網友

99秒倒數的 樓主看行不。

在寫 很麻煩的。

#include

unsigned char table=;

unsigned char int_time ;

unsigned char second;

void delay(void)

void displaysecond(unsigned char k)

void main(void)

void interserve(void ) interrupt 1

th0=(65536-50000)/256;

tl0=(65536-50000)%256;

tr0=1;}

14樓:未王艮

用1602的液晶還是四個數碼管?

15樓:

你能把原理圖附上來不?

學習51微控制器,如何起步,學習51微控制器,應該先學什麼

先學微控制器結構和彙編吧,要掌握微控制器的精髓還是從彙編開始,如果嫌枯燥,也可以從c學 學習51微控制器,應該先學什麼?一是必須得有較好的c語言基礎,如果是組合語言非常熟練的話也行.二是買一個微控制器開發板,上有很多.三是弄本關於51微控制器應用的書,然後在網上看51微控制器的介紹.四是天天拿著電腦...

51微控制器如何檢測高電平輸入,51微控制器引腳檢測高電平輸入的問題

51微控制器,把引腳設定為輸入狀態,方法就是輸出一個1。這是微控制器的設計者 生產廠家所規定的。在這個前提下,外界,只有輸入低電平,才會改變引腳的狀態。輸入高電平,是沒有反應的。如果,外設,一定要送來高電平,那就必須加上一個反相器,再連線到微控制器的引腳。這個電路和功能是可以實現的 c2放完電p1....

在51微控制器c語言程式設計中如何用sbit建立陣列

首先申明一bai下 新手一du枚 我也遇到同zhi樣的問題 說 dao個比較笨的辦法 用的時候專直屬 接給p1賦值 微控制器初始時所有i o口都為高電平,比如你想要floorled1 0 你就寫p1 0xfe floorled2 0 你就寫p1 0xfd floorled1 0 floorled2 ...