51微控制器的程式c語言版用數碼管進行倒計時

2021-03-04 05:20:18 字數 1991 閱讀 6250

1樓:六十七年

你是不是用

抄2了鎖存器bai啊。

p2=led_table[ten];

led_ten=1;//開啟鎖存器

led_ten=0;//關閉du鎖存期

儲存zhi10位

p2=led_table[single];

led_single=1;//開啟鎖存器

led_single=0;//關閉鎖存器

儲存個位

另外led_ten,led_single 你要dao先定義一下吧

2樓:小皇帝

這個很簡單,就是迴圈掃描兩萬次,要是掃描的次數少了,你的眼睛是看不到亮

回的,led_single=1;//

led_single=0;//

這兩句就答是控制顯示的=1者亮,0者關

顯示兩萬次,

30的減一計數器,每減一就顯示兩萬次,這個兩萬次也可能就一秒或幾秒,看你微控制器的時脈頻率。

3樓:

數碼管顯示2個數字,共顯示2萬次。

4樓:匿名使用者

led_ten ,led_single 你要設定用來控制誰的訊號?

想用51微控制器編個倒計時的c程式,要求用兩位數碼管顯示分鐘的,並用一個按鍵

5樓:手機使用者

並用一個按鍵啥? 51微控制器我沒設計過電路,用的學習板是現成的,對著電路圖。 那個學習板上沒有鎖存器啥的,只能靠掃描來顯示2個數字(就是兩個數碼管輪流顯示數字,因為輪流速度非常快人眼看不出來一次其實只有一個在顯示) 思路的話,按鍵和計時器都用中斷控制會比較方便, 1個全域性變數代表當前剩餘秒數,一個全域性變數代表當前剩餘分鐘數(或者你要一個16位變數代表秒數也行) 因為計時器無法定時1秒所以還要一個變數來輔助計時器實現每1秒引發一次事件的操作。

加上按鍵,這樣就有2個事件:一個是1秒引發一次,一個是按鈕引發 按鈕作用是什麼我不知道,你自己看著辦 計時器就是全域性變數的秒數減去1 這兩個事件實現以後,主程式邏輯就是一開始啟用中斷、啟用定時器、初始化全域性變數, 然後就開始死迴圈,迴圈裡的功能是把全域性變數裡的數字顯示到數碼管上,只管顯示不管別的的話還是很容易的,別的(計時、按鈕)全部交給中斷去完成,即可。

我想用51微控制器編個倒計時的c程式,要求用兩位數碼管顯示分鐘的,並用一個按鍵

6樓:空雪夢見

你這數碼管的1、2口就這麼懸著或者接dp一起了真的沒問題嗎......

全域性變數2個用於表示個位和十位,顯示的時候可以省點力不用每次計算個位十位。

然後一個全域性變數代表秒

程式設計的話,首先是按鍵響應中斷,控制某個全域性變數flag的值,三種狀態:正常、暫停、到時間。按鍵可以在前兩種之間切換,如果已經是第三種狀態則沒反應(或者要重置什麼隨你)

然後定時器,一直開著就好,比如定10ms,每10ms就給一個全域性變數的值+1

這個變數到了100的時候就說明一秒過了,重設值,全域性變數的秒減一。如果到0了,就恢復60,然後給分鐘的個位減一。如果個位不夠減,就把十位減一然後個位設9。

如果十位和不夠減,就是時間到了,flag設定為第三種狀態

主函式在初始化各種狀態之後不斷迴圈給數碼管顯示數字,就ok了。

7樓:匿名使用者

你這個圖有問題,兩數碼管只接了8個io口,也就是同時點亮兩個數碼管

8樓:小馬達

#include

#define uchar unsigned charsbit p13=p3^0;

sbit p14=p3^1;

uchar c,i,a=60,z;

uchar code numcode=;

void delay(z)

void main()

/*if(a>=0)

*/if(a>=0)

else}}

void timer0() interrupt 1

微控制器89c51外部摁鍵中斷程式

ex0 1 開外部中斷0 ea 0 開總中斷 lt0 1 下降沿觸發 然後寫中斷函式即可 void extern0 interrupt 0 按鍵一端接地,另一端接p3 2 就是外部中斷0 sbit key p3 2 void main void int0 interrupt 0 else 這個程式包...

51微控制器c語言液晶顯示1602怎麼顯示動態的資料

51微控制器是對所有 相容intel 8031指令系統的微控制器的統稱。該系列微控制器的始祖是版intel的8031微控制器,後來隨權著flash rom技術的發展,8031微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是atmel公司的at89系列,它廣泛應用於工業測控系統...

向51微控制器裡寫發出脈衝訊號的c程式怎麼編啊

假設用p1.1做輸 抄出p1 1 p1 1 p1 1 p1 1 對輸出的那個襲io口取反就會輸出一個不同的電平。比如當前p1 1 0,執行這句之後p1 1會輸出1,就是你說的一個脈衝。如果用定時器,在中斷裡面寫這句,可以得到方波。用adc0808控制pwm輸出 include define ucha...