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