1樓:匿名使用者
你的主要問題是,在88x的微控制器中,b口中大部分都同時有模擬口的功能,預設時標有anx的腳為模擬口,所以出現了你說的問題。886的rb0-rb5都同時有模擬輸入的功能。為了將這些口設定為數字口,要增加:
anselh=0xff;程式就正常了。
還有,你對那些b口的單個腳連續設定為高或低電平可能會有問題:
rb0= 0;
rb1= 1;
rb2= 0;
rb3= 1;
rb4= 0;
rb5= 1;
rb6= 0;
rb7= 1;
要改為:portb=0b10101010;
或者在每個引腳輸出間加上nop();語句,這個問題超出你的問題範圍。
如果以下的程式還是不對,那肯定是你的硬體問題了。
完整的程式如下,用單步除錯執行可以看到b口的電平輸出是完全正確的。
#include
__config(0x206a);
__config(0x3eff);
void main(void)
2樓:匿名使用者
和電路以及微控制器的特性有關
51微控制器和pic微控制器有什麼區別
1 匯流排結構 mcs 51的匯流排結構是馮 諾依曼型,計算機在同一個儲存空間取指令和資料,兩者不能同時進行 而pic的匯流排結構是哈佛結構,指令和資料空間是完全分開的,一個用於指令,一個用於資料,由於可以對程式和資料同時進行訪問,所以提高了資料吞吐率。正因為在pic系列微控制器中採用了哈佛雙匯流排...
關於51微控制器3V電壓供電,微控制器供電電壓最低多少
用stc89le52,這個是可以工作在3.8v 2.0v的微控制器 微控制器型號中間有lv字樣的就是低電壓low voltage的意思,如89lv51 不知道這個型號是否存在,只是舉個例子,呵呵 但lv型絕對是有的,工作電壓是3.3v的,查一下就行了 89c2051就可以,就是引腳少了點 好一點的微...
PIC微控制器的TIMER0是不是沒有使能位
樓上的解決方法都有這樣或那樣的限制,比如用t0cs控制,外部引腳就會被佔用。實際,tmr0在開機配置 假定內部時鐘源 結束後,就是一直在工作的,不會停。需要定時時,通過清tmr0可以使定時器0停2個週期 datasheet原話 如果對tmr0 執行寫操作,則緊跟寫操作之後的兩個指令週期內tmr0 禁...