1樓:硬體開發
是你的小失誤,你把led點亮 延時1000, led滅你沒有延時 所有你看不到led滅
p1 = 0;
delay(1000);
p1 = 1;
delay(1000);
這樣就可以實現你的功能了。努力學習吧!
2樓:
試試這個
void main()}
3樓:匿名使用者
延時void delay(uint n)
試試這個
4樓:
如果可以,給個截圖你的硬體是怎麼連的,尤其是led那邊,有點你必須清楚,直接用微控制器驅動led而沒設定微控制器輸入/輸出的狀態(普通i/o,推輓之類),可能就會出問題
5樓:匿名使用者
檢查電路,確定燈是接到p1^0上。
直接賦值為0,看看是否滅,如果滅就是程式有問題,延時太短或太長都可能
6樓:
因為你燈滅了以後直接就跳到主函式的第一步又把燈給點著了,因為微控制器執行指令的時間太短所以你根本看不出燈滅了。
7樓:by畢野
我感覺是你得延時太長了,(在硬體沒有問題的前提下)當第二個for(y=0;y<110;y++)時,若n=1000,則延時函式執行一次約1000ms的時間,如果向你那樣寫,延時理論上在10s左右,還有你得程式沒有while(1);結尾,是否是因為程式跑飛引起的。
一個51微控制器,晶振為12mhz,讓前三個led燈分別以1ms,1s,5s的頻率閃爍,怎麼用c語言寫,謝謝各位了~~
8樓:匿名使用者
用定時器0或1設定你要的初值,譬如你可以設定定時器裝的初值為1ms進入一次中斷函式,把led1點亮,然後熄滅,設定一個變數,因為1ms進入一次中斷函式,當此變數累加到1000次時,條件成立就點亮led2,然後又把此變數清0,第三個如此類推。
9樓:
其實很簡單啊,你可以再定時器裡設定,如果達到您的條件就亮下就ok了哦。
微控制器,我有一些填空,求助微控制器大神幫我做一做,感激不盡!
10樓:
7題是加,其他都在書上吧
11樓:做而論道
空,不是都填好了嗎?
微控制器mcs-51彙編問題。p1 口接8個led燈,程式執行後,8個led燈閃爍,閃爍頻率為20hz。急急急!!!!!!
12樓:尚雲社
根據你的要求寫了一個,記得選擇滿意答案哦
;fosc = 12mhz
;sysclk = 1us
flag bit 00h
cnt equ 25000 ;計時器初始值,頻率 = 20,週期 = 50ms,一半為25ms
org 00h
jmp main
org 0003h
jmp int0_isr
org 000bh
t0_isr:
mov tl0,#(65536 - cnt) mod 256mov th0,#(65536 - cnt) / 256jb flag,t0_end
xrl p1,#0ffh
t0_end:
reti
int0_isr:
cpl flag
reti
main:
mov sp,#50h
clr flag
mov tmod,#01h
mov tl0,#(65536 - cnt) mod 256mov th0,#(65536 - cnt) / 256setb tr0
setb it0 ;下降沿觸發
mov ie,#83h
mov p1,#00h
jmp $end
微控制器按鍵數碼管顯示問題,微控制器C51實現按鍵一次數碼管加1程式問題。高手進。
default那句的break刪掉試試。51微控制器中如何按下按鍵時數碼管正常顯示而不閃爍,並且實現長按連續 不要檢測按鍵是否抬起即可,但為了防止連續加得太快,所以程式裡還是要加延時,這樣造成 數碼管顯示閃爍,且這個延時和閃爍是一個矛盾if key 0 display num 當然也好可以將延時函式...
微控制器中斷系統工作原理,C51微控制器的中斷系統的結構及其工作原理是什麼
我覺得你應該看看暫存器是怎樣工作的,比如tr0 1 表示定時器中斷 et0 1 表示開啟定時器中斷 es 1 串列埠中斷 ex0 1 外部中斷 ea 1 開啟所有中斷 一般的微控制器書上都有介紹的,而且使用的時候也是比較簡單,直接在程式裡給暫存器寫值就可以了!中斷有硬中斷與軟中斷。中斷有優先度之分,...
微控制器的復位電路是怎樣工作的,c51微控制器復位電路的工作原理
微控制器復位主要包括 1 上電覆位 又分為內部復位電路和外部復位電路。不論哪種電路,都相當於在上電時,給微控制器的復位引腳施加一個一定寬度的脈衝電平 因微控制器而已,有低電平復位,也有高電平復位,脈衝寬度一般數十至數百毫秒 外部復位電路通常用一個電阻和一個電容實現。2 看門狗復位 微控制器執行在預期...