關於微控制器點亮led燈的問題

2021-05-17 11:18:22 字數 1911 閱讀 6274

1樓:匿名使用者

你的程式,燈一直是在開關狀態(0與1),只是眼睛看不出來,記得先初始化再進入迴圈,不然程式會跑飛,然後再看看電路圖,確認電路和你的程式是否一至。

#include

sbit d1=p1^0;

sbit d2=p1^5;

void main()

2樓:匿名使用者

zhxiufan正解,while(1) 是必須要有的。否則微控制器會繼續執行下面的指令,但下面沒有你想要執行的指令,也就是說程式跑飛了。

#include

sbit d1=p1^0;

sbit d2=p1^5;

void main()

//while(1) 是必須要有的。

3樓:天將幽靈

首先看看原理圖,確定led接在微控制器的那組io口上,另外主函式內要有死迴圈,否則微控制器會跑飛。一般寫成while(1)或者for(;;)。

#include

sbit d1=p1^0;

sbit d2=p1^5;

void main()

4樓:

最好把原理圖貼出來,這樣就方便分析了。另外主函式內要有死迴圈,否則微控制器會跑飛。一般寫成while(1)或者for(;;)。

void main()

5樓:匿名使用者

#include

sbit d1=p1^0;

sbit d2=p1^5;

void main()

//你定義的可以p1.0個p1.5,while(1) 是必須要有的。

6樓:匿名使用者

程式沒有錯,只是不規範,看你燈和數碼管顯示的順序是一樣的,看看你的連線線路

7樓:天涯1路人

主函式內要有死迴圈,否則微控制器會跑飛。一般寫成while(1)或者for(;;)。

void main()

8樓:匿名使用者

肯定是p1口為多個裝置的複用口,受到其它裝置的影響了。

9樓:廖元洪

首先,我不知道你的原理圖是怎麼樣的。也許你那個板的原理圖的燈就是聯到p2口的,所以你操作p1口是無效果的。所以你要先看原理圖

10樓:匿名使用者

你還是看看p1和p2電路構造的區別吧,還有可能是他們的驅動能力不同

11樓:質空子

是不是鎖存器沒有設定,而且keil環境下,程式預設是迴圈執行的,但是一般不使用預設,加個死迴圈語句比較好!

12樓:黑夜行者

你用的這個開發板是stc的一款吧 我記得需要接線子的 你接線子的部分有沒有弄錯?

13樓:

看看電路圖就知道了!

14樓:匿名使用者

把實驗板上的紅色跳帽逐個拔掉試試

15樓:匿名使用者

首先你得確定一下你的數碼管和微控制器的引腳連線;

其次,p1口一般都需要外部上拉電阻,

總之你得先搞明白微控制器和數碼管怎麼連線的!

16樓:匿名使用者

跟硬體,介面和配置有關。看硬體說明書。

17樓:大雨落幽燕白

加入無限迴圈試試,另外檢查線路。

18樓:雨楓

直接給高低電平就可以了

19樓:匿名使用者

可能,微控制器板子上介面問題,收到了其他硬體的干擾。

20樓:湘m記

看你數碼管也有亮,先把數碼管的供電斷開

關於微控制器程式狀態字PSW的問題

a 1001 0011 30h 1000 1101 1 0010 0000 ov 1 p 1 cy 1 a 1 程式狀態字psw有什麼作用,各位的含義是什麼?程式狀態字 program status word,psw 又稱狀態暫存器,主要用於反映處理器的狀態及某些計算結果以及控制指令的執行。程式狀態...

微控制器流水燈C語言程式(燈,依次點亮每個燈,延時500M

微控制器流水燈c語言程式的源 如下 include 51系列微控制器定義檔案 define uchar unsigned char 定義無符號字元 define uint unsigned int 定義無符號整數 void delay uint 宣告延時函式void main void temp 0...

關於微控制器彙編的十進位制調整指令,微控制器組合語言十進位制調整da

是不是做加法,凡是遇到上述情況都得修正?是bcd碼的加法,就必須修正。那為什麼我看到的某些加法運算沒有修正啊?那就不是bcd碼的加法。一般時,是用四位二進位制數,表示一位16進位制數 0 16 即0000 1111。bcd碼,是用四位二進位制數,表示一位十進位制數 0 9 即0000 1001。如果...