Windows下PIC8位單片機源程序匯編和固化(一)
Microchip公司在推出PIC系列單片機產(chǎn)品的同時(shí),也推出了相對應的軟件開(kāi)發(fā)和硬件開(kāi)發(fā)工具,例如PIC在線(xiàn)仿真器、MPLAB集成開(kāi)發(fā)軟件、MPSIM軟件仿真器、MPASM宏匯編程序以及PIC通用編程器等。不僅如此,國內開(kāi)發(fā)PIC系列單片機的工作也很迅速,許多公司或研究所也推出了相應的開(kāi)發(fā)裝置,其中既有適用于初學(xué)者、低價(jià)位的軟件仿真和編程器,也有適用于產(chǎn)品開(kāi)發(fā)的高中檔開(kāi)發(fā)應用裝置。有些高檔的開(kāi)發(fā)器還能支持C編譯器(如MP-C)與模糊邏輯開(kāi)發(fā)系統等。這些開(kāi)發(fā)裝置既可獨立運行,也可以和PC機聯(lián)機運行??傊?,開(kāi)發(fā)PIC單片機的工具不僅十分成熟也是多種多樣的。
在PC機上對PIC單片機的源程序匯編時(shí),既可以在DOS條件下,也可以在Windows條件下進(jìn)行。以下將介紹Windows下源程序匯編的方法和步驟。
1Windows下PIC集成開(kāi)發(fā)軟件MPLAB
MPLAB是Microchip公司為PIC單片機開(kāi)發(fā)產(chǎn)品提供的適用于PC機Windows的集成開(kāi)發(fā)軟件。MPLAB的版本從早期到現在已發(fā)展到多種:如MPLAB V301版、V302版、V40版、V499和V50版等。各版本之間向下兼容,所以盡管PIC單片機品種如此之多,用戶(hù)只需選擇相應版本的MPLAB集成開(kāi)發(fā)軟件,均可達到開(kāi)發(fā)目的。
(1)MPLAB的特性和安裝
MPLAB是一種易學(xué)易用的PIC單片機產(chǎn)品的集成開(kāi)發(fā)工具軟件。該軟件由MPLAB編輯程序、MPLAB項目管理程序(Project manager)、MPASM匯編程序(Windows版)和MPLAB-SIM模擬調試程序等工具軟件組成。MPLAB能幫你調試源代碼,觀(guān)察程序流程、調試以及優(yōu)化固件生產(chǎn)設計的PIC單片機應用程序。上述的各種軟件將在本報下幾期通過(guò)實(shí)例介紹其功能和用法。
MPLAB集成開(kāi)發(fā)軟件對計算機系統的硬件與軟件配置要求如下:Microsoft Windows 3.X版、95版和98版均可;標準鍵盤(pán)和鼠標;4MB(最好是16MB以上)的內存和VGA以上顯示器等。MPLAB的安裝簡(jiǎn)單,只要熟悉PC機的用戶(hù)均可利用磁盤(pán)或光盤(pán)CD-ROM中MPLAB的SETUPEXE文件和相關(guān)的提示語(yǔ)句進(jìn)行安裝。若是初學(xué)者,可請電腦行家進(jìn)行安裝。安裝MPLAB軟件時(shí),最好在顯示屏上粘貼Microchip/MPLAB的快捷圖標,以使操作方便。
(2)MPLAB的桌面系統
Windows操作系統與DOS操作系統的最大區別就是廣泛使用了圖形化操作界面,因此對話(huà)框是用戶(hù)在操作Windows過(guò)程中最經(jīng)常接觸的東西。MPLAB的所有功能都可通過(guò)MPLAB桌面(對話(huà)框)中的菜單命令來(lái)操作。
當你的PC機上安裝了MPLAB集成開(kāi)發(fā)軟件之后,打開(kāi)PC機,用鼠標點(diǎn)擊顯示器上的快捷圖標Microchip即可在顯示器上看到MPLAB的桌面,如附圖所示(V499版)。該桌面是一個(gè)大小可變的窗口。MPLAB桌面頂部的左邊字符為標題欄(MPLAB);標題欄的下面為菜單欄(MENU),菜單欄的下面為工具欄,底部為狀態(tài)欄。桌面窗口中的菜單欄是下拉式的。
MPLAB共有多個(gè)菜單選項(V322、V499有9個(gè),V301是8個(gè))。所有的MPLAB功能均可通過(guò)下拉式菜單來(lái)訪(fǎng)問(wèn),菜單中加有下劃線(xiàn)的字符表示加速鍵(Key Accelerators),在菜單下拉時(shí),用鼠標點(diǎn)擊該字符鍵可立即執行該項功能。
MPLAB的各種菜單的功能,筆者將會(huì )通過(guò)具體的程序匯編應用實(shí)例加以詳細說(shuō)明?! ~?P align=right>成都 丁錦源
知識競賽試題:
26給單片機PIC16C54單片機的工作寄存器W送數0x08,請寫(xiě)出相應的源程序清單。
2 在MPLAB中建立PIC單片機源程序
筆者將以附圖的PIC16C55單片機脈沖計數試驗電路(計數時(shí),RA1口為十進(jìn)制碼輸入,RB口為二進(jìn)制碼輸出)的源程序PIC count.ASM為例,介紹在MPLAB集成開(kāi)發(fā)環(huán)境下編輯(建立)PIC單片機源程序的方法。其操作步驟如下。
(1)打開(kāi)MPLAB桌面(窗口)和空白編輯窗口 開(kāi)啟PC機,啟動(dòng)運行Windows,在Windows的管理程序下,用鼠標點(diǎn)擊顯示屏上的圖標Microchip(快捷),即可啟動(dòng)運行MPLAB集成開(kāi)發(fā)軟件,此時(shí)屏幕上將顯示MPLAB的桌面(見(jiàn)今年第25期本版的《源程序的匯編和固化(一)》文中的附圖)。從已打開(kāi)的MPLAB的桌面(窗口)上,用鼠標點(diǎn)擊MPLAB菜單欄中最左邊的File(文件),即可打開(kāi)File的下拉菜單,再用鼠標點(diǎn)擊下拉菜單中的命令New Source(新建源程序),即可打開(kāi)一個(gè)空白的編輯窗口,在此窗口中用鍵盤(pán)鍵入PIC 16C55 COUNTASM源程序再對其進(jìn)行編輯(以MPLAB V301版為例):
LIST P=16C55
?。NCLUDE P16C5XINC
COUNT EQU 1EH
ORG 0
START
MOVLW 0
MOVWF PORTB;設置B口為輸出
TRISPORTB
CLRFCOUNT;置計數器COUNT為零
LOOP
BTFSSPORTA,1;判斷開(kāi)關(guān)K按下否?
GOTOINCOUNT;按下開(kāi)關(guān)K,跳轉執行IN-
;COUNT
ENDLOOP
GOTO LOOP ??;開(kāi)關(guān)未按下,繼續循環(huán)
;判斷
INCOUNT
INCF COUNT,1 ;計數器COUNT+1
MOVF COUNT,W
MOVWF PORTB;從B口輸出計數值
DEBOUNCE
BTFSS PORTA,1;判斷開(kāi)關(guān)K釋放否?
GOTO DEBOUNCE ;沒(méi)有釋放繼續判斷
GOTO LOOP??;開(kāi)關(guān)K釋放重新開(kāi)始
ORG0x1FF ;復位向量
GOTO START
END
說(shuō)明:在MPLAB集成開(kāi)發(fā)環(huán)境下建立源程序時(shí),其源程序文件的開(kāi)始應使用偽指令List(列表選擇指令)指示符,指定處理的類(lèi)型(對象)。所以,上述的源程序的開(kāi)始處為L(cháng)ist P=16C55。其中的“P=”是處理類(lèi)型,代表設置微控制器為16C55(芯片)。接著(zhù)又用了偽指令#include P16C5XINC,代表MPLAB應把要處理(類(lèi)型)的微控器F16C55的所有已設置的文件,在需要時(shí)就讀入這里的源程序中。這條偽指令就為源程序中的代碼設置大為簡(jiǎn)化,例如PORTB、TRIS以及其它特殊功能寄存器,就不再用EQU偽指令給它們賦值了。
源程序中緊接著(zhù)上面的偽指令為ORG,代表存放程序的起始地址。所以在一個(gè)源程序中,可以根據需要多次使用ORG偽指令定位。在上述的源程序中,使用了兩次ORG 。值得注意,在PIC系列單片機中,對初級產(chǎn)品PIC16C54/55的復位向量為1FFH;PIC16C56為3FFH;PIC16C57/58為7FF;對中級和高級產(chǎn)品的復位向量為000H和0000H。由此可見(jiàn)在建立PIC單片機源程序時(shí),使用一些偽指令是很有必要的,用它可以為建立源程序完成一些特定功能,使編制的源程序大大簡(jiǎn)化。源程序后面的各條指令功能均已在注釋中給了說(shuō)明,這里不再復述。3 MPLAB中源程序文件被存入到指定的目錄和裝載
在PC機屏幕上,當用鍵盤(pán)鍵入并編輯了源程序(COUNTASM)之后,再用鼠標鍵打開(kāi)File下拉菜單,選擇Save(保存)命令,用鼠標鍵點(diǎn)擊Save,即可打開(kāi)圖1(目錄路徑為C:PROGRA~1MPLAB)的窗口。在該窗口的File Name(文件名)欄中(標題——Save File As),選擇好路徑,用鍵盤(pán)輸入文件名PIC COUNTASM(用戶(hù)自定義名),再用鼠標鍵點(diǎn)擊OK,即可將源程序文件以指定的文件名PIC COUNTASM存入到指定的目錄中。這一過(guò)程通常稱(chēng)為對PIC單片機(微控制器)源程序(COUNTASM)的存盤(pán)。
在MPLAB集成開(kāi)發(fā)環(huán)境下,在MPLAB的桌面上,用鼠標鍵點(diǎn)擊File下拉菜單,在該菜單中,選擇Open Source(打開(kāi)源文件)命令,再用鼠標鍵點(diǎn)擊OPEN SOURCE,又可打開(kāi)圖2的對話(huà)框(窗口),在此對話(huà)框中選擇好目錄路徑(與前面相同)。在窗口的“列出文件類(lèi)型欄”中,選擇Source File(源文件),再用鼠標鍵多次點(diǎn)擊文件名窗口右側滾動(dòng)槽上的箭頭按鈕(也可拖動(dòng)槽上的滾動(dòng)塊),把已建立的源程序PIC COUNTASM轉移到文件名的窗口中。然后用鼠標鍵點(diǎn)擊源程序名PIC COUNTASM,則可把該文件名點(diǎn)擊到文件名欄中。到此源程序裝載完成,用鼠標鍵點(diǎn)擊確定(OK),則可在PC機顯示屏的MPLAB桌面上看到已選定路徑和文件名(C:PROGRA~1MPLABPIC COUNT.ASM)的標題欄中再次出現源程序文件如圖3所示。編程者即可確認源程序確已完成存盤(pán)和裝載。
由上述介紹的PIC單片機在MPLAB集成開(kāi)發(fā)軟件中的源程序COUNTASM建立、編輯、存盤(pán)和裝載等軟件操作過(guò)程中可見(jiàn),要在MPLAB中將源程序COUNTASM匯編,還需在PC機上進(jìn)行多種操作,才有可能達到對源程序匯編目的(該裝載步驟可以略去)。
為了使PIC單片機初學(xué)者快速掌握源程序匯編方法,筆者建議初學(xué)者應在PIC單片機上多動(dòng)手操作,反復練習PIC單片機源程序的建立編輯—存盤(pán)—裝載等匯編前期操作過(guò)程,以便在學(xué)習即將介紹的匯編方法時(shí)盡可能少出錯誤,增強學(xué)會(huì )PIC單片機源程序匯編的信心。為此筆者再推薦一種下面最簡(jiǎn)的PIC單片機試驗源程序,以便初學(xué)者多次反復練習。
LIST P=PIC16C84
?。NCLUDE P16C84INC
ORG 0
START
MOVLW 0x04
GOTO START
END
成都 丁錦源
知識競賽試題:
28上文的文尾指令MOVLW中,給W送數的取值范圍(0x?)是多少?
評論