PIC微控制器判斷按鍵pic16F

時間 2021-08-30 10:29:12

1樓:匿名使用者

你的埠設定為輸出的,那麼輸入就為高阻態是沒有辦法讀取資料的。

rb口沒有上拉電阻可以配置rbpu位,使rb為弱上拉,埠要配置位輸入,才可以讀去該口的值。pic微控制器按鍵設計時最好是要上拉,按鍵按下就接地,按下讀取數值為低。如果把埠懸空,按鍵按下才接高電平,認為不按時沒有接高電平,沒有輸入為低電平,這樣也是錯的,因為微控制器引腳懸空讀取的數值也為高電平,這樣按下和沒有按下都是高電平。

2樓:匿名使用者

pic微控制器內部有弱上拉的,所以你應該設定為輸入模式。如果rb0是具有adc功能的話,同時不要忘記設定adc管腳設定暫存器(ansel),把這個管腳設定為數字i/o口模式 ,

你之前設定的是輸出模式,pic微控制器的高電平是可以大電流輸出的,也就是說你之前按鍵的時候,管腳直接拉到地,是有燒壞引腳的可能性的,所以如果你還不行的話,建議你換一個微控制器試試。

3樓:匿名使用者

你設定方向錯了!

既然是按鍵,這個引腳就是輸入,所以要用:

trisb0=1;

由於rb0為輸入,此時,你寫rb0=1是沒用的,這是高還是低,由外部電路決定的,當然你可以用內部弱上拉的辦法讓它在沒有按鍵時為高電平。

這個說來有點複雜,請看北航的《pic16系列微控制器c程式設計與proteus**》一書。

PIC微控制器的序列通訊問題,PIC微控制器序列通訊的波特率又高速和低速之分,請問這兩者有什麼區別

注意,這裡說的高速 低速不是通常說的速度快就是高速,速度慢就是低速。這裡所謂的高速 低速,指的是同一個波特率因子下的波特率的快慢。得看一下式子 高速 波特率 fosc 16 x 1 fosc代表外部晶振 低速 波特率 fosc 64 x 1 從上面的公式可以看到,對同一個x,顯然用 fosc 16 ...

PIC微控制器程式

甜甜圈的店鋪 movf 30h,w 將暫存器30h的值放入w暫存器 addwf 50h,f 把w暫存器與暫存器50h的值相加,結果放在50h btfss status,c 判斷status暫存器裡的c位是否置1 這是一個進位標誌,判斷30h和50h的值相加時候有沒有產生進位 如果為1則跳過下一條指令...

51微控制器好學還是pic微控制器好學

51好學一些,但是pic也沒比51難多少。我現在用的就是pic。首先,pic比51多個配置位,這個看看就懂了基本上。然後,pic的埠要配置成輸入或者輸出,51不用。pic的中斷沒有優先順序,需要軟體判斷。最後,pic比51多許多暫存器,你要使用pic的各種功能,都需要去初始化暫存器。再說說pic的優...