前幾天幫一個朋友處理一些電路,正好解決了自己以前經常遇到的一個問題:傳感器檢測信號傳送給單片機,如何改變單片機引腳電平信號,使之可在程序中直接讀取,進而實現對外部環境的檢測。
以前的思路:
(1)最初,我將檢測信號直接傳入控制器,由于外圍電路的驅動能力不夠,不足以拉高單片機的電平,一直都是失敗的。
(2)經過查找資料后,單片機的大部分引腳均可做I/O口,默認高電平,并且在做輸入口時,必須先將該引腳設置為高電平。我用三極管做了個開關電路,由于當時只焊接了電路,沒有畫電路圖,所以現在也忘記了是如何實現的,但是三極管的開關電路方面的資料有很多,有需要可自行查找。
當下實現方案:使用繼電器,實現開關
(1)思路分析:
法很簡單,既然單片機的引腳默認高電平,接地后就能滿足低電平了。那么,就用繼電器開關控制引腳與地的連接,傳感器的檢測信號控制繼電器的開關狀態,間接控制單片機的引腳電平。
其實,這也是繼電器的小電流控制大電流的思想,與三極管的開關電路的思想基本一致,只是三極管的電阻電容需要選擇合適大小,而繼電器就沒有什么需要太多考慮的了,可能需要考慮成本。
(2)電路圖及仿真分析:
紅色標記第一處為傳感器檢測信號輸出口;
第二處是NPN三極管,信號驅動三極管的基極,當第一處信號為高是,三極管導通,使第三處的繼電器開關換向;
當第三處開關換向后,第四處與單片機連接的引腳電平被拉低
仿真效果圖
無檢測信號時,單片機引腳P3.0為高電平
當有檢測信號時,單片機引腳P3.0為地點低電平
-
傳感器
+關注
關注
2562文章
52504瀏覽量
763283 -
繼電器
+關注
關注
133文章
5424瀏覽量
150843 -
單片機
+關注
關注
6061文章
44903瀏覽量
646402
發布評論請先 登錄
轉換start引腳拉高后,ADS1258的ready信號輸出引腳一直是低電平狀態,不時有脈沖輸出,為什么?
基于單片機的磁致伸縮位移傳感器的應用

評論