專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶(hù)產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
單片機(jī)開(kāi)發(fā)英銳恩分享PIC8位單片機(jī)在Windows下源程序匯編,固化。單片機(jī)本身沒(méi)有開(kāi)發(fā)編程能力,所以要把單片機(jī)變成一種應(yīng)用產(chǎn)品,必須借助于硬件開(kāi)發(fā)和軟件開(kāi)發(fā)兩種工具。在進(jìn)行軟件開(kāi)發(fā)時(shí),首先利用相關(guān)的編輯軟件,按照相應(yīng)的格式建立PIC單片機(jī)的源程序(助記符程序),然后對(duì)源程序進(jìn)行匯編。在完成匯編之后,用戶(hù)可以利用模擬調(diào)試軟件(價(jià)位低)或者硬件在線(xiàn)仿真器(價(jià)位高)對(duì)其目標(biāo)程序(機(jī)器代碼)進(jìn)行運(yùn)行調(diào)試,以發(fā)現(xiàn)其錯(cuò)誤并修改之。在經(jīng)過(guò)調(diào)試、修改、再匯編之后,即可將修改后的目標(biāo)程序用硬件(工具)編程器將目標(biāo)代碼燒寫(xiě)到用戶(hù)的PIC芯片中。最后將燒寫(xiě)后(即固化)的芯片插入到用戶(hù)板(實(shí)驗(yàn)板)脫機(jī)運(yùn)行,如還有問(wèn)題(通常是多條程序的條件下),就檢查硬件電路和軟件的設(shè)計(jì),找出錯(cuò)誤并修改、再匯編、調(diào)試直到脫機(jī)運(yùn)行正常為止。
Microchip公司在推出PIC系列單片機(jī)產(chǎn)品的同時(shí),也推出了相對(duì)應(yīng)的軟件開(kāi)發(fā)和硬件開(kāi)發(fā)工具,例如PIC在線(xiàn)仿真器、MPLAB集成開(kāi)發(fā)軟件、MPSIM軟件仿真器、MPASM宏匯編程序以及PIC通用編程器等。不僅如此,國(guó)內(nèi)開(kāi)發(fā)PIC系列單片機(jī)的工作也很迅速,許多公司或研究所也推出了相應(yīng)的開(kāi)發(fā)裝置,其中既有適用于初學(xué)者、低價(jià)位的軟件仿真和編程器,也有適用于產(chǎn)品開(kāi)發(fā)的高中檔開(kāi)發(fā)應(yīng)用裝置。有些高檔的開(kāi)發(fā)器還能支持C編譯器(如MP-C)與模糊邏輯開(kāi)發(fā)系統(tǒng)等。這些開(kāi)發(fā)裝置既可獨(dú)立運(yùn)行,也可以和PC機(jī)聯(lián)機(jī)運(yùn)行??傊_(kāi)發(fā)PIC單片機(jī)的工具不僅十分成熟也是多種多樣的。
在PC機(jī)上對(duì)PIC單片機(jī)的源程序匯編時(shí),既可以在DOS條件下,也可以在Windows條件下進(jìn)行。以下將介紹Windows下源程序匯編的方法和步驟。
1Windows下PIC集成開(kāi)發(fā)軟件MPLAB
MPLAB是Microchip公司為PIC單片機(jī)開(kāi)發(fā)產(chǎn)品提供的適用于PC機(jī)Windows的集成開(kāi)發(fā)軟件。MPLAB的版本從早期到現(xiàn)在已發(fā)展到多種:如MPLAB V301版、V302版、V40版、V499和V50版等。各版本之間向下兼容,所以盡管PIC單片機(jī)品種如此之多,用戶(hù)只需選擇相應(yīng)版本的MPLAB集成開(kāi)發(fā)軟件,均可達(dá)到開(kāi)發(fā)目的。
(1)MPLAB的特性和安裝
MPLAB是一種易學(xué)易用的PIC單片機(jī)產(chǎn)品的集成開(kāi)發(fā)工具軟件。該軟件由MPLAB編輯程序、MPLAB項(xiàng)目管理程序(Project manager)、MPASM匯編程序(Windows版)和MPLAB-SIM模擬調(diào)試程序等工具軟件組成。MPLAB能幫你調(diào)試源代碼,觀察程序流程、調(diào)試以及優(yōu)化固件生產(chǎn)設(shè)計(jì)的PIC單片機(jī)應(yīng)用程序。上述的各種軟件將在本報(bào)下幾期通過(guò)實(shí)例介紹其功能和用法。
MPLAB集成開(kāi)發(fā)軟件對(duì)計(jì)算機(jī)系統(tǒng)的硬件與軟件配置要求如下:Microsoft Windows 3.X版、95版和98版均可;標(biāo)準(zhǔn)鍵盤(pán)和鼠標(biāo);4MB(最好是16MB以上)的內(nèi)存和VGA以上顯示器等。MPLAB的安裝簡(jiǎn)單,只要熟悉PC機(jī)的用戶(hù)均可利用磁盤(pán)或光盤(pán)CD-ROM中MPLAB的SETUPEXE文件和相關(guān)的提示語(yǔ)句進(jìn)行安裝。若是初學(xué)者,可請(qǐng)電腦行家進(jìn)行安裝。安裝MPLAB軟件時(shí),最好在顯示屏上粘貼Microchip/MPLAB的快捷圖標(biāo),以使操作方便。
(2)MPLAB的桌面系統(tǒng)
Windows操作系統(tǒng)與DOS操作系統(tǒng)的最大區(qū)別就是廣泛使用了圖形化操作界面,因此對(duì)話(huà)框是用戶(hù)在操作Windows過(guò)程中最經(jīng)常接觸的東西。MPLAB的所有功能都可通過(guò)MPLAB桌面(對(duì)話(huà)框)中的菜單命令來(lái)操作。
當(dāng)你的PC機(jī)上安裝了MPLAB集成開(kāi)發(fā)軟件之后,打開(kāi)PC機(jī),用鼠標(biāo)點(diǎn)擊顯示器上的快捷圖標(biāo)Microchip即可在顯示器上看到MPLAB的桌面,如附圖所示(V499版)。該桌面是一個(gè)大小可變的窗口。MPLAB桌面頂部的左邊字符為標(biāo)題欄(MPLAB);標(biāo)題欄的下面為菜單欄(MENU),菜單欄的下面為工具欄,底部為狀態(tài)欄。桌面窗口中的菜單欄是下拉式的。
MPLAB共有多個(gè)菜單選項(xiàng)(V322、V499有9個(gè),V301是8個(gè))。所有的MPLAB功能均可通過(guò)下拉式菜單來(lái)訪(fǎng)問(wèn),菜單中加有下劃線(xiàn)的字符表示加速鍵(Key Accelerators),在菜單下拉時(shí),用鼠標(biāo)點(diǎn)擊該字符鍵可立即執(zhí)行該項(xiàng)功能。
MPLAB的各種菜單的功能,筆者將會(huì)通過(guò)具體的程序匯編應(yīng)用實(shí)例加以詳細(xì)說(shuō)明。
2 在MPLAB中建立PIC單片機(jī)源程序
筆者將以附圖的PIC16C55單片機(jī)脈沖計(jì)數(shù)試驗(yàn)電路(計(jì)數(shù)時(shí),RA1口為十進(jìn)制碼輸入,RB口為二進(jìn)制碼輸出)的源程序PIC count.ASM為例,介紹在MPLAB集成開(kāi)發(fā)環(huán)境下編輯(建立)PIC單片機(jī)源程序的方法。其操作步驟如下。
(1)打開(kāi)MPLAB桌面(窗口)和空白編輯窗口 開(kāi)啟PC機(jī),啟動(dòng)運(yùn)行Windows,在Windows的管理程序下,用鼠標(biāo)點(diǎn)擊顯示屏上的圖標(biāo)Microchip(快捷),即可啟動(dòng)運(yùn)行MPLAB集成開(kāi)發(fā)軟件,此時(shí)屏幕上將顯示MPLAB的桌面(見(jiàn)今年第25期本版的《源程序的匯編和固化(一)》文中的附圖)。從已打開(kāi)的MPLAB的桌面(窗口)上,用鼠標(biāo)點(diǎn)擊MPLAB菜單欄中最左邊的File(文件),即可打開(kāi)File的下拉菜單,再用鼠標(biāo)點(diǎn)擊下拉菜單中的命令New Source(新建源程序),即可打開(kāi)一個(gè)空白的編輯窗口,在此窗口中用鍵盤(pán)鍵入PIC 16C55 COUNTASM源程序再對(duì)其進(jìn)行編輯(以MPLAB V301版為例):
LIST P=16C55
#INCLUDE P16C5XINC
COUNT EQU 1EH
ORG 0
START
MOVLW 0
MOVWF PORTB ;設(shè)置B口為輸出
TRIS PORTB
CLRF COUNT ;置計(jì)數(shù)器COUNT為零
LOOP
BTFSS PORTA,1;判斷開(kāi)關(guān)K按下否?
GOTO INCOUNT;按下開(kāi)關(guān)K,跳轉(zhuǎn)執(zhí)行IN-
;COUNT
ENDLOOP
GOTO LOOP ??;開(kāi)關(guān)未按下,繼續(xù)循環(huán)
;判斷
INCOUNT
INCF COUNT,1 ;計(jì)數(shù)器COUNT+1
MOVF COUNT,W
MOVWF PORTB ;從B口輸出計(jì)數(shù)值
DEBOUNCE
BTFSS PORTA,1 ;判斷開(kāi)關(guān)K釋放否?
GOTO DEBOUNCE ;沒(méi)有釋放繼續(xù)判斷
GOTO LOOP ;開(kāi)關(guān)K釋放重新開(kāi)始
ORG 0x1FF ;復(fù)位向量
GOTO START
END
說(shuō)明:在MPLAB集成開(kāi)發(fā)環(huán)境下建立源程序時(shí),其源程序文件的開(kāi)始應(yīng)使用偽指令List(列表選擇指令)指示符,指定處理的類(lèi)型(對(duì)象)。所以,上述的源程序的開(kāi)始處為L(zhǎng)ist P=16C55。其中的“P=”是處理類(lèi)型,代表設(shè)置微控制器為16C55(芯片)。接著又用了偽指令#include P16C5XINC,代表MPLAB應(yīng)把要處理(類(lèi)型)的微控器F16C55的所有已設(shè)置的文件,在需要時(shí)就讀入這里的源程序中。這條偽指令就為源程序中的代碼設(shè)置大為簡(jiǎn)化,例如PORTB、TRIS以及其它特殊功能寄存器,就不再用EQU偽指令給它們賦值了。
源程序中緊接著上面的偽指令為ORG,代表存放程序的起始地址。所以在一個(gè)源程序中,可以根據(jù)需要多次使用ORG偽指令定位。在上述的源程序中,使用了兩次ORG 。值得注意,在PIC系列單片機(jī)中,對(duì)初級(jí)產(chǎn)品PIC16C54/55的復(fù)位向量為1FFH;PIC16C56為3FFH;PIC16C57/58為7FF;對(duì)中級(jí)和高級(jí)產(chǎn)品的復(fù)位向量為000H和0000H。由此可見(jiàn)在建立PIC單片機(jī)源程序時(shí),使用一些偽指令是很有必要的,用它可以為建立源程序完成一些特定功能,使編制的源程序大大簡(jiǎn)化。源程序后面的各條指令功能均已在注釋中給了說(shuō)明,這里不再?gòu)?fù)述。
3 MPLAB中源程序文件被存入到指定的目錄和裝載
在PC機(jī)屏幕上,當(dāng)用鍵盤(pán)鍵入并編輯了源程序(COUNTASM)之后,再用鼠標(biāo)鍵打開(kāi)File下拉菜單,選擇Save(保存)命令,用鼠標(biāo)鍵點(diǎn)擊Save,即可打開(kāi)圖1(目錄路徑為C:\PROGRA~1\MPLAB)的窗口。在該窗口的File Name(文件名)欄中(標(biāo)題——Save File As),選擇好路徑,用鍵盤(pán)輸入文件名PIC COUNTASM(用戶(hù)自定義名),再用鼠標(biāo)鍵點(diǎn)擊OK,即可將源程序文件以指定的文件名PIC COUNTASM存入到指定的目錄中。這一過(guò)程通常稱(chēng)為對(duì)PIC單片機(jī)(微控制器)源程序(COUNTASM)的存盤(pán)。
在MPLAB集成開(kāi)發(fā)環(huán)境下,在MPLAB的桌面上,用鼠標(biāo)鍵點(diǎn)擊File下拉菜單,在該菜單中,選擇Open Source(打開(kāi)源文件)命令,再用鼠標(biāo)鍵點(diǎn)擊OPEN SOURCE,又可打開(kāi)圖2的對(duì)話(huà)框(窗口),在此對(duì)話(huà)框中選擇好目錄路徑(與前面相同)。在窗口的“列出文件類(lèi)型欄”中,選擇Source File(源文件),再用鼠標(biāo)鍵多次點(diǎn)擊文件名窗口右側(cè)滾動(dòng)槽上的箭頭按鈕(也可拖動(dòng)槽上的滾動(dòng)塊),把已建立的源程序PIC COUNTASM轉(zhuǎn)移到文件名的窗口中。然后用鼠標(biāo)鍵點(diǎn)擊源程序名PIC COUNTASM,則可把該文件名點(diǎn)擊到文件名欄中。到此源程序裝載完成,用鼠標(biāo)鍵點(diǎn)擊確定(OK),則可在PC機(jī)顯示屏的MPLAB桌面上看到已選定路徑和文件名(C:\PROGRA~1\MPLAB\PIC COUNT.ASM)的標(biāo)題欄中再次出現(xiàn)源程序文件如圖3所示。編程者即可確認(rèn)源程序確已完成存盤(pán)和裝載。
由上述介紹的PIC單片機(jī)在MPLAB集成開(kāi)發(fā)軟件中的源程序COUNTASM建立、編輯、存盤(pán)和裝載等軟件操作過(guò)程中可見(jiàn),要在MPLAB中將源程序COUNTASM匯編,還需在PC機(jī)上進(jìn)行多種操作,才有可能達(dá)到對(duì)源程序匯編目的(該裝載步驟可以略去)。
為了使PIC單片機(jī)初學(xué)者快速掌握源程序匯編方法,筆者建議初學(xué)者應(yīng)在PIC單片機(jī)上多動(dòng)手操作,反復(fù)練習(xí)PIC單片機(jī)源程序的建立編輯—存盤(pán)—裝載等匯編前期操作過(guò)程,以便在學(xué)習(xí)即將介紹的匯編方法時(shí)盡可能少出錯(cuò)誤,增強(qiáng)學(xué)會(huì)PIC單片機(jī)源程序匯編的信心。為此筆者再推薦一種下面最簡(jiǎn)的PIC單片機(jī)試驗(yàn)源程序,以便初學(xué)者多次反復(fù)練習(xí)。
LIST P=PIC16C84
?。NCLUDE P16C84INC
ORG 0
START
MOVLW 0x04
GOTO START
END
4 在MPLAB中創(chuàng)建項(xiàng)目
項(xiàng)目管理程序(Project Manager)是MPLAB集成開(kāi)發(fā)軟件的重要組成部分。不創(chuàng)建項(xiàng)目就不能進(jìn)行符號(hào)(源程序代碼)匯編和調(diào)試,在整個(gè)項(xiàng)目管理中可進(jìn)行以下操作:創(chuàng)建項(xiàng)目——把源代碼文件加入到項(xiàng)目中——匯編源代碼——編輯源代碼——重建所有源文件——調(diào)試源代碼等。
創(chuàng)建項(xiàng)目也是匯編源程序之前必要的準(zhǔn)備工作,其操作過(guò)程如下:按照以上介紹的方法,在PC機(jī)上打開(kāi)MPLAB集成開(kāi)發(fā)軟件的桌面,選擇Project(項(xiàng)目)命令,用鼠標(biāo)鍵點(diǎn)擊菜單欄中的Project,在其下拉菜單中選擇New Project(新項(xiàng)目)命令,并用鼠標(biāo)鍵點(diǎn)擊它,則可在MPLAB的桌面上打開(kāi)New Project(新項(xiàng)目)的對(duì)話(huà)框,如圖1所示。對(duì)話(huà)框的頂部是標(biāo)題欄(新項(xiàng)目),在對(duì)話(huà)框的項(xiàng)目路徑與名稱(chēng)(Project Path and Name)域內(nèi)用鍵盤(pán)鍵入C:\PROGRA~1\MPLAB\PIC COUNT.PJT字符(窗口中其它項(xiàng)目?jī)?nèi)容可以不調(diào)整)。然后用鼠標(biāo)鍵點(diǎn)擊OK(確認(rèn))即可打開(kāi)圖2所示的Edit Project(編輯項(xiàng)目)的對(duì)話(huà)框。繼續(xù)操作,再用鼠標(biāo)鍵點(diǎn)擊一次該圖右邊窗口中出現(xiàn)的文件名pic count.asm和中間位置的項(xiàng)目欄“<=Add”,即可把上述的文件名復(fù)制到project Files的欄目窗口中。又用鼠標(biāo)鍵點(diǎn)擊窗口中的OK,此時(shí)對(duì)新源程序pic count.asm的創(chuàng)建項(xiàng)目或編輯項(xiàng)目(Edit Project)就全部完成,如圖3 所示。
在完成創(chuàng)建項(xiàng)目的操作步驟后,可在MPLAB的目錄路徑C:\PROGRA~1\MPLAB\PIC COUNT.PJT下生成三個(gè)文件:PIC COUNTP(pán)JT(項(xiàng)目文件)、PIC COUNTCFG(配置文件)和PIC COUNTASM(源程序文件)。
5 在MPLAB中PIC單片機(jī)源程序的匯編
在PC機(jī)上應(yīng)用MPLAB集成開(kāi)發(fā)軟件對(duì)源程序PIC COUNTASM匯編的準(zhǔn)備工作經(jīng)上述介紹的幾次操作已完成,余下的操作即可立刻對(duì)指定的源程序進(jìn)行匯編。讀者將會(huì)看到,即將介紹的匯編操作十分簡(jiǎn)單。初學(xué)PIC單片機(jī)匯編源程序時(shí),應(yīng)熟練掌握已介紹的各種操作,即建立和編輯指定PIC單片機(jī)的源程序→存盤(pán)裝載觀察源程序→創(chuàng)建(源程序)項(xiàng)目→編輯(源程序)項(xiàng)目→進(jìn)入對(duì)源程序PIC COUNTASM匯編。所以在完成創(chuàng)建項(xiàng)目和編輯項(xiàng)目的操作之后,緊接著用鼠標(biāo)鍵單擊project(項(xiàng)目)項(xiàng),即可打開(kāi)project的下拉菜單,在該下拉菜單下用鼠標(biāo)鍵單擊Make project(制作項(xiàng)目)命令,即可調(diào)用Windows版的MPASM對(duì)其源程序自動(dòng)匯編。如果匯編正確,屏幕上將顯示圖1的信息框;如果匯編有錯(cuò)誤,則屏幕上將顯示圖2的信息框。此時(shí)可打開(kāi)其錯(cuò)誤文件,觀察其錯(cuò)誤信息,再修改源程序。待修改源程序之后再重復(fù)操作源程序的存盤(pán)→創(chuàng)建(源程序)項(xiàng)目→編輯(源程序)項(xiàng)目→再匯編源程序,直到匯編正確為止。所以匯編PIC單片機(jī)的源程序可按圖3的步驟進(jìn)行。
到此,筆者以PIC COUNTASM(二進(jìn)制計(jì)數(shù)器)源程序?yàn)槔f(shuō)明了運(yùn)用MPLAB集成開(kāi)發(fā)軟件匯編其源程序的主要操作過(guò)程。在完成源程序的匯編之后,你可在MPLAB的目錄路徑:C:\PROGRA~1\MPLAB下打開(kāi)已生成的PIC COUNTASM(源程序)、PIC COUNTCFG(配置)、PIC COUNTCOD(符號(hào)信息與目標(biāo)碼)、PIC COUNTERR(錯(cuò)誤)、PIC COUNTHEX(機(jī)器碼,又稱(chēng)目標(biāo)碼)、PIC COUNTLST(列表)和PIC COUNTP(pán)JT(項(xiàng)目)等7個(gè)文件。這些文件在今后對(duì)源程序模擬調(diào)試和編程(燒錄)都將分別派上用場(chǎng)。讀者可以將上述7個(gè)文件在PC機(jī)上分別打開(kāi)看看它們的一些代碼和特點(diǎn),尤其應(yīng)該看看列表文件(LST)所提供的各種信息。
在這里,筆者再推薦一種簡(jiǎn)單的試驗(yàn)程序,可使初學(xué)者反復(fù)練習(xí)PIC源程序的匯編方法,并能在匯編完成之后用編程器對(duì)PIC單片機(jī)寫(xiě)入程序和用實(shí)驗(yàn)板進(jìn)行實(shí)時(shí)實(shí)驗(yàn),以達(dá)到直觀的學(xué)習(xí)效果。
本實(shí)驗(yàn)程序是給PIC16F84單片機(jī)的B口送數(shù),而B(niǎo)口上接有8 只發(fā)光二極管,只要給B口送不同的數(shù),則B口上的發(fā)光二極管就會(huì)按指定的規(guī)律點(diǎn)亮,其實(shí)驗(yàn)程序如下:
LIST P=PIC16F84
?。NCLUDE P16F84INC
ORG 0
START MOVLW 0 ;送0到W
BSF STATUS,5 ;STATUS的D5位置1
MOVWF TRISB ;置B口為輸出
BCF STATUS,5 ;STATUS復(fù)位
MOVLW 0x81 ;二進(jìn)制10000001送W
MOVWF PORTB ;B口的D7、D0上LED
??;亮,其余滅
LOOP GOTO LOOP ?。谎h(huán)跳轉(zhuǎn)
END
該源程序可以命名為PIC81ASM以便辨認(rèn)(可自定義)。為此讀者可以按下表改變MOVLW 0x?的值,達(dá)到使B口LED燈按下表規(guī)律點(diǎn)亮。
上述的源程序已在PC機(jī)上匯編通過(guò),讀者可以有意設(shè)置錯(cuò)誤,如把上述源程序中的PORTB寫(xiě)成POTRB,此時(shí),匯編出錯(cuò),可以查看PIC81ERR文件是如何提示的,再改正之,即可匯編出正確的PIC81HEX文件進(jìn)入編程器。
6 PIC單片機(jī)源程序的固化和編程器
一個(gè)完整的PIC單片機(jī)開(kāi)發(fā)系統(tǒng)應(yīng)包括PIC匯編軟件、PIC單片機(jī)仿真器(軟件模擬仿真器或硬件在線(xiàn)仿真器)和PIC單片機(jī)編程器。對(duì)于簡(jiǎn)單的PIC源程序而言,若源程序已匯編而生成了擴(kuò)展名hex文件時(shí),即可直接使用編程器將源程序的目標(biāo)碼hex固化到PIC芯片中,再通過(guò)實(shí)驗(yàn)板驗(yàn)證其源程序的功能。待深入學(xué)習(xí)時(shí)再補(bǔ)充學(xué)習(xí)PIC單片機(jī)仿真的方法,這是一種快速學(xué)習(xí)PIC單片機(jī)的一條路徑。本版在今后適當(dāng)?shù)臅r(shí)候仍將以實(shí)例介紹PIC單片機(jī)在MPLAB集成開(kāi)發(fā)環(huán)境下軟件模擬仿真的方法,以供讀者學(xué)習(xí)時(shí)參考。
PIC單片機(jī)編程器又稱(chēng)為PIC燒錄器或燒寫(xiě)器。目前市場(chǎng)上PIC單片機(jī)編程器的產(chǎn)品型號(hào)很多,適合各類(lèi)PIC芯片的要求,價(jià)位也不相同。功能完善的PIC編程器,能對(duì)PIC絕大多數(shù)芯片將其源程序的hex進(jìn)行固化,但價(jià)位高,約1000~2000元;可固化部分芯片源程序的hex編程器,其價(jià)位約700元左右。在這里,電子報(bào)單片機(jī)實(shí)驗(yàn)室提供了一種V101實(shí)驗(yàn)編程器,其價(jià)位極低(200元一臺(tái),另附有3張軟盤(pán))。值得注意:大多數(shù)的PIC編程器在使用時(shí)都需要一臺(tái)PC機(jī)聯(lián)機(jī)運(yùn)行,方可完成編程燒寫(xiě)工作。
1低價(jià)位的PIC16F8X V101實(shí)驗(yàn)編程器 該編程器主要對(duì)PIC16F84/16C84/16LF84/16F84A等芯片的源程序進(jìn)行固化,其操作十分簡(jiǎn)單,對(duì)初學(xué)者極其適用。PIC16F84/16C84芯片均是可反復(fù)燒錄的芯片,加之第二次燒錄時(shí),編程器的軟件已設(shè)計(jì)了自動(dòng)擦除內(nèi)部已有的代碼,所以對(duì)初學(xué)者十分適用。
V101實(shí)驗(yàn)編程器的基本硬件配置有FLASH89C2051單片機(jī)、11MHz晶振、MAX232N標(biāo)準(zhǔn)接口芯片、RS232標(biāo)準(zhǔn)通信接口插座、復(fù)位按鈕、DIP插座(活動(dòng)耐用型)、5V穩(wěn)壓電源、電源指示和編程指示LED等。此外為使用戶(hù)方便使用,還為V101實(shí)驗(yàn)編程器配置有15V~17V的電源適配器和RS232標(biāo)準(zhǔn)電纜線(xiàn)的接口插頭,以便用戶(hù)購(gòu)買(mǎi)之后立即上機(jī)使用。該編程器印板尺寸為:98mm×70mm(與編程器配套的PIC實(shí)驗(yàn)板將在下期本版介紹)。
2P(pán)IC16F8X V101實(shí)驗(yàn)編程器的軟件安裝 該實(shí)驗(yàn)編程器的支持軟件共有三張,都是標(biāo)準(zhǔn)軟件格式。你只需在PC機(jī)視窗WINDOWS下運(yùn)行即可進(jìn)行安裝。打開(kāi)PC機(jī),在PC機(jī)A驅(qū)中插入該編程器的第一張磁盤(pán),用鼠標(biāo)鍵點(diǎn)擊顯示器上“我的電腦”,再點(diǎn)擊A磁盤(pán)(35英寸軟盤(pán)),即可打開(kāi)A:盤(pán)窗口,在此窗口上會(huì)出現(xiàn)9個(gè)文件,只點(diǎn)擊其中的STEUPEXE文件即可在PC機(jī)上運(yùn)行該磁盤(pán)軟件,然后注意操作安裝過(guò)程中的適當(dāng)提示語(yǔ)句,PC機(jī)會(huì)自動(dòng)地將三張磁盤(pán)的軟件安裝到你選定的硬盤(pán)中(筆者是把該軟件放在PC機(jī)的D盤(pán)中)。待安裝完畢,可用配套的電纜線(xiàn)RS232插頭,一端插入PC機(jī)RS232串口(串口1、2、3、4任選)插座上,一端插編程器的RS232插座上。接著在編程器的供電電源口中插入電源適配器(15V~17V,該適配器電源不分極性)和DIP插座上安上PIC16F8X芯片,這時(shí)編程的準(zhǔn)備工作全部完成,此時(shí)電源指示燈LED即亮。
3P(pán)IC單片機(jī)源程序的固化 啟動(dòng)PC機(jī),在WINDOWS下運(yùn)行,用鼠標(biāo)鍵點(diǎn)擊“我的電腦”,再點(diǎn)擊D盤(pán)符(由安裝時(shí)的盤(pán)符而定),打開(kāi)了D盤(pán),在其窗口上,用鼠標(biāo)鍵點(diǎn)擊“實(shí)驗(yàn)編程器”(文件),即可打開(kāi)實(shí)驗(yàn)“編程器”窗口,在此窗口上有三個(gè)圖標(biāo):DEMOHEX(實(shí)驗(yàn)編程用的燈閃爍目標(biāo)碼HEX——立刻待用);PROGRAMINI(記事本)和PROGRAMEXE等三個(gè)文件。用鼠標(biāo)鍵點(diǎn)擊PROGRAMEXE文件,即可打開(kāi)實(shí)驗(yàn)編程器V101的界面,如圖1所示。該界面上有EEPROM和行、數(shù)據(jù)(程序)表格,那是編程完成后供用戶(hù)參看的。桌面中下部是配置位選擇,應(yīng)按以下步驟進(jìn)行:(1)用PC機(jī)鍵盤(pán)在器件ID欄中鍵入“FFFFFF”;(2)用鼠標(biāo)鍵點(diǎn)擊振蕩方式,確定你的PIC16F84硬件設(shè)計(jì)中的振蕩方式,可選擇XT、LP、HS和RC的其中一種到振蕩方式窗內(nèi);(3)余下的保密位、看門(mén)狗和上電定時(shí)器等窗口命令,由編制的源程序而定。若編制的源程序很簡(jiǎn)單,它們各項(xiàng)未派上用場(chǎng)時(shí),其三個(gè)窗口全選OFF(關(guān)閉);(4)最后是器件選擇,16C84/16F84A等,由實(shí)驗(yàn)時(shí)選定的PIC16F8X而定,例如選擇16F84芯片。到此,配置位操作完成。緊接著用鼠標(biāo)鍵點(diǎn)擊界面左上角的“編程器”,即可出現(xiàn)下拉菜單,選擇下拉菜單“端口設(shè)置”命令(點(diǎn)擊)即可打開(kāi)編程器“設(shè)置串口”圖標(biāo),如圖2所示。然后再點(diǎn)擊你設(shè)置的串口(1、2、3、4)號(hào)和“確認(rèn)”命令,又恢復(fù)成圖1的桌面。
7 PIC單片機(jī)源程序的固化和編程器
V101實(shí)驗(yàn)編程器設(shè)計(jì)合理,操作十分簡(jiǎn)單。上次已介紹了固化PIC單片機(jī)源程序部分操作,即在V101編程器上對(duì)PIC單片機(jī)的項(xiàng)目設(shè)置,現(xiàn)繼續(xù)介紹固化程序的方法,其操作如下。
續(xù)上次操作,用鼠標(biāo)鍵點(diǎn)擊(窗口)實(shí)驗(yàn)編程器V101左上角的項(xiàng)目“文件”,可出現(xiàn)下拉菜單→再點(diǎn)擊其“打開(kāi)”命令,則可打開(kāi)標(biāo)題為“加載文件”的窗口(如圖1所示)→點(diǎn)擊該窗口中項(xiàng)目“搜尋[I]”右側(cè)小窗口的“”符號(hào),則可打開(kāi)其下拉菜單→點(diǎn)擊盤(pán)符C:,則在該窗口中顯示C盤(pán)的各種文件→雙擊“Program Files”(程序文件),則該文件置換C盤(pán)符位置同時(shí)在大窗口中出現(xiàn)“Program Files”的各種文件→點(diǎn)擊該文件窗口右側(cè)角“”符號(hào),找出窗口中MPLAB的文件→雙擊“MPLAB”,則MPLAB又置換Program Files的位置,該MPLAB的窗口文件中找到最終需要的“PIC COUN
THEX”文件→單擊PIC CPUNTHEX,則該文件再轉(zhuǎn)移到文件名窗口中→再點(diǎn)擊“打開(kāi)[O]命令,則該窗口消失,出現(xiàn)上期圖1的窗口,此時(shí)你可觀察到行的數(shù)據(jù)窗口中的代碼已發(fā)生了變化,現(xiàn)已指示出PIC COUNTASM的程序代碼→用鼠標(biāo)鍵點(diǎn)擊該窗口下方的“寫(xiě)程序”,則下方(邊界上)會(huì)出現(xiàn)小方塊從左→右的閃亮,直到閃亮結(jié)束為止。同時(shí),窗口下角“地址:”中的數(shù)字不斷變化,直到出現(xiàn)寫(xiě)配置位為止。至此,PIC COUNTHEX目標(biāo)碼的固化完成。
使用實(shí)驗(yàn)編程器V101注意的問(wèn)題:若實(shí)驗(yàn)編程器V101窗口的下方出現(xiàn)“編程錯(cuò)誤”或“通訊失敗”的提示符,應(yīng)檢查該編程器是否插上了電源適配器,或編程器的(活動(dòng))插座上是否插上了PIC單片機(jī)芯片16F84(或16C84)。
8P(pán)IC16F84單片機(jī)(或16C8C)實(shí)驗(yàn)板
與實(shí)驗(yàn)編程器V101相配套的實(shí)驗(yàn)板電路如圖2所示,該實(shí)驗(yàn)板由以下電路組成。
實(shí)驗(yàn)板電源電路 該電源分兩部分,其一是實(shí)驗(yàn)板電路電源;其二是實(shí)驗(yàn)板交流供電電源(外接電源適配器)。
實(shí)驗(yàn)板電路 由實(shí)驗(yàn)電路和相關(guān)的外圍電路組成。但在實(shí)驗(yàn)插座上還需另加芯片PIC16F84(或16C84)供實(shí)驗(yàn)用。IC2的RA0~BA4端上分別外接電阻RRA0~RRA4和對(duì)應(yīng)開(kāi)關(guān)RA0/RST~RA4/RST共同組成PIC16F84端口電路(人工設(shè)置的)可設(shè)為芯片輸入端。當(dāng)開(kāi)關(guān)按下時(shí),各端口接地(“0”信號(hào)),釋放時(shí),各端口接高電平5V(“1”信號(hào))。IC2的RBO~RB7端口各自外接電阻RRB0~RRB7和DRB0/LED~DRB7/LED,共同組成PIC16F84端口的LED顯示電路(人工設(shè)置的)設(shè)為芯片輸出端。IC24腳(MCLR)外接上電復(fù)位和人工復(fù)位電路(開(kāi)關(guān)RST);IC2的{15}、{16}腳外接晶振4MHz(或用戶(hù)自配不同頻率的晶振)和RC電路,分別組成PIC16F84/16C84的振蕩電路(供芯片時(shí)鐘信號(hào)),振蕩方式可由用戶(hù)通過(guò)電路中的插接件JUMP
1、JUMP2轉(zhuǎn)換選擇。PIC16F84電源端{(lán)14}腳接Vcc/5V電源電壓。整個(gè)電路元件安裝在面積為140mm×80mm的印制板上。印制板上留有用戶(hù)實(shí)驗(yàn)布線(xiàn)區(qū),作為各端口外接元器件供用戶(hù)做有關(guān)的實(shí)驗(yàn)。印制板的交流電源供電,由電源AC/AD(12~15V)適配器的插頭直接插到印板的電源插座上,該電源適配器可與V101實(shí)驗(yàn)編程器公用,無(wú)需再單獨(dú)配制。
當(dāng)你編制了PIC16F84(或16C84)實(shí)驗(yàn)源程序并在V101實(shí)驗(yàn)編程器上固化了相應(yīng)的HEX目標(biāo)碼后,立刻可把芯片16F84轉(zhuǎn)插到該實(shí)驗(yàn)板的活動(dòng)插座上看其結(jié)果。
電子報(bào)單片機(jī)公共實(shí)驗(yàn)室已為用戶(hù)組織有全套的V101編程器和PIC16F84(或16C84)實(shí)驗(yàn)板,另配有RS232電纜插頭線(xiàn)、電源適配器和相關(guān)的軟件(3張V101編程器磁盤(pán)軟件和3張MPLAB磁盤(pán)軟件共6張磁盤(pán)),其價(jià)位很低,使用非常方便。