久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2721|回復: 34
收起左側

請問STC12單片機有外部上拉電阻怎樣設置輸入?

  [復制鏈接]
ID:103131 發表于 2022-4-23 09:51 | 顯示全部樓層 |閱讀模式
    外面接了上拉電阻,里面怎樣設置輸入呢?輸入信號,高電平為3.2V,低電平為2.1V,請問怎樣判斷啊?請問怎樣解決,感激不盡,最好發個例子給我參考一下,謝謝!
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 10:30 | 顯示全部樓層
沒人知道嗎?各位兄弟
回復

使用道具 舉報

ID:404160 發表于 2022-4-23 15:14 | 顯示全部樓層
數字電路2.1V,認為是高電平。如果非要識別2.1V,用ADC轉換識別
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 15:18 | 顯示全部樓層
飛云居士 發表于 2022-4-23 15:14
數字電路2.1V,認為是高電平。如果非要識別2.1V,用ADC轉換識別

我的那塊電路沒有AD轉換,也添加不了上去
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 15:18 | 顯示全部樓層
飛云居士 發表于 2022-4-23 15:14
數字電路2.1V,認為是高電平。如果非要識別2.1V,用ADC轉換識別

還有沒有其他辦法?
回復

使用道具 舉報

ID:213173 發表于 2022-4-23 16:03 | 顯示全部樓層
無標題.jpg
不論端口模式怎樣設置,IO口對高低電平的識別閾值不會改變。只能通過外部電路把高電平為3.2V,低電平為2.1V的信號變換為高電平>2.0V,低電平<0.8V。比較簡單的方法是加一個翻轉閾值為2.6V的比較器。
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 17:06 | 顯示全部樓層
wulin 發表于 2022-4-23 16:03
不論端口模式怎樣設置,IO口對高低電平的識別閾值不會改變。只能通過外部電路把高電平為3.2V,低電平為2. ...

可是我的電路里面根本沒有比較器?
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 17:06 | 顯示全部樓層
wulin 發表于 2022-4-23 16:03
不論端口模式怎樣設置,IO口對高低電平的識別閾值不會改變。只能通過外部電路把高電平為3.2V,低電平為2. ...

怎樣讀取端口狀態的?
回復

使用道具 舉報

ID:220661 發表于 2022-4-23 17:22 | 顯示全部樓層
把端口設置為高阻狀態再讀取。
回復

使用道具 舉報

ID:624769 發表于 2022-4-23 17:26 | 顯示全部樓層
按你的需求, 如果不愿意更換單片機,比較簡單的方法就是增加一個電壓比較器,
實在不愿意用比較器,就通過IO模式高阻+下拉電阻+二極管的方式,人為的吧 3.2V~2.1V 電壓變化分跨 識別出 0/1 的伐值兩端來進行判斷。但是需要試驗調整,比較麻煩。
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 17:31 | 顯示全部樓層
gongnn 發表于 2022-4-23 17:22
把端口設置為高阻狀態再讀取。

麻煩可以舉個例子嗎?
回復

使用道具 舉報

ID:1020139 發表于 2022-4-23 17:32 | 顯示全部樓層
不管端口模式怎樣設置,IO口對高低電平的識別閾值不會改變。只能通過外部電路把高電平為3.2V,低電平為2.1V的信號變換為高電平>2.0V,低電平<0.8V。比較簡單的方法是加一個翻轉閾值為2.6V的比較器。
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 17:35 | 顯示全部樓層
188610329 發表于 2022-4-23 17:26
按你的需求, 如果不愿意更換單片機,比較簡單的方法就是增加一個電壓比較器,
實在不愿意用比較器,就通過 ...

利用高阻模式,怎樣吧兩個電壓值保存,然后讀取狀態比較大小?
回復

使用道具 舉報

ID:301191 發表于 2022-4-23 21:34 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:103131 發表于 2022-4-23 22:08 | 顯示全部樓層
188610329 發表于 2022-4-23 17:26
按你的需求, 如果不愿意更換單片機,比較簡單的方法就是增加一個電壓比較器,
實在不愿意用比較器,就通過 ...

高阻輸入我設置好了,請問下一步怎樣做?
回復

使用道具 舉報

ID:624769 發表于 2022-4-24 00:35 | 顯示全部樓層
goldbirderman 發表于 2022-4-23 17:35
利用高阻模式,怎樣吧兩個電壓值保存,然后讀取狀態比較大小?

不是比較大小, 是讀取端口的 0/1,  通過 二級管 配合下拉電阻, 拉低信號的電平。讓你信號輸出 2.1V的時候,單片機能讀到0,信號輸出3.2V的時候,能讀到1, STC12有段時間沒有用了,我印象當中STC12 應該在斯密特發生器的伐值0.7V~1.6V這個范圍,應該接一個二級管即可, 基于斯密特發生器的特性,可能需要IO設置為開漏模式,讀IO之前,需要先給個低電平讓斯密特發生器判別為0,再置1讀IO,此時你的信號如果輸出的2.1V通過二級管壓降到1.4V 沒有滿足斯密特發生器的 1.6V,則讀到還是0,反之則會讀到1。
如果,折騰不好這個伐值,只能用 0.1uf 電容,通過IO放電,再開定時器,再IO置1充電,等到度到高電平了,判斷定時器的時間長短,來區分你的信號是 3.2V, 還是2.1V.
類似的這些方法有很多,但是,這些都需要你試驗去調整的,你如果這方面知識,一片空白的話,建議你還是用比較器。
回復

使用道具 舉報

ID:103131 發表于 2022-4-24 10:11 | 顯示全部樓層
188610329 發表于 2022-4-24 00:35
不是比較大小, 是讀取端口的 0/1,  通過 二級管 配合下拉電阻, 拉低信號的電平。讓你信號輸出 2.1V的時 ...

你所說二極管是內置在芯片里面嗎?你又說開漏模式,那應該是開漏模式還是高阻模式呢?
回復

使用道具 舉報

ID:103131 發表于 2022-4-24 10:13 | 顯示全部樓層
188610329 發表于 2022-4-24 00:35
不是比較大小, 是讀取端口的 0/1,  通過 二級管 配合下拉電阻, 拉低信號的電平。讓你信號輸出 2.1V的時 ...

要外接二極管?可是我的電路板不能外接哦,還有其他辦法嗎?
回復

使用道具 舉報

ID:213173 發表于 2022-4-24 11:55 | 顯示全部樓層
goldbirderman 發表于 2022-4-24 10:13
要外接二極管?可是我的電路板不能外接哦,還有其他辦法嗎?

看來樓主是希望在現有的硬件電路條件下不作任何更改,完全依靠修改軟件來解決所描述的問題。但這幾乎不可能。在樓主沒有提供詳細硬件資料和具體用途的情況,大家只能泛泛而談,樓主也聽得云里霧里。對大家的建議也不能正確理解。也許只是一個簡單的對輸入信號處理的問題,被樓主描述復雜化了。
回復

使用道具 舉報

ID:1021203 發表于 2022-4-24 13:53 | 顯示全部樓層
增大上拉電阻的阻值,能不能把低電平降到0.8以下?
回復

使用道具 舉報

ID:1021225 發表于 2022-4-24 13:58 | 顯示全部樓層
腳位設置為輸入狀態,根據輸入源的內阻和驅動能力,加一個合適的下拉電阻。
回復

使用道具 舉報

ID:220661 發表于 2022-4-24 15:23 | 顯示全部樓層
P1M1=0xff;
P1M0=0x00;  //這兩句就是設置端口為高阻
Flag=P1^7; //讀取端口引腳狀態
//把上面的端口改成你自己實際電路圖端口即可,Flag的狀態就是你端口狀態。
回復

使用道具 舉報

ID:103131 發表于 2022-4-24 21:04 | 顯示全部樓層
gongnn 發表于 2022-4-24 15:23
P1M1=0xff;
P1M0=0x00;  //這兩句就是設置端口為高阻
Flag=P1^7; //讀取端口引腳狀態

高阻輸入可以判斷高低電平嗎?
回復

使用道具 舉報

ID:103131 發表于 2022-4-24 21:51 | 顯示全部樓層
gongnn 發表于 2022-4-24 15:23
P1M1=0xff;
P1M0=0x00;  //這兩句就是設置端口為高阻
Flag=P1^7; //讀取端口引腳狀態

Flag是不是變量類型改為BIT?
回復

使用道具 舉報

ID:624769 發表于 2022-4-24 22:53 來自觸屏版 | 顯示全部樓層
goldbirderman 發表于 2022-4-24 10:11
你所說二極管是內置在芯片里面嗎?你又說開漏模式,那應該是開漏模式還是高阻模式呢?

先回答拿這個模式的問題,開漏模式且內部io口置1 = 高阻模式。
由于,stc12是有斯密特發生器器的,即高低電平判斷不是一個值,而是一個區間,具體stc12斯密特發生器抑制的區間多大我記不清了,假定是0.8v-1.6v這個區間的話,那么你的信號2.1v~3.2v,通過兩個二極管降壓,-1.4v 得到0.7~1.8,那么io口高阻的話,是可以直接判斷出0/1的,但是現實可能沒有那么理想,制造誤差也好,stc12的斯密特發生器區間比較大也好,可能在0.7v~2v之間。那么這個時候只能用比較變通的方法,幫他一把,就是先用一個二極管,把你的信號從2.1v~3.2v,降到1.4v~2.5v,此時你的信號的高電平在io口的高電平判斷區間,而信號低電平在模糊區間,這時候你開漏模式先把電平拉低,再置1,再去讀io,如果讀到1,表示外部信號高電平,讀到0表示信號是低電平。
回復

使用道具 舉報

ID:103131 發表于 2022-4-25 11:06 | 顯示全部樓層
188610329 發表于 2022-4-24 22:53
先回答拿這個模式的問題,開漏模式且內部io口置1 = 高阻模式。
由于,stc12是有斯密特發生器器的,即高 ...

可是外部不能添加元件
回復

使用道具 舉報

ID:624769 發表于 2022-4-25 15:02 來自觸屏版 | 顯示全部樓層
goldbirderman 發表于 2022-4-25 11:06
可是外部不能添加元件

我是看不懂了,你的2.1v-3.2v的信號,不是外部原件么?不是外部添加的原件?這叫外部不能添加原件?
你不要跟我說板子本來就是這樣設計的,一個沒有ADC的單片機,能設計成直接給2.1v-3.2v信號,這設計是沒法看的……
回復

使用道具 舉報

ID:103131 發表于 2022-4-25 16:11 | 顯示全部樓層
188610329 發表于 2022-4-25 15:02
我是看不懂了,你的2.1v-3.2v的信號,不是外部原件么?不是外部添加的原件?這叫外部不能添加原件?
你不 ...

人家要求這樣,沒辦法
回復

使用道具 舉報

ID:624769 發表于 2022-4-25 17:01 來自觸屏版 | 顯示全部樓層
goldbirderman 發表于 2022-4-25 16:11
人家要求這樣,沒辦法

沒有ADC功能,你單片機識別不了3.2v-和2.1v的區別,這是硬件上不支持,和你單片機輸出不了12v一個道理,不是軟件能實現的,懂了么?如果要求是不能添加外部模塊也就罷了,連電阻、二極管都不能加,那簡單來講,就是沒打算讓你搞成,么打算給你這個case。
回復

使用道具 舉報

ID:401564 發表于 2022-4-25 17:48 | 顯示全部樓層
沒有ADC功能,外部電路也不能改
輸入是2.1-3.2V信號
隨便你設置什么端口模式都沒有用,永遠不能區分高低電平,你折騰多少天都沒有用
回復

使用道具 舉報

ID:103131 發表于 2022-4-25 20:24 | 顯示全部樓層
gongnn 發表于 2022-4-24 15:23
P1M1=0xff;
P1M0=0x00;  //這兩句就是設置端口為高阻
Flag=P1^7; //讀取端口引腳狀態

讀取引腳狀態有例子嗎?高手
回復

使用道具 舉報

ID:103131 發表于 2022-4-26 14:21 | 顯示全部樓層
gongnn 發表于 2022-4-24 15:23
P1M1=0xff;
P1M0=0x00;  //這兩句就是設置端口為高阻
Flag=P1^7; //讀取端口引腳狀態

還是不行哦,兄弟
回復

使用道具 舉報

ID:161164 發表于 2022-4-26 15:37 | 顯示全部樓層
goldbirderman 發表于 2022-4-25 16:11
人家要求這樣,沒辦法

會不會是誤會?
低電平2.1v,高電平3.2v是怎么來的?
回復

使用道具 舉報

ID:103131 發表于 2022-4-26 15:55 | 顯示全部樓層
lkc8210 發表于 2022-4-26 15:37
會不會是誤會?
低電平2.1v,高電平3.2v是怎么來的?

大概都已經解決了
回復

使用道具 舉報

ID:103131 發表于 2022-4-26 15:55 | 顯示全部樓層
188610329 發表于 2022-4-25 17:01
沒有ADC功能,你單片機識別不了3.2v-和2.1v的區別,這是硬件上不支持,和你單片機輸出不了12v一個道理, ...

還是感謝你們幫我想辦法
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久噜噜噜www成人网 | 欧美亚洲视频 | 国产精品一区视频 | 激情五月婷婷丁香 | 国产精品精品久久久 | 精品国产乱码久久久久久闺蜜 | 中文字幕一区二区三区精彩视频 | 亚洲男人网| 一级欧美一级日韩片免费观看 | 久久大全 | 亚洲视频中文字幕 | 一区免费观看 | 中文字幕免费在线观看 | www.亚洲精品| 一区二区三区亚洲视频 | 成人免费视频观看视频 | 国产精品久久久久久久午夜 | 日韩在线视频一区 | 91精品国产乱码久久久久久久久 | 欧美亚洲一区二区三区 | 免费观看一级特黄欧美大片 | 久久这里只有精品首页 | 欧美日韩手机在线观看 | 免费黄色大片 | 一级做a爰片性色毛片视频停止 | 成人一区二区在线 | 欧美一区二区三区四区视频 | 久久夜视频 | 国产精品久久久久久久久久久久午夜片 | 久国久产久精永久网页 | 日韩成人一区 | 亚洲高清一区二区三区 | 国产精品久久二区 | 国产精品视频久久久 | 成人小视频在线免费观看 | 九九精品久久久 | 日韩a在线观看 | 午夜欧美一区二区三区在线播放 | 国精日本亚洲欧州国产中文久久 | 成人午夜影院 | 成人欧美日韩一区二区三区 |