PUSH DPH
MOV C, P1.4
MOV A, 25H
MOV DPTR, #INPUT1
RL A
RL A
JMP @A+DPTR
INPUT1: MOV 30H, C
SJMP INPUT2
MOV 31H, C
SJMP INPUT2
MOV 32H, C
SJMP INPUT2
MOV 33H, C
SJMP INPUT2
MOV 34H, C
SJMP INPUT2
MOV 35H, C
SJMP INPUT2
MOV 36H, C
SJMP INPUT2
MOV 37H, C
SJMP INPUT2
MOV 38H, C
SJMP INPUT2
MOV 39H, C
SJMP INPUT2
MOV 3AH, C
SJMP INPUT2
MOV 3BH, C
SJMP INPUT2
MOV 3CH, C
SJMP INPUT2
MOV 3DH, C
SJMP INPUT2
MOV 3EH, C
SJMP INPUT2
MOV 3FH, C
INPUT2: INC 25H
ANL 25H, #0FH
ANL P1, #0F0H
MOV A, 25H
ORL P1, A
POP DPH
POP DPL
POP ACC
POP PSW
RETI
首先保護(hù)PSW、ACC和DPTR,讀入當(dāng)前輸入P1.4至C寄存器。25H是CD4067的地址映像,指向當(dāng)前輸入地址,將當(dāng)前地址乘以4(跳轉(zhuǎn)地址占4個字節(jié)),跳轉(zhuǎn)到相應(yīng)位置得到輸入映像,指向下一個輸入地址,然后,恢復(fù)被保護(hù)的寄存器,返回。程序代碼長度為103個字節(jié),執(zhí)行所占用的時間為0.018毫秒,完全滿足PLC的實(shí)時性要求。
輸出分為兩部分,8個繼電器輸出和4個晶體管輸出,由于單片機(jī)上電時端口被置位,為了防止出現(xiàn)上電時誤導(dǎo)通,故而選用PNP管8550作為繼電器的驅(qū)動管,使得上電時晶體管處于截止?fàn)顟B(tài)。在軟件上只要對相應(yīng)端口復(fù)位,繼電器動作。
4 PLC的測試與應(yīng)用
利用文獻(xiàn)[2]中的通用多功能計(jì)算機(jī)監(jiān)控系統(tǒng)測試軟件,在攝氏40℃以上的環(huán)境中對PLC進(jìn)行測試,采用CRC校驗(yàn),每4秒發(fā)送一個數(shù)據(jù)包,連續(xù)測試48小時,PLC都能夠成功識別數(shù)據(jù)包,并返回正確的結(jié)果,完全能夠滿足實(shí)際的工程要求。
內(nèi)蒙第一機(jī)械制造集團(tuán)公司是國有特大型企業(yè),生產(chǎn)軍用裝備。該公司的液壓件打壓試驗(yàn)臺,就是采用該P(yáng)LC進(jìn)行監(jiān)控的。全部試驗(yàn)過程通過PLC、數(shù)據(jù)采集卡、工控機(jī)等進(jìn)行控制。試驗(yàn)過程及結(jié)果通過計(jì)算機(jī)顯示屏隨時監(jiān)控,并通過打印機(jī)打印輸出試驗(yàn)數(shù)據(jù)。
在北方奔馳重型車輛制造有限公司的發(fā)動機(jī)轉(zhuǎn)速測量中,也使用了該P(yáng)LC。這兩個監(jiān)控系統(tǒng)目前運(yùn)行可靠。該P(yáng)LC還批量投入實(shí)驗(yàn)室使用,在高級技工考試中也得到了成功的應(yīng)用。
本文作者創(chuàng)新點(diǎn)
本文利用AT89C55單片機(jī)實(shí)現(xiàn)了工業(yè)和教學(xué)使用的PLC系統(tǒng),系統(tǒng)穩(wěn)定可靠,并用于實(shí)際的工業(yè)控制系統(tǒng)和教學(xué)設(shè)備中,對于替代昂貴的進(jìn)口PLC和節(jié)省教育經(jīng)費(fèi)具有重要意義。
作者簡介:王建明(1957-),男(漢族),內(nèi)蒙古包頭人,包頭職業(yè)技術(shù)學(xué)院副院長,副教授,主要從事計(jì)算機(jī)監(jiān)控技術(shù)的開發(fā)研究。E-mail: wjm7591@yahoo.com.cn
Biography: Wang Jianming, male, the Han nationality, born in 1957, deputy headmaster and associate professor of Baotou Vocational & Technical College. His main research field is the development of computer monitor system. E-mail: wjm7591@yahoo.com.cn
[1]





