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...