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