單片機(jī)學(xué)習(xí)知識(shí)點(diǎn)全攻略(完結(jié)篇)(三)
六、單片機(jī)的開發(fā)過程 這里所說的開發(fā)過程并不是一般書中所說的從任務(wù)分析開始,我們假設(shè)已設(shè)計(jì)并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數(shù)、地址,事實(shí)上這些常數(shù)、地址在設(shè)計(jì)階段已被直接或間接地確定下來了。如當(dāng)某器件的連線設(shè)計(jì)好后,其地址也就被確定了,當(dāng)器件的功能被確定下來后,其控制字也就被確定了。然后用文本編緝器(如EDIT、CCED等)編寫軟件,編寫好后,用編譯器對(duì)源程序文件編譯,查錯(cuò),直到?jīng)]有語法錯(cuò)誤,除了極簡(jiǎn)單的程序外,一般應(yīng)用仿真機(jī)對(duì)軟件進(jìn)行調(diào)試,直到程序運(yùn)行正確為止。運(yùn)行正確后,就能寫片(將程序固化在EPROM中)。在源程序被編譯后,生成了擴(kuò)展名為HEX的目標(biāo)文件,一般編程器能夠識(shí)別這種格式的文件,只要將此文件調(diào)入即可寫片。在此,為使大家對(duì)整個(gè)過程有個(gè)認(rèn)識(shí),舉一例說明:
表1
ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;設(shè)堆棧
LOOP:
NOP
LJMP LOOP ;循環(huán)
END ;結(jié)束
表2
:03000000020040BB
?。?700400075815F000200431F
表3
02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43
表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉(zhuǎn)換成的目標(biāo)文件,也就是最終寫入EPROM的文件,它由編程器轉(zhuǎn)換得到,也能由HEXBIN一類的程序轉(zhuǎn)換得到。學(xué)過手工匯編者應(yīng)當(dāng)不難找出表3與表1的一一對(duì)應(yīng)關(guān)系,值得注意的是從02 00 40后開始的一長(zhǎng)串‘FF’,直到75 81,這是由于偽指令:ORG 040H造成的結(jié)果。
七、仿真、仿
評(píng)論