鄭成文++吳俊杰
之前我們已經(jīng)意識(shí)到,使用四位的二進(jìn)制組合構(gòu)成的15個(gè)有效狀態(tài),可以很好地表示0~9這10個(gè)數(shù)字,類似的方法早在計(jì)算機(jī)出現(xiàn)之前就已經(jīng)應(yīng)用在通訊當(dāng)中了,這就是電報(bào)。我們?cè)谝恍┰缙诘挠跋裰薪?jīng)常會(huì)聽(tīng)到“嘟,嘟-嘟,嘟”這種忽長(zhǎng)忽短的電波聲。短時(shí)間按下端口A的按鍵時(shí),對(duì)應(yīng)短聲,長(zhǎng)時(shí)間按下端口A的按鍵,對(duì)應(yīng)長(zhǎng)聲。
使用圖1所示的程序模擬電報(bào)能夠聽(tīng)到短的鐘聲和長(zhǎng)的鐘聲,而這種一長(zhǎng)一短的聲音,則是用聲音的長(zhǎng)短表示二進(jìn)制的1和0兩種狀態(tài)。一般用“-”表示長(zhǎng)的聲音,相當(dāng)于1,“.”表示短的聲音,相當(dāng)于0,那么之前的二進(jìn)制轉(zhuǎn)十進(jìn)制的轉(zhuǎn)換表可以表示為右表。
而短按和長(zhǎng)按的區(qū)別在于按下的時(shí)間不同,因此需要使用圖2所示的程序,確定短按和長(zhǎng)按之間的一個(gè)判定標(biāo)準(zhǔn),這個(gè)時(shí)間閾值需要實(shí)驗(yàn)測(cè)定,按下A端口的瞬間記錄通訊之前的時(shí)刻,手松開(kāi)時(shí)用當(dāng)前的計(jì)時(shí)器與通訊之前的時(shí)間求差,便求出了接通的時(shí)間,如圖2所示。
經(jīng)過(guò)10組短按和長(zhǎng)按的測(cè)定,我們發(fā)現(xiàn)短按的最大值和長(zhǎng)按的最小值的平均值是0.5秒。這個(gè)過(guò)程可以通過(guò)Excel函數(shù)解決,也可以編程序解決,每個(gè)人頭腦中對(duì)短按和長(zhǎng)按的閾值會(huì)有區(qū)別,因此有必要分別測(cè)量。圖3為長(zhǎng)按和短按的閾值測(cè)定圖。
之后,我們可以通過(guò)圖4所示的程序判斷短按還是長(zhǎng)按,繼而用一個(gè)變量“四位”表示一個(gè)四位二進(jìn)制數(shù),用按鍵A輸入一個(gè)四位二進(jìn)制數(shù),并且存儲(chǔ)在鏈表“四位編碼之中”。
不使用簡(jiǎn)單的“如果,否則”結(jié)構(gòu)的原因是為了區(qū)別正常操作和虛連、短路等電路故障。至此,我們就制作了一個(gè)簡(jiǎn)易的發(fā)報(bào)機(jī),但從通訊的角度來(lái)看,編碼只是通訊的開(kāi)始,接下來(lái)是傳輸和解碼。解碼的過(guò)程則比較簡(jiǎn)單,使用“十進(jìn)制數(shù)=A×8+B×4+C×2+D×1”換算公式即可,如圖5所示。
至此,我們將由短按和長(zhǎng)按構(gòu)成的電報(bào)編碼轉(zhuǎn)化為十進(jìn)制數(shù),完成了一個(gè)從編碼到解碼的過(guò)程,但是這始終是在一臺(tái)計(jì)算機(jī)中的內(nèi)部轉(zhuǎn)化,要完成一個(gè)完整的通訊過(guò)程,信息應(yīng)該從一臺(tái)計(jì)算機(jī)傳輸?shù)搅硪慌_(tái)計(jì)算機(jī),因此有必要接下來(lái)研究?jī)膳_(tái)計(jì)算機(jī)之間的信息的通訊,這個(gè)問(wèn)題將會(huì)在后面討論。此外,二進(jìn)制到十進(jìn)制數(shù)之間的計(jì)算公式實(shí)際上相當(dāng)于一個(gè)密碼換算規(guī)則,這種規(guī)則過(guò)于簡(jiǎn)單,從通訊的角度,容易破解,也不夠安全,這就有必要在后面的研究中研究出更為安全的密碼換算機(jī)制。最后,如何提高傳輸信息的效率也是需要進(jìn)一步研究的問(wèn)題。通訊是信息技術(shù)的一個(gè)核心過(guò)程,以往的信息技術(shù)教學(xué)并不能細(xì)致地讓學(xué)生了解通訊的過(guò)程和原理,期望信息技術(shù)實(shí)驗(yàn)?zāi)軌蛴脤?shí)驗(yàn)的方法,解決這個(gè)問(wèn)題。endprint