在數(shù)字電路里,只有“0”和“1”的范疇,再?gòu)?fù)雜的邏輯都是通過(guò)0和1的不同組合來(lái)實(shí)現(xiàn)的。
可編程器件的程序編寫很復(fù)雜,比如路由器、網(wǎng)關(guān)等與協(xié)議轉(zhuǎn)換相關(guān)的產(chǎn)品,其程序動(dòng)輒十幾萬(wàn)行,甚至上百萬(wàn)行。
那這么多程序是怎么編出來(lái)的?有什么依據(jù)?
依據(jù)當(dāng)然是有的,任何一個(gè)協(xié)議都是有協(xié)議范本的,協(xié)議范本里邊都是通過(guò)時(shí)序圖來(lái)闡明數(shù)據(jù)變化的,程序都是根據(jù)時(shí)序圖來(lái)編寫的。時(shí)序圖縱使再?gòu)?fù)雜,萬(wàn)變不離其宗,講到底還是0和1的不同組合。
通過(guò)一副圖簡(jiǎn)單看一下時(shí)序。
上圖中闡述了,高電平、低電平、電平變化、有效數(shù)據(jù)等定義。下面通過(guò)IIC幾個(gè)簡(jiǎn)單的時(shí)序來(lái)認(rèn)識(shí)一下。
IIC在發(fā)送數(shù)據(jù)時(shí),要先發(fā)送起始信號(hào),起始信號(hào)如何表示呢?因?yàn)镮IC是有上拉電阻的,所以沒(méi)有數(shù)據(jù)變化時(shí),都默認(rèn)高電平。通過(guò)時(shí)序圖可以看出SCL在高電平期間,SDA出現(xiàn)下降沿即可模擬起始信號(hào)。程序如下:
如果要模擬停止信號(hào),根據(jù)時(shí)序圖只需要在SCL高電平期間,讓SDA出現(xiàn)上升沿即可,程序如下:
下面這篇文章分析74HC595的時(shí)序圖,請(qǐng)點(diǎn)擊標(biāo)題查看。
74HC595驅(qū)動(dòng)數(shù)碼管(點(diǎn)擊跳轉(zhuǎn))
關(guān)注微信公眾號(hào)『玩轉(zhuǎn)嵌入式』,后臺(tái)回復(fù)“128”獲取干貨資料匯總,回復(fù)“256”加入技術(shù)交流群。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!