關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于AT89C51單片機(jī)的微型可編程控制器

基于AT89C51單片機(jī)的微型可編程控制器

作者: 時(shí)間:2010-03-26 來源:網(wǎng)絡(luò) 收藏


為了與PC機(jī)進(jìn)行通信,系統(tǒng)擴(kuò)展了RS-232C接口電路。51的RXD和TXD信號(hào)經(jīng)RS-232C電平變換后接至9芯插座。由此可與PC機(jī)進(jìn)行串行通信。一方面,在編程狀態(tài)時(shí),可接收PC機(jī)上梯形圖匯編程序編譯結(jié)果的OBJ指令代碼,并存入程序存儲(chǔ)器;另一方面,在運(yùn)行狀態(tài)時(shí),可將I/O口的狀態(tài)和處理結(jié)果實(shí)時(shí)地發(fā)送給上位機(jī)。

本文引用地址:http://butianyuan.cn/article/163188.htm


程序存儲(chǔ)器選用有SPI接口的X25045芯片。這是帶看門狗和電源監(jiān)控功能的E2PROM,有512字節(jié),每字節(jié)可擦寫10萬次,數(shù)據(jù)可保存100年。上電時(shí)自動(dòng)提供200 ms高電平復(fù)位脈沖;有三種看門狗周期;電源欠壓,VCC降到轉(zhuǎn)折點(diǎn)時(shí),自動(dòng)提供復(fù)位脈沖。E2PROM采用三線總線的串行外設(shè)接口SPI,既節(jié)省了I/O口線和電路板空間,又降低了系統(tǒng)成本。因此,該芯片是性價(jià)比極好的組合芯片。


軟件設(shè)計(jì)分為PC機(jī)梯形圖匯編程序編譯軟件和51軟件兩部分。前者用IBM-PC匯編語言編寫,我們稱之為PLC編譯軟件。本機(jī)中我們自己設(shè)計(jì)了一套TD型PLC的梯形圖匯編語言指令系統(tǒng),有LD/LDI、AN/ANI、OR/ORI、TM/TMI、CN/CNI、MA/MAI、OUT、JP/JE和END等16條基本指令和X00~07、X10~14、Y00~07、CN0~1、TM00~07、MA00~07、10~17等器件。用它們來描述繼電器梯形圖,即設(shè)計(jì)梯形圖匯編程序。用全屏幕編輯軟件將其輸入到PC機(jī),即建立了源程序文件。然后用PLC編譯軟件將其編譯成PLC目標(biāo)程序文件(OBJ文件),并經(jīng)串行通信口發(fā)送到,由單片機(jī)將其寫入E2PROM。


51單片機(jī)軟件由編程軟件和運(yùn)行軟件組成。編程軟件主要有串行通信和寫E2PROM兩個(gè)模塊。此時(shí),須將面版上的手動(dòng)開關(guān)設(shè)置P2.7=0,單片機(jī)即處于編程狀態(tài)。當(dāng)P2.7=1時(shí),單片機(jī)即處于運(yùn)行狀態(tài)。運(yùn)行狀態(tài)的程序主要有:


(1)輸入端子采集模塊


該模塊兩次采集P0口和P1口狀態(tài),結(jié)果全同時(shí)為有效,即將其存入輸入緩沖區(qū),否則重新采集。用軟件濾波的方法,提高了抗干擾能力。


(2)指令分析模塊


該模塊從000H地址開始,依次讀取E2PROM中的字節(jié)內(nèi)容,先讀出操作碼,對(duì)其分析后轉(zhuǎn)向相應(yīng)的處理程序;接著讀操作數(shù),供處理程序操作,從而完成一條梯形圖匯編指令的執(zhí)行。然后再讀取下一條指令的操作碼……。遇到OUT指令時(shí),將待輸出的數(shù)據(jù)存入相應(yīng)的輸出緩沖區(qū)。


(3)輸出模塊


當(dāng)CPU從E2PROM中讀到END指令的二進(jìn)制代碼時(shí),表示一次掃描周期結(jié)束,即將輸出緩沖區(qū)的內(nèi)容一次性輸出到P1口,從而完成輸出端子的刷新。


該P(yáng)LC的應(yīng)用可以用水塔水位控制的例子來說明。



圖2(a)是硬件接線圖,SB1/SB2是啟動(dòng)/停止按鈕;SAC是水池液位開關(guān):水浸到時(shí)接通,無水時(shí)斷開;SAH、SAL分別是水塔的高低液位開關(guān);M是水泵電機(jī)。


圖2(b)是繼電器梯形圖,圖2(c)是繼電器匯編程序,即TD型PLC源程序。其中y50是PLC輸出端子,我們將它的軟件觸點(diǎn)y50作為水位上升或下降的標(biāo)志:y50=0,表示電機(jī)已停,水位下降,此時(shí)SAL雖已接通,但電機(jī)不動(dòng)作;y50=1,表示電機(jī)正在抽水,水位上升,此時(shí)SAL接通,電機(jī)通電,繼續(xù)抽水,直到高水位。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉