基于AT89C51單片機(jī)的微型可編程控制器
摘 要:介紹用AT89C51單片機(jī)構(gòu)成微型可編程控制器PLC的設(shè)計(jì)思路、系統(tǒng)硬件配置和軟件設(shè)計(jì)方法,最后給出此微型可編程控制器在水塔水位控制中應(yīng)用的實(shí)例。
本文引用地址:http://m.butianyuan.cn/article/163188.htm
關(guān)鍵詞:PLC 單片機(jī) 掃描 控制
可編程控制器PC(Programmable Controller),為與個(gè)人計(jì)算機(jī)PC(Personal Computer)相區(qū)別,可簡稱為PLC。它是按照成熟而有效的繼電控制概念和設(shè)計(jì)思想,用先進(jìn)的單片機(jī)技術(shù)來實(shí)現(xiàn)I/O的實(shí)時(shí)檢測和控制,可靠性高,編程簡單、易學(xué),因此,得到廣泛應(yīng)用。
將PLC技術(shù)引進(jìn)電工學(xué)、電力拖動(dòng)課程,是課程建設(shè)現(xiàn)代化的重要措施。在教學(xué)經(jīng)費(fèi)相對緊張的情況下,我們自己動(dòng)手,以AT89C51單片機(jī)為核心,設(shè)計(jì)并研制了LD型微型PLC,應(yīng)用于繼電控制實(shí)驗(yàn),取得了良好的效果。
用單片機(jī)構(gòu)成的PLC,實(shí)際上就是一個(gè)單片機(jī)測控系統(tǒng)。用這樣一個(gè)程序控制的計(jì)算機(jī)系統(tǒng)去執(zhí)行繼電控制的梯形圖程序,由于繼電控制梯形圖中各被控電器之間是并行關(guān)系,而計(jì)算機(jī)程序控制中,各被控電器之間在時(shí)間上是串行關(guān)系,二者顯然不協(xié)調(diào)。若簡單地像一般單片機(jī)測控系統(tǒng)一樣,對梯形圖各程序行依次實(shí)時(shí)采集輸入端子狀態(tài),進(jìn)行處理后實(shí)時(shí)輸出,是達(dá)不到控制目的的。為此,必須采用一次性采集全部輸入端子狀態(tài),并將其存入輸入緩沖區(qū)。然后,按梯形圖程序行的邏輯關(guān)系,從輸入緩沖區(qū)讀取相應(yīng)輸入端子狀態(tài),處理后將待輸出的結(jié)果存入輸出緩沖區(qū)。最后,待梯形圖程序行全部執(zhí)行完畢,一次性將輸出緩沖區(qū)的值輸出到相應(yīng)的輸出端子,從而完成一個(gè)程序執(zhí)行周期。如此往復(fù),自動(dòng)進(jìn)行下一輪的采集輸入端子狀態(tài)……。這種工作方式即稱為掃描方式,它將串行程序工作和電器并行工作兩種關(guān)系協(xié)調(diào)了起來。另外,單片機(jī)執(zhí)行一條指令的時(shí)間是μs級(jí),執(zhí)行一個(gè)掃描周期的時(shí)間為幾ms乃至幾十ms。相對于電器的動(dòng)作時(shí)間而言,掃描周期是短暫的,可以認(rèn)為在一個(gè)掃描周期內(nèi)輸入端子的狀態(tài)是不變的,而對其狀態(tài)變化的采集和處理也是實(shí)時(shí)的,從而滿足了實(shí)時(shí)控制的要求。
系統(tǒng)硬件配置以AT89C51(以下簡稱51)單片機(jī)為核心,如圖1所示。該單片機(jī)有4 KB閃存,不必?cái)U(kuò)展程序存儲(chǔ)器,其4個(gè)I/O口共32個(gè)I/O引腳,都可供用戶使用,其中P0.7~0.0,P2.4~2.0共13個(gè)腳經(jīng)光耦隔離后連到相應(yīng)的輸入端子X07~X00,X14~X10??梢杂眯谐涕_關(guān)、液位開關(guān)、霍耳開關(guān)和手動(dòng)按鈕等進(jìn)行輸入。開關(guān)接通時(shí),相應(yīng)引腳為0,取反后存入輸入緩沖區(qū)。
P1.7~1.0共8個(gè)引腳用于輸出控制:P1.i為0時(shí),相應(yīng)的PNP管導(dǎo)通,繼電器Ji線圈通電,其觸點(diǎn)Y5i接通,可驅(qū)動(dòng)220 V/3 A的負(fù)載。
評(píng)論