十年專注單片機方案開發(fā)的方案公司英銳恩,分享單片機開發(fā)過程。英銳恩現(xiàn)提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。
這里所說的開發(fā)過程并不是一般書中所說的從任務分析開始, 我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一 些常數、地址,事實上這些常數、地址在設計階段已被直接或間接地確定下來了。如當某器 件的連線設計好后,其地址也就被確定了,當器件的功能被確定下來后,其控制字也就被確 定了。然后用文本編緝器(如EDIT、CCED等)編寫軟件,編寫好后,用編譯器對源程序文件 編譯,查錯,直到沒有語法錯誤,除了極簡單的程序外,一般應用仿真機對軟件進行調試, 直到程序運行正確為止。運行正確后,就可以寫片(將程序固化在EPROM中)。在源程序被 編譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此 文件調入即可寫片。在此,為使大家對整個過程有個認識,舉一例說明:
ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;設堆棧
LOOP:
NOP
LJMP LOOP ;循環(huán)
END ;結束
表1
:03000000020040BB
:0700400075815F000200431F
表2
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
表3
表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉換成的目標文件,也就是最終寫入EPROM的文件,它由編程器轉換得到,也可以由HEXBIN一類的程序轉換得到。學過手工匯編者應當不難找出表3與表1的一一對應關系,值得注意的是從02 00 40后開始的一長串‘FF’,直到75 81,這是由于偽指令:ORG 040H造成的結果。