您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
編輯PIC12C5××源程序的方法
來源: 日期:2013-12-17 21:35:55 人氣:標(biāo)簽:
編輯pic12c5××的源程序,和編輯pic其它芯片的源程序一樣,是在mplab(5.70版)集成開發(fā)環(huán)境軟件下進(jìn)行,以便進(jìn)行編程的一體化操作,即編輯pic單片機(jī)的源程序.asm一創(chuàng)建源程序的項(xiàng)目.pjt→加載源程序.a(chǎn)sm→匯編源程序生成源程序的目標(biāo)碼.hex.
1.編輯pic12c5××源程序的固定格式在建立pic12c5××的源程序時,同其它pic單片機(jī)一樣,應(yīng)使用列表偽指令和給通用寄存器賦值。即:list p=12c5××;選芯片型號include p12c5xx.inccountl equ 08h;自定義寄存器地址count2 equ 09h;以便讀寫自定義寄存器的內(nèi)容(數(shù)值)如果使用mplab較低版本,程序中要用的專用寄存器也需用偽指令ec)u定義其地址,即使用mplab5.70版,如果狀態(tài)寄存status被派上用場(如pic12c509需選頁面)時,也應(yīng)用偽指令equ定義其地址(包括status對應(yīng)位的地址)。
2. 110口gpio(地址:06h)的表示方法pic12c5××只有一個i/o口,命名為gpio的專用寄存器,在編輯其源程序時,gpio的位表達(dá)式如下表所示。
下表的用途:供pic12c5××編輯源程序時,供“位”指令的書寫依據(jù)。
3.pic12c5××的專用寄存和初始化編輯pic12c5××的源程序時,除了上述簡介的固定格式外,接著是對選定芯片的初始化。對pic12c5x×的初始化,需用相關(guān)的專用寄存器完成,現(xiàn)介紹如下:
(1)tris方向控制寄存器。專用寄存器tris是管理gpio口線的輸入或輸出的。tris位中的1信號,會將i/o口線(對應(yīng)位)設(shè)置為輸入態(tài)(高阻抗),o信號為其輸出態(tài)。有兩點(diǎn)例外,gp3只能是輸入態(tài),gp2還要受專用寄存器option的tosc位的限制,可使gp2為輸入態(tài)而不管tris的設(shè)置。對pic12c5××,用戶不能對tris尋址(數(shù)據(jù)存儲器圖3上無tris的地址)的,所以設(shè)置gpio的i/o口線輸入或輸出時,應(yīng)通過trisgpio的這條指令進(jìn)行設(shè)置,此時w(工作寄存器)的內(nèi)容會自動置入tris中,為此設(shè)置i/o口線的輸入或輸出的指令應(yīng)為:movlwb‘××××××××’trisgpio
兩條不可分割的指令。上式中的“×”代表用戶設(shè)置的輸入或輸出0或10
(2)option參數(shù)定義寄存器。option是一個8位的專用寄存器,其功能是用來定義芯片的工作參數(shù),其特點(diǎn)與tris相似,對pic12c5××,用戶不能對option尋址的(數(shù)據(jù)存儲器圖3上無option的地址)。option的內(nèi)容也是由w的內(nèi)容置入,其置入的指令為movlwb‘×××××××בoption
option的位功能,如下圖所示。
說明:1.圖中未列出的位-pic16f84相似,目前’暫不用.所以未列出。
2根據(jù)option已列出的位,要使gp2為輸出,除了tris設(shè)置外,還應(yīng)外加
movlw b'11000000'
option
的兩條指令。
(3)fsr(地址:04h)選擇寄存器。fsr和indf(間址寄存器)配合完成間接尋址,目前暫不用該功能。fsr寄存器寬度為5位,其中fsr<4:0>(0~4位)用來尋址32個寄存器( ram),而fsr<5>位,則用來選擇寄存器體(bank),這點(diǎn)與pic16f84完全不同。對pic12c508不存在體選問題,可不設(shè)置,而對pic12c509,因存在bank0、bankl.需要其體選,所以對pic12c509,當(dāng)fsr( 5)=0時,選bank0,fsr( 5)=1時,選bankl。
上述介紹的幾個專用寄存器tris、option、fsr,其主要目的是為了編輯pic12c5×x gpio口基本功能源程序時,所需的必備的知識,了解上述專用寄存器的用途,即可快速切入pic12c5××的編程方法。
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: C/Ku波段復(fù)合高頻頭
- 下一篇: PIC12C5××實(shí)驗(yàn)源程序