1樓:胖大海君
呵呵 俺來幫你解決
1 你設計的定時器是採用的迴圈查詢方式來判斷定時時間是否到,你的程式與中斷無關。
2 錯誤是查詢的狀態位tf0=1 表示定時時間到所以在程式中的while(tf0==0);
應該改為while(tf0==1);
呵呵 趕快再試一試吧 對了就給俺加分啊
2樓:
你沒有開ea=1和et0=1;這個是開總中斷,很重要的,沒有它定時器中斷是不會開啟的。et0=1是開定時器0中斷。你好好看看書,書上面那五個中斷方式的圖上都有寫。
tmod=0x01;
th0=(65536-46083)/256;
tl0=(65536-46083)%256;
ea=1;et0=1;tr0=1;
並且其中的tf0是我們不要控制的東西,它的意思是當定時器加到65535後時溢位,使tf0=1;
3樓:匿名使用者
還想還要開總中斷的。有個什麼ea之類的, 你可以參照一下微控制器的書,上面有很多這方面的資料。你好像只是設定了定時器模式,初始值和執行定時器0,還有tf0我不是很懂什麼意思,你確定能跳出這個迴圈麼?
微控制器--請高手看看我這程式為什麼總有問題
4樓:匿名使用者
我幫你看了下,有幾點要指出
1.不能死搬c語言,在微控制器中寫程式要特別規範,上面你在主函式後面又定義了一個e變數,有的微控制器是不允許的!底下的error就是最好的證明,最好的辦法就是定義全域性變數!
2.樓上的程式我也幫你看了下,寫的還好,但是也有錯誤,他的程式只能上電後執行一遍,你要實時監控應該改成迴圈執行的程式!
5樓:匿名使用者
unsigned int e=1;放在函式體最開始的地方。
高分!急求89c51微控制器簡單程式問題。這個小程式有幾個問題,麻煩路過的高手看看。 主要是做一個可調時鐘
6樓:
問題一中提到的十位沒顯示是因為你的程式在執行到那兒時迴圈等待你的輸入,所以無法繼續顯示十位,這是程式設計的問題,得到這樣的結果很正常.還有程式中怎麼有兩個delay函式和keyscan函式.?至於問題二,可能是延時程式導致的吧,你自己再試試.
祝你好運!
7樓:匿名使用者
你的按鍵都得去抖啊,第一個、第二個問題都是沒有去抖啊。
8樓:做而論道
可以解決。
樓主的思路不對。
微控制器延時程式 哪位高手幫我看看 下面這些程式有什麼錯誤啊??? 5
9樓:匿名使用者
單看這個程式應該沒有問題,但與其他程式相連有可能出錯,建議你使用此延時程式時,看一下此組暫存器的狀態,最好用不常用組的暫存器為好。根本還是不要這樣延時。他會阻斷cpu工作。
10樓:匿名使用者
delay0:mov 37h,#100
改成 delay0:mov 37h,#50 ;就是10ms延時了。其它不變。
不需要精確的話,如果晶振是12m的,只要第一個#後面的數和第二個#後面數相乘再乘2,就可以算出了。 即100x100x2=20000us=20ms
微控制器彙編高手請進,幫我看看這個程式有什麼問題!
關於微控制器的一點問題,微控制器的問題
入門的話 最好選擇51微控制器,簡單!網路資源豐富,例程也多,只要感興趣加上堅持。這些功能都能實現。你提的第一個問題51微控制器就可是實現,定時的話微控制器裡面有定時器功能,設定好相應的時間就可以控制燈亮滅,手動控制的話,用按鈕接微控制器io口來控制燈泡亮滅。第二個問題就有點難度了,像你那樣的要求也...
關於微控制器晶振的問題,關於微控制器晶振與時間關係的問題
這兩個小電容叫晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,一般在幾十皮發。它會影響到晶振的諧振頻率和輸出幅度,也是使振盪頻率更穩定。實際上就是電容三點式電路的分壓電容,接地點就是分壓點。以接地點即分壓點為參考點,振盪引腳的輸入和輸出是反相的。當兩個電容量相等時,反饋係數是0.5,一般是可以滿...
關於微控制器流水燈的問題,求高手求解
首先我不明白你的i是什麼引數,i 0 i 8,這個迴圈是什麼邏輯含義?然後,你的程式是想實現流水燈先迴圈左移嗎?如果是的話,在開始,p1已經設定成0xfe了,也就是最低位的燈是亮著的,設想一下,要是沒有p1 0x01,那麼,在第一次左移之後,p1 1111 1100 因為p1 1之後最低位變成0,而...