|
去年,有一大學(xué)生請我給他做一個畢業(yè)設(shè)計(jì),要求用DS18B20+51+LCD1602用作溫度采集,顯示為-55---125同時還要有TL及TH設(shè)置,采用ASM 編寫,當(dāng)時考慮到自已很久沒有搞過,而且時間也很傖促所以就沒答應(yīng)。前段時間有空突然想起這個事,就想來練練手,雖然經(jīng)過了十天之久(當(dāng)然上班除外),但基本上還是能滿足要求。系統(tǒng)里的單總線時序要求很嚴(yán),最后就卡在溫度數(shù)據(jù)比較上面,也不是說程序很難,主要是邏輯關(guān)系太強(qiáng),搞不好就出錯。在此把它記錄下來,或許會有更好的處理方案,拿出來大家相互學(xué)習(xí)。因程序太長,就摘錄數(shù)據(jù)比較那一段吧:
WDBJ: MOV A,WDZS ;
LCALL TLBJ ;
MOV A,WDZS ;
LCALL THBJ ;
RET ;
TLBJ: CJNE A,TL,J27 ;
JB HHW,J35 ;
SETB TLOUT ;
RET ;
J35: JB TLFH,J26 ;
CLR TLOUT ;
RET ;
J27: JNC J21 ;
JB HHW,J24 ;
JB TLFH,J25 ;
CLR TLOUT ;
RET ;
J21: JB HHW,J22 ;
SETB TLOUT ;
RET ;
J22: JB TLFH,J23 ;
CLR TLOUT ;
RET ;
J23: CLR TLOUT ;
RET ;
J24: JB TLFH,J26 ;
CLR TLOUT ;
RET ;
J26: SETB TLOUT ;
RET ;
J25: SETB TLOUT ;
RET ;
THBJ: CJNE A,TH,J28 ;
JNB HHW,J36 ;
SETB THOUT ;
RET ;
J36: JB THFH,J31 ;
SETB THOUT ;
RET ;
J28: JNC J29 ;
JB HHW,J33;
JB THFH,J31;
SETB THOUT;
RET;
J29: JB HHW,J30 ;
JB THFH,J31 ;
CLR THOUT ;
RET ;
J31: CLR THOUT ;
RET ;
J30: JB THFH,J32 ;
SETB THOUT ;
RET ;
J32: SETB THOUT ;
RET ;
J33: JB THFH,J34;
SETB THOUT;
RET;
J34: CLR THOUT;
RET;
|
|