1樓:匿名使用者
3.3v和5v的兩個微控制器io口不要直接連線到一起,應該用電平轉換電路隔離。3.
3v的io口增加了18ma電流,這是很大的,容易燒壞3.3v微控制器,這種連線是不合理的。如果5v微控制器是stc的,引腳可設定成高阻輸入模式是最簡單的,如下表。
如果不是也不能設定io模式,那可以用一片74hc04(用sop14封裝),用兩個非門串接,電源接5ⅴ,與5v微控制器同電壓,用非門去拉低5v微控制器的io腳,而3.3v微控制器io接非門輸入端,是無電流無功率驅動。
一個操作51微控制器某幾個io口的方法
2樓:
對於51微控制器的p口來說,我們習慣上的賦值是p1 = 0***。但是這樣操作是一次性操作了8個io口。而有些情況下,我們只需要操作其中的幾個而不是全部的時候,我們如何操作呢?
如下圖註釋上邊的部分,是我寫的程式**。
這個是操作51微控制器p1口的低4位對步進電機進行操作的程式,在這個操作過程中,我們只使用到了p1口的低4位,因此我們希望高4位保持不變,只改變p1的低4位。首先把p1進行一個備份到變數tmp中去,然後把變數tmp的經過兩條語句,得到最終要賦值給p1的值以後,再一次性賦值給p0,這個方法大家都可以學習一下。
而註釋下邊的這段程式,是一位同學寫的,這位同學的理由是下邊這種寫法,也沒有改變p1的高4位。表面看也沒什麼問題,但是實際上如果不利用tmp這個變數,p1就會產生一個錯誤的中間值。
p1= p1&0xf0;這條語句執行完畢以後,p1 = 0xx0;其中x是未知的,保持了之前p1的高4位的原值,而低4位是0;
再然後p1= p1|beatcode[index];這樣操作後,p1得到了最終的值。
但是這中間,p1 = 0xx0;這個值是我們根本不需要的一個錯誤值。不要怕有問題,但是我也不希望沒有經過思考的問題。而這個問題,就是同學經過思考的問題,我認為很好,寫出來提供給同學們共同學習。
怎麼用51微控制器一個io口控制兩個led分別亮
3樓:
1、新建專案,如圖所示。
2、新增標頭檔案,建立延遲函式。
3、建立c主函式。
4、新增死迴圈效果。
5、點亮led燈。p1=0x7e;二進位制11111110。
6、新增延遲效果即可。
注意事項:proteus 自從有了微控制器也就有了開發系統,隨著微控制器的發發系統也在不斷髮展。 keil是一種先進的微控制器整合開發系統。
它代表著組合語言微控制器開發系統的最新發展,首創多項便利技術,將開發的程式設計/**/除錯/寫入/加密等所有過程一氣呵成,中間不須任何編譯或彙編。
4樓:匿名使用者
兩個led串聯,一端接vcc,另一端接gnd,io引腳接其中間,但要求2個led的導通電壓之和小於電源電壓.
5樓:做而論道
很簡單。
一個 led,正極接 io 引腳,負極接地。
即可實現:io口輸出 1 時,燈亮。
另一個 led,正極接正電源,負極接 io 引腳。
即可實現:io口輸出 0 時,燈亮。
注意, led 都需要串聯一個電阻,用於控制電流的大小。
請教高手 一個微控制器如何同過io控制另一個微控制器
6樓:匿名使用者
這個可以有兩種方式來控制,一種是通過串列埠發出命令來控制,另一種是通過並口(p0)來控制。
一個微控制器的某一個io口能連到另外一個io口上嗎
7樓:那天老三
可以的,類似於3*3鍵盤就是這樣用的,但是,如果是一直短路的話,程式一定要設定好i/o埠
一個按鍵按下,使兩個微控制器io口同時檢測到,但是電壓不同,防止串擾,電路怎麼搭呀,大神們
8樓:匿名使用者
是**圖,還是實物?
兩個微控制器共用一個按鍵嗎?為什麼要這麼用?電壓不同,就得每個微控制器的i/o腳各串聯一個500~1k的電阻後,再接到按鍵上了。
微控制器的io口電流大概10ma左右,如何讓一個io口控制四個並聯一起的led同時亮滅?
9樓:
每個led電流20ma?你為什麼要那麼大電流呢?不怕燒壞led?
好吧,不管你為什麼用那麼大的了,反正你不能把四個led連線到io口上,因為微控制器io口沒那麼大驅動能力.
用一個三極體吧,如果用npn三極體,接法如下:
電源--->四個限流電阻---->四個led正極---->
四個led負極擰到一起,共同接三極體的集電極--->三極體發射極接地
微控制器的io口--->約680---1000歐姆的電阻--->三極體的基極.
因為,當io口為高電平時,三極體工作於開啟狀態,四個led亮
如果用pnp三極體,接法如下:
電源--->三極體的發射極---->三極體的集電極---->四個限流電阻擰一起
--->四個限流電阻另一端分開,分別接四個led正極---->四個led負極擰到一起接地
微控制器的io口--->約680---1000歐姆的電阻--->三極體的基極.
因為,當io口為低電平時,三極體工作於開啟狀態,四個led亮
關於微控制器io口控制三極體的問題
10樓:0427付強
嘗試對微控制器的這個io口進行外部上拉,就是和電源之間連線一個10k左右的上拉電阻。
11樓:
10k的電阻太大了,換成1-3k的電阻吧
12樓:匿名使用者
在ua的地方接一個10k電阻到5v,在將圖中的10k電阻換成1k-3k的電阻
13樓:小小糊塗的人
不知使用什麼微控制器,應該是驅動能力不夠,將限流電阻r?改小成1k即可
微控制器:c51 12個io口控制另12個io口
14樓:
很簡單,就是讀輸入,寫輸出
讀輸入io口狀態,去抖動,寫輸出,不即用於12個io。
15樓:匿名使用者
你用12個io口輸入對應12個輸出~也就只能一個一個的寫~
16樓:匿名使用者
一個對應一個單獨控制的話當然要一個個的寫啊,不然你想怎麼寫
微控制器串列埠控制io口,微控制器序列口與普通IO口區別?
自我程式設計 我寫了一個串列埠接收輸入,並將輸入的字串顯示在lcd螢幕中,同時收到的資料還會通過串列埠傳送回上位機。我是用串列埠助手除錯的。定義了虛擬串列埠com3和com4作通訊。連續傳送字元將作為字串儲存,儲存在全域性變數strs 100 中,遇到間隔傳送,後傳送的字元或字串將覆蓋上次內容。比如...
微控制器IO擴充套件口的作用,當微控制器外部擴充套件儲存器是,四個I O介面各起什麼作用
愛晚風林亭 通過微控制器io控制擴充套件口,增加微控制器io口能控制的埠的數量。微控制器 microcontrollers 是一種積體電路晶片,是採用超大規模積體電路技術把具有資料處理能力的 處理器cpu 隨機儲存器ram 只讀儲存器rom 多種i o口和中斷系統 定時器 計數器等功能 可能還包括顯...
微控制器引腳如何實現高阻輸入,微控制器IO口設定為高阻輸入時能讀埠值嗎
amd百夫長 一 通過加驅動器實現了。二 如果是傳統的51微控制器 例如at89s52 p0口可以實現高阻。p0口內部和p1 p3口的內部結構不同,它的內部上拉fet只有在它作為外部儲存器匯流排的時候才能開啟,如果做普通io口,那麼讓p0口輸出1,外部又沒有接上拉電阻的話,那麼p0口就是高阻 懸空 ...