如何編寫STC單片機(jī)的ISP協(xié)議
4與計(jì)算機(jī)的通信協(xié)議
升級(jí)用戶代碼時(shí),需要與計(jì)算機(jī)進(jìn)行通信,一般采用RS232串行通信,數(shù)據(jù)協(xié)議采用簡(jiǎn)單協(xié)議.此協(xié)議參考了ADuC812單片機(jī)的ISP數(shù)據(jù)協(xié)議.(ADuC812單片機(jī)硬件內(nèi)置ISP程序).
(1)復(fù)位命令(計(jì)算機(jī)→單片機(jī))
計(jì)算機(jī)發(fā)送4字節(jié)復(fù)位命令:21H,5AH,00H,A6H,單片機(jī)返回復(fù)位信息.
(2)復(fù)位信息(單片機(jī)→計(jì)算機(jī))
復(fù)位信息為25字節(jié),前3字節(jié)為單片機(jī)公司特征字符(如:“ADI”“SST”“STC”),最后1字節(jié)為校驗(yàn)和.
(3)數(shù)據(jù)包格式(計(jì)算機(jī)→單片機(jī))
計(jì)算機(jī)發(fā)送數(shù)據(jù)包格式:07H、0EH、長(zhǎng)度、數(shù)據(jù)、校驗(yàn)和(長(zhǎng)度與數(shù)據(jù)的校驗(yàn)和).
(4)擦除命令
計(jì)算機(jī)發(fā)送數(shù)據(jù)包,其中數(shù)據(jù)只有1字節(jié),內(nèi)容為:字符“A”或“C”.單片機(jī)擦除用戶程序區(qū)后返回1字節(jié)06H表示成功;05H表示失敗.
(5)編程命令
計(jì)算機(jī)發(fā)送數(shù)據(jù)包,其中數(shù)據(jù)內(nèi)容:“W”,00H,地址高字節(jié),地址低字節(jié),程序數(shù)據(jù).單片機(jī)返回1字節(jié)06H表示成功;05H表示失敗.
(6)運(yùn)行用戶程序
計(jì)算機(jī)發(fā)送數(shù)據(jù)包,其中數(shù)據(jù)只有1字節(jié),內(nèi)容為:字符“U”.單片機(jī)返回1字節(jié)06H表示成功,然后跳轉(zhuǎn)到用戶程序運(yùn)行.
本刊網(wǎng)站提供了計(jì)算機(jī)下載軟件的C程序源代碼Download.C.
結(jié)語(yǔ)
根據(jù)以上ISP程序設(shè)計(jì)思路和實(shí)例,大家可以修改ISP初始代碼,或者豐富它的ISP功能(讀功能、口令控制等),嘗試設(shè)計(jì)自己的ISP程序,定能為自己的系統(tǒng)增色不少.本文引用地址:http://www.butianyuan.cn/article/173034.htm
評(píng)論