設(shè)計(jì)要求:
設(shè)計(jì)一個(gè)計(jì)數(shù)器程序,要求計(jì)數(shù)到10萬(wàn)次時(shí),Q0.0等于1。
先來(lái)看下I/O分配的情況:
根據(jù)要求編寫符號(hào)表,然后分析下題目要求:
要求對(duì)于10萬(wàn)次進(jìn)行計(jì)數(shù),而單個(gè)計(jì)數(shù)器的計(jì)數(shù)上限是32767,低于10萬(wàn)。
先來(lái)復(fù)習(xí)一下計(jì)數(shù)器的基本信息,如計(jì)數(shù)器的數(shù)量,是從C0-C255共計(jì)256個(gè),高速計(jì)數(shù)器是從HC0-HC5共計(jì)6個(gè),累加器是從AC0-AC3共計(jì)4個(gè)。
問(wèn)題:既然單個(gè)計(jì)數(shù)器無(wú)法完成結(jié)果的計(jì)數(shù),那么需要幾個(gè)計(jì)數(shù)器,計(jì)數(shù)器之間的關(guān)系是累加還是相乘?
有些人可能覺(jué)得應(yīng)該用加法,有的則認(rèn)為應(yīng)該用乘法。先來(lái)用一個(gè)實(shí)例推演下,比如某啤酒公司生產(chǎn)罐裝啤酒,其中20聽(tīng)為1箱,如果生產(chǎn)100聽(tīng)啤酒,應(yīng)該怎么統(tǒng)計(jì)?
20聽(tīng)為1箱,5箱正好100聽(tīng),那就是統(tǒng)計(jì)下滿足5個(gè)整箱時(shí),結(jié)構(gòu)就實(shí)現(xiàn)了(就可以點(diǎn)亮QO.O了)。
下面開(kāi)始設(shè)計(jì)程序:
逐行解讀一下:
第一步:I0.0啟動(dòng)計(jì)數(shù)器,開(kāi)始計(jì)數(shù),并在C0累加到設(shè)定值時(shí),C0常開(kāi)觸點(diǎn)導(dǎo)通,C0被復(fù)位;
第二步:C0常開(kāi)觸點(diǎn)導(dǎo)通,則C1計(jì)數(shù)器計(jì)數(shù)1次,累計(jì)達(dá)到設(shè)定值時(shí),C1常開(kāi)觸點(diǎn)導(dǎo)通;I0.1可以實(shí)現(xiàn)計(jì)數(shù)器復(fù)位;
第三步:C1常開(kāi)觸點(diǎn)導(dǎo)通,Q0.0被點(diǎn)亮,技術(shù)結(jié)果完成。
那么,上電之后,實(shí)測(cè)下看看效果。按下20次,C1計(jì)數(shù)1次,直到按到100次后,果然Q0.0點(diǎn)亮了。
但是,隨著按下復(fù)位按鈕后,問(wèn)題就出現(xiàn)了,這個(gè)大家可以思考一下。