ISP器件W78E516及其在系統(tǒng)編程的實(shí)現(xiàn)
實(shí)現(xiàn)ISP操作的軟件由兩部分組成:一是微控制器部分(包括APROM和LDROM中的程序),用MCS-51匯編語(yǔ)言編寫(xiě);二是PC機(jī)部分,由Microsoft Visual Basic開(kāi)發(fā)而來(lái),主要應(yīng)用MSCOMM控件與W78E516通信,完成數(shù)據(jù)下載。
微控制器上電后一般從64KB APROM中啟動(dòng)。64KB APROM中,包括了在系統(tǒng)編程子程序,還有其他檢測(cè)記錄系統(tǒng)的子程序。微控制器必須讀取撥碼盤的輸入,決定進(jìn)入哪一種工作狀態(tài),是否進(jìn)行在系統(tǒng)編程。值得注意的是,在寫(xiě)CHPCON寄存器時(shí),應(yīng)將其第4位置1,使AUX-RAM有效;64KB APROM中的程序應(yīng)該始終包含圖3流程所示的程序段,以使系統(tǒng)具有進(jìn)入下一次在系統(tǒng)編程的能力。4KB LDROM中的程序主要作用是接收來(lái)自PC機(jī)的下載數(shù)據(jù),并控制各項(xiàng)ISP操作。執(zhí)行在系統(tǒng)編程時(shí),利用SFRAL、SFRAH、SFRFD、SFRCN這幾個(gè)特殊功能寄存器,選擇在系統(tǒng)編程的地址單元,準(zhǔn)備待寫(xiě)入的數(shù)據(jù),選擇待執(zhí)行的操作類型。當(dāng)從F04BOOT模式啟動(dòng)時(shí),軟件復(fù)位失效,必須硬件復(fù)位。在系統(tǒng)編程的數(shù)據(jù)由在此期間仍能正常工作的串行通信口進(jìn)入。這部分流程如圖6所示。
PC機(jī)通過(guò) RS-232串口發(fā)送數(shù)據(jù)。每一幀的前3個(gè)字節(jié)都為7EH,作為幀同步信號(hào)。隨后2個(gè)字節(jié)內(nèi)容均為幀指針,表明本幀數(shù)據(jù)的幀號(hào)。PC機(jī)在發(fā)送1幀數(shù)據(jù)后,等待單片機(jī)發(fā)回確認(rèn)數(shù)據(jù)幀,該幀數(shù)據(jù)應(yīng)包括數(shù)據(jù)接收正確與否的標(biāo)志及接收到的數(shù)據(jù)的幀號(hào)。數(shù)據(jù)幀格式及PC機(jī)通信軟件流程分別如圖7、圖8所示。
評(píng)論