中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

PIC12C5XX單片機(jī)功能原理

更新時(shí)間: 2019-03-21

單片機(jī)代理商深圳英銳恩為您介紹PIC12C5XX單片機(jī)功能原理。PIC12C5XX單片機(jī)是美國Microchip公司推出的8位單片機(jī),也是世界上第一個(gè)8腳封裝的8位單片機(jī)系列,英銳恩科技有推出兼容PIC單片機(jī)的國產(chǎn)8位單片機(jī)。

§1.1  功能特點(diǎn)

一、高性能RISC結(jié)構(gòu)CPU
      ·精簡指令集,僅33條單字節(jié)指令,易學(xué)易用
      ·除地址分支跳轉(zhuǎn)指令為雙周期指令外,其余所有指令皆為單周期指令
      ·執(zhí)行速度: DC~1μs
      ·二級(jí)硬件堆棧
      ·直接、間接、相對三種尋址方式

二、功能部件特性
·8位定時(shí)器/計(jì)數(shù)器TIMER0,帶8位預(yù)分頻器
·大驅(qū)動(dòng)電流,I/O腳可直接驅(qū)動(dòng)數(shù)碼管(LED)顯示

  • 每個(gè)I/O引腳最大控電流25mA

  • 每個(gè)I/O引腳最大灌電流20mA
    ·內(nèi)置上電復(fù)位電路(POR)
    ·復(fù)位定時(shí)器,保障復(fù)位正常
    ·內(nèi)部MCLR復(fù)位端加上拉電路,無需外接上拉
    ·內(nèi)置自振式看門狗,防程序死鎖
    ·程序保密位,可防止程序代碼的非法拷貝
    ·低功耗睡眠功能
    ·I/O引腳可喚醒睡眠
    ·內(nèi)置4MHz RC型振蕩源,可省外接振蕩
    ·可選外接振蕩

  • RC:  低成本阻容振蕩

  • XT:  標(biāo)準(zhǔn)晶體/陶瓷振蕩

    • LP:  低速晶體,低功耗振蕩

三、CMOS工藝特性
      ·低功耗
         <2mA   @5V,4MHz
         -15μA  @3V,32KHz
         -<1μA  低功耗睡眠(Sleep)模式下
      ·全靜態(tài)設(shè)計(jì)
      ·寬工作電壓范圍:2.5V~5.5V
      ·寬工作溫度范圍:
         商用級(jí):   0℃~+70℃
                  -工業(yè)級(jí):-40℃~+85℃
                  -汽車級(jí):-40℃~+125℃

§1.2  型號(hào)及引腳介紹

PIC12C5XX目前有二種型號(hào),見下表:

型  號(hào)振  蕩EPROMRAM定時(shí)器輸入線I/O線電壓范圍封裝(DIP/SOIC)12C508DC~4Mhz512×1225×81152.5V-5.5V812C509DC~4Mhz1024×1241× 81152.5V-5.5V8

表1.1  PIC12C5XX型號(hào)功能表

各型號(hào)管腳圖如下:

PDIP,SOIC,Windowed CERDIP

VDD&mdash;&mdash;> GP5/OSC1/CLKIN<&mdash;&mdash;> GP4/OSC2<&mdash;&mdash;> GP3/MCLR/VPP&mdash;&mdash;><&mdash;&mdash;VSS <&mdash;&mdash;>GP0 <&mdash;&mdash;>GP1 <&mdash;&mdash;>GP2/T0CK1
圖1.1  12C508/509引腳

下表描述了各引腳的功能。

&emsp;&emsp;引腳名 引腳序號(hào) 屬性 緩沖類型 功能 GP07I/OTTL/ST雙向I/O口線,帶可編程弱上拉,并具電平變化喚醒睡眠功能GP16I/OTTL/ST雙向I/O口線,帶可編程弱上拉,并具電平變化喚醒睡眠功能GP2/T0CK15I/OST雙向I/O口線,并可設(shè)置為計(jì)數(shù)器TIMER0的外部信號(hào)輸入端GP3/MCLR4ITTL單向輸入口線,也可設(shè)置為芯片復(fù)位端。當(dāng)設(shè)為復(fù)位端MCLR時(shí),低電平有效。 當(dāng)作為輸入口線時(shí),帶可編程弱上拉及電平變化喚醒睡眠功能GP4/OSC23I/OTTL雙向I/O口線,(使用片內(nèi)RC振蕩源時(shí),也可作為晶振輸出端)GP5/OSC1/CLKIN2I/OTTL/ST雙向I/O口線,(使用片內(nèi)RC振蕩源時(shí),也可作為晶振輸入端或外部振蕩輸入端)VDD1電源&mdash;正電源VSS8電源&mdash;地注:ST ─ 斯密特觸發(fā)器
表1.2  PIC12C5XX引腳功能

從上表可看出,PIC12C5XX最多可以有5根I/O口線和1根輸入口線(GP3)。

&sect;1.3  PIC12C5XX內(nèi)部結(jié)構(gòu)
&emsp;&emsp;PIC12C5XX 的總線結(jié)構(gòu)采用的是數(shù)據(jù)總線(8位)和指令總線(12位)獨(dú)立分開的&rdquo;哈佛結(jié)構(gòu)&rdquo;,所以它具有精簡指令集(RISC)的特點(diǎn),速度快,效率高,并且功耗很低.
&emsp;&emsp;PIC12C5XX在一個(gè)芯片上集成了8位的算術(shù)邏輯運(yùn)算單元(ALU),0.5K~1K的12位程序存儲(chǔ)器,25~41個(gè)8位數(shù)據(jù)寄存器以及8位的計(jì)數(shù)器,上電復(fù)位電路,復(fù)位定時(shí)器,看門狗等等。
圖1.2  PIC12C5XX內(nèi)部結(jié)構(gòu)8位單片機(jī)PIC12C5XX內(nèi)部結(jié)構(gòu)圖
&sect;1.4  指令周期和流水作業(yè)
   PIC12C5XX的指令周期被分頻成4個(gè)不重疊的節(jié)拍Q1~Q4,程序計(jì)數(shù)器PC在Q1節(jié)拍增1, 而指令是在Q4節(jié)拍從程序存儲(chǔ)器中取出并置入指令譯碼器,并在下一個(gè)指令周期被執(zhí)行, 如下圖所示:


PIC12C5XX單片機(jī)指令周期執(zhí)行圖

指令的執(zhí)行貫穿Q1~Q4節(jié)拍。

如上所述,當(dāng)CPU在執(zhí)行一條指令的同時(shí), 下一條指令的代碼也同時(shí)被取出置入指令譯碼器,準(zhǔn)備在下一指令周期執(zhí)行,這就是PIC的流水作業(yè)方式,也是RISC結(jié)構(gòu)單片機(jī)的特點(diǎn),這種特點(diǎn)使單片機(jī)的運(yùn)行速度可以達(dá)到很高。

除了地址分支跳轉(zhuǎn)指令的執(zhí)行周期是2個(gè)指令周期外,其余所有指令都是單周期指令, 見下圖:

圖1.4  流水作業(yè)

PIC12C5XX單片機(jī)流水作業(yè)圖

&sect;1.5  程序存儲(chǔ)器和堆棧

PIC12C5XX的程序存儲(chǔ)器為12位長,其中PIC12C508為512字節(jié),而PIC12C509為1024字節(jié)。復(fù)位向量為地址0,因?yàn)樽詈笠粋€(gè)字節(jié)(PIC12C508為地址1FFH,PIC12C509為地址3FFH)存放有片內(nèi)RC實(shí)際振蕩的校正系數(shù),其形式為指令MOVLW XX,用戶不要使用這個(gè)字節(jié),所以用戶的程序應(yīng)從地址000H開始存放,注意這點(diǎn)和PIC16C5X有所不同。

PIC12C5XX單片機(jī)程序存儲(chǔ)器和堆棧
圖1.5  程序存儲(chǔ)器和堆棧

PIC12C5XX把程序存儲(chǔ)器以512字節(jié)為單位進(jìn)行分頁管理,這樣PIC12C508有一個(gè)頁面程序區(qū),而PIC12C509有2個(gè)頁面程序區(qū),由狀態(tài)寄存器STATUS中的PA0位(STATUS<5>) 確定程序區(qū)的頁面。這是因?yàn)镻IC是RISC結(jié)構(gòu),所有指令都是單字節(jié),在PIC12C5XX中, 一條指令中所包含的地址信息只有9位,只能直接尋址一個(gè)頁面(512字節(jié));對于12C509,則還要由PA0位來輔助尋址2個(gè)頁面(1024字節(jié))的程序空間,即程序當(dāng)需從一個(gè)頁面跳轉(zhuǎn)到另一個(gè)頁面時(shí)(CALL、GOTO指令),應(yīng)事先根據(jù)要跳轉(zhuǎn)去的頁面,把PA0位置為相應(yīng)的值,請參閱狀態(tài)寄存器的描述。

PIC12C5XX的堆棧有2層,有自己獨(dú)立的空間,不占用程序存儲(chǔ)器。注意它只能容納二層子程序嵌套調(diào)用。堆棧的長度是12位,和PC長度一致,可以存放子程序調(diào)用時(shí)的PC值。

對堆棧的壓入操作由子程序調(diào)用指令CALL完成,出棧操作則由子程序返回指令RETLW完成,請參閱第二章中這二條指令的詳介。

&sect;1.6  數(shù)據(jù)存儲(chǔ)器

PIC12C5XX的數(shù)據(jù)存儲(chǔ)器(RAM)由一些寄存器組成,分為特殊寄存器和通用寄存器二種。在PIC單片機(jī)中,對任何部件的操作都表現(xiàn)為對某一寄存器的操作,所以編程非常簡單明了。

PIC12C5XX單片機(jī)寄存器結(jié)構(gòu)圖

  • : 非實(shí)際存在的寄存器,參見&sect;1.6.1中詳介。
    圖1.6  寄存器結(jié)構(gòu)

從上圖可看到,00h~06h為特殊寄存器,其余為通用寄存器。PIC12C508有25個(gè)通用寄存器,而PIC12C509則有41個(gè)通用寄存器,其中25個(gè)在Bank0,另16個(gè)在Bank1,關(guān)于寄存器的Bank方式,請參閱&sect;1.6.1的FSR寄存器描述。

&sect;1.6.1  特殊寄存器

一、INDF(地址:00h) ── 間址寄存器
INDF是一個(gè)物理上不存在的寄存器,只是一個(gè)邏輯寄存器,用來進(jìn)行間接尋址,實(shí)際的尋址地址為FSR<4:0>的值。

例:      MOVLW       10h
         MOVWF       FSR                ;實(shí)際地址10h(F10寄存器)&rarr;FSR
         MOVLW     55h
         MOVWF     INDF           ;數(shù)據(jù)55h&rarr;F10
         INCF        FSR              ;FSR增1(FSR=11h)
         MOVWF     INDF            ;數(shù)據(jù)55h&rarr;F11

 參閱后面FSR寄存器的描述。

二、TMR0(地址:01h) ── 定時(shí)器/計(jì)數(shù)器寄存器

二、TMR0(地址:01h) ── 定時(shí)器/計(jì)數(shù)器寄存器
TMR0對應(yīng)于TIMER0,它是一個(gè)8位的定時(shí)器/計(jì)數(shù)器(在PIC16C5X中稱其為RTCC),請參閱&sect;1.8詳介。

三、PCL(地址:02h) ── 程序計(jì)數(shù)器PC<7:0>

PIC12C5XX程序計(jì)數(shù)器PC最多可尋址1K(1024)程序區(qū):

型      號(hào)PC長度尋址空間PC復(fù)位值PIC12C50895121FFhPIC12C5091010243FFh

單片機(jī)一復(fù)位,PC值被置為全&ldquo;1&rdquo;指向程序區(qū)的最后一個(gè)字節(jié)。前面我們提過,這個(gè)地址存放的是芯片出廠時(shí)已放入的MOVLW XX指令(其中XX是片內(nèi)振蕩校正系數(shù)),所以單片機(jī)復(fù)位后會(huì)執(zhí)行這條指令,然后PC馬上翻轉(zhuǎn)到000h,開始執(zhí)行用戶的程序代碼。注意,頁面選擇位PA0 復(fù)位時(shí)也被清零,所以這時(shí)頁面處于0頁,請參閱有關(guān)狀態(tài)寄存器STATUS的描述。

對于&ldquo;GOTO&rdquo;指令,它的指令碼中含有跳轉(zhuǎn)地址的低9位,即PC<8:0>,對于PIC12C509來說,狀態(tài)寄存器的第5位(STATUS<5>)還會(huì)被置入PC<9>,以選擇程序頁面,從而尋址1K的程序空間.

PIC12C5XX單片機(jī)

對于&ldquo;CALL&rdquo;指令或其他涉及會(huì)修改PCL的指令,它們的指令碼中僅包含目的地址的低8位,即PC<7:0>,而PC<8>總是會(huì)被硬件自動(dòng)清零,狀態(tài)寄存器第5位(STATUS<5>)也會(huì)被置入PC<9>以選擇程序頁面(對于PIC12C509而言)。見下圖:

PIC12C5XX單片機(jī)美國微芯

從上圖可看出,由于執(zhí)行這些指令硬件總會(huì)清PC<8>=0,所以它們的起始地址都必須限于放在每個(gè)程序頁面的上半?yún)^(qū),即頭上的256個(gè)字節(jié)空間內(nèi)(0h~FFh或200h~2FFh)。

四、STATUS(地址:03h) ── 狀態(tài)寄存器

STATUS寄存器包含了ALU的算術(shù)狀態(tài)、芯片復(fù)位狀態(tài)、程序頁面位等信息。STATUS 可以被讀/寫,但是其中的復(fù)位狀態(tài)位TO、PD不能由軟件設(shè)置,它們的狀態(tài)如何決定&sect;1.12.7 會(huì)有詳細(xì)描述。

圖1.9  狀態(tài)寄存器

在加法運(yùn)算時(shí),C是進(jìn)位位;在減法運(yùn)算時(shí),C是借位的反。

例a:
         CLRF         F10          ;F10=0
         MOVLW       1             ;W=1
         SUBWF        F10              ;F10-W=-1(FFH),C=0(運(yùn)算結(jié)果為負(fù))

例b:
         MOVLW       1                ;W=1
         MOVWF       F10              ;F10=1
         CLRW                     ;W=0
         SUBWF        F10             ;F10-W=1,C=1(運(yùn)算結(jié)果為正)

PD和TO兩位可用來判斷芯片復(fù)位的原因,GPWUF位也是用來判斷芯片復(fù)位類型,請參閱&sect;1.12.7描述。

五、FSR(地址:04h) ── 選擇寄存器

FSR和INDF寄存器(地址:00h)配合完成間接尋址,請參閱前面有關(guān)INDF寄存器的描述。FSR寄存器寬度為5位,F(xiàn)SR<4:0>用來間接尋址32個(gè)寄存器,F(xiàn)SR<5> 則用來選擇寄存器體(Bank),見下圖:

圖1.10  直接/間接尋址方式

      a、PIC12C508: 不存在寄存器體選,F(xiàn)SR<5>恒為&ldquo;1&rdquo;。
      b、PIC12C509: FSR<5>=1  Bank1,
      FSR<5>=0  Bank0。

六、OSCCAL(地址:05h) ── 內(nèi)部振蕩校正系數(shù)寄存器

PIC12C5XX內(nèi)部集成有RC振蕩供用戶選擇使用,OSCCAL<7:4> 包含了該振蕩電路的校正系數(shù),其上電初始值為&ldquo;0111&rdquo;,請參閱&sect;1.11.4有關(guān)內(nèi)部RC振蕩的描述。

七、GPIO(地址:06h) ── I/O寄存器

PIC12C5XX有一個(gè)6位的I/O口,它在寄存器中的映像就是GPIO寄存器,GPIO<5:0>對應(yīng)于 I/O口線GP5:GP0,GPIO<7:6>未用,恒為&ldquo;0&rdquo;。

八、TRIS ── I/O方向控制寄存器

TRIS是GP口線方向控制寄存器,用戶不能直接尋址,必須通過執(zhí)行&ldquo;TRIS  6&rdquo;指令來設(shè)置它。當(dāng)執(zhí)行&ldquo;TRIS     6&rdquo;指令后,W寄存器的內(nèi)容即會(huì)被置入TRIS中。&ldquo;1&rdquo;將相應(yīng)的I/O口線設(shè)為輸入態(tài)(高阻態(tài)),&ldquo;0&rdquo;則被設(shè)為輸出態(tài)。但是有二點(diǎn)例外,即GP3永遠(yuǎn)是輸入態(tài)而GP2有可能由OPTION寄存器設(shè)置為輸入態(tài)(T0CKI),而不理會(huì)TRIS中的設(shè)置內(nèi)容。請參閱&sect;1.2關(guān)于I/O口的描述。

例:
         MOVLW      0Fh          ;W=&ldquo;00001111&rdquo;
         TRIS             6             ;TRIS=&ldquo;001111&rdquo;,GP0:GP3為輸入態(tài)
         GP4:GP5為輸出態(tài)

各種復(fù)位都會(huì)置TRIS為全&ldquo;1&rdquo;。

九、OPTION ── 參數(shù)定義寄存器

OPTION用來定義一些芯片工作參數(shù),見下圖所示:

圖1.11  OPTION寄存器

OPTION也是不能由用戶直接尋址的,必須由執(zhí)行&ldquo;OPTION&rdquo;指令來把W寄存器中的內(nèi)容置入OPTION寄存器,如下例:
         MOVLW       7                ;W=&ldquo;00000111&rdquo;
         OPTION                      ;W&rarr;OPTION
各種復(fù)位都會(huì)置OPTION為全&ldquo;1&rdquo;。

注意即使TRIS中相應(yīng)的GP2方向位是&ldquo;0&rdquo;,如果將TOCS置為&ldquo;1&rdquo;,則GP2也會(huì)被強(qiáng)置為輸入態(tài),即為T0CKI輸入線。

有關(guān)OPTION各位的定義,請參閱各自相應(yīng)的章節(jié)。

十、W ── 工作寄存器

W寄存器用來存放指令中的第二個(gè)操作數(shù),或用來進(jìn)行內(nèi)部數(shù)據(jù)傳送,或存放運(yùn)算結(jié)果,是最常用的寄存器。

&sect;1.6.2  通用寄存器

      PIC12C508: 07h ─ 1Fh        ;Bank0
      PIC12C509: 07h ─ 1Fh        ;Bank0
      30h ─ 3Fh                ;Bank1

通用寄存器在上電后的值是隨機(jī)的,所以它屬RAM性質(zhì)。

&sect;1.7  I/O 口

PIC12C5XX只有一個(gè)I/O口,對應(yīng)的映像寄存器為GPIO(地址:06h),其中GPIO< 5:0> 對應(yīng)GP5:GP0,GPIO<7:6>未用,永為&ldquo;0&rdquo;。注意,GP3僅可作為輸入,是單向I/O口線。另外,GP5、GP4、GP3及GP2還可以由用戶定義成各種特殊功能口線,一旦它們被用作特殊用途,則永遠(yuǎn)讀為&ldquo;0&rdquo;。GP0、GP1和GP3還帶有可編程的弱上拉和&ldquo;電平變化喚醒功能&rdquo;(即喚醒正處于睡眠狀態(tài)下的芯片),關(guān)于這點(diǎn)請參閱OPTION寄存器的描述。如果GP3被用戶定義為復(fù)位輸入端(MCLR),則它的弱上拉自動(dòng)有效,但&ldquo;電平變化喚醒&rdquo;特性被自動(dòng)關(guān)閉。

GPIO口線的方向由TRIS寄存器控制,詳情參見&sect;1.6.1中有關(guān)TRIS寄存器的描述。

&sect;1.7.1  I/O 口結(jié)構(gòu)

一根I/O口線的結(jié)構(gòu)如下圖所示:

圖1.12  I/O口結(jié)構(gòu)

除了GP3只能單向作為輸入口外,其余的GPIO口皆可由用戶定義為輸入/輸出態(tài)。作為輸入口時(shí)沒有鎖存,外部信號(hào)必須保持到讓CPU讀入為止(例如:MOVF   GPIO,W)。作為輸出則有鎖存,可以保持直到被新的值取代為止。

I/O端的輸入/輸出態(tài)由TRIS寄存器的值控制,當(dāng)TRIS將&ldquo;1&rdquo;置入I/O控制器時(shí)Q1和Q2 都處于截止態(tài),所以I/O端即呈高阻態(tài)(輸入態(tài))。當(dāng)執(zhí)行I/O讀指令(如MOVF          6,W),把當(dāng)前I/O端的狀態(tài)讀入數(shù)據(jù)總線。當(dāng)TRIS將&ldquo;0&rdquo;置入I/O控制器時(shí),Q1和Q2的導(dǎo)通情況將要由數(shù)據(jù)鎖存器Q端的狀態(tài)來決定。當(dāng)寫入數(shù)據(jù)為&ldquo;1&rdquo;時(shí),Q端為低電平0,則Q1導(dǎo)通,I/O輸出為高電平。反之,當(dāng)寫入數(shù)據(jù)為&ldquo;0&rdquo;時(shí),Q端為&ldquo;1&rdquo;,則Q2導(dǎo)通,I/O端輸出為低電平。I/O讀寫時(shí)序如圖1.13所示。

&sect;1.7.2  I/O口使用注意事項(xiàng)

1、I/O方向轉(zhuǎn)置的問題

某時(shí)候可能需要一個(gè)I/O口一會(huì)做輸入,一會(huì)又做輸出。這就是I/O方向的轉(zhuǎn)置。在編寫這種I/O轉(zhuǎn)置程序時(shí)必須注意,有些指令如位設(shè)置指令(BSF、BCF)寫I/O口時(shí)是先從I/O讀入其狀態(tài),執(zhí)行位操作后再將結(jié)果寫回去覆蓋原來的內(nèi)容(輸出的結(jié)果放在I/O口的數(shù)據(jù)鎖存器)。

舉個(gè)例子來說:&ldquo;BSF   6,5&rdquo; 這條指令的目的是要把B口的第6位置為高電平&ldquo;1&rdquo;。執(zhí)行這條指令時(shí),先把整個(gè)B口當(dāng)前的狀態(tài)內(nèi)容讀入到CPU,把第6位置成&ldquo;1&rdquo;后再把結(jié)果(8個(gè)位)重新輸出到B口。如果B口中的有一個(gè)I/O端是需要方向轉(zhuǎn)置的(比如說bit1),而這時(shí)是處于輸入態(tài),那么B口的狀態(tài)值重新寫入后,B口的數(shù)據(jù)鎖存器1的鎖存值就是當(dāng)前B口Bit1的狀態(tài)。 這可能和先前Bit1作為輸出時(shí)所鎖存的值不同,所以當(dāng)Bit1 再轉(zhuǎn)置成輸出態(tài)時(shí),出現(xiàn)在Bit1 端的狀態(tài)就可能和先前的輸出態(tài)不同了。

2、I/O的&ldquo;線或&rdquo;和&ldquo;線與&rdquo;

從圖1.12看出PIC I/O端輸出電路為CMOS互補(bǔ)推挽輸出電路。因此與其他這類電路一樣,當(dāng)某個(gè)PIC I/O端設(shè)置為輸出狀態(tài)時(shí),不能與其他電路的輸出端接成&ldquo;線或&rdquo;或&ldquo;線與&rdquo;的形式,否則可能引起輸出電流過載,燒壞PIC。如需要與其他電路接成&ldquo;線或&rdquo;電路時(shí),PIC I/O 端必須置于&ldquo;1&rdquo;狀態(tài)或輸入狀態(tài),并外接下拉電阻。電阻的阻值根據(jù)實(shí)際電路和PIC I/O 端最大電流來決定。

3、I/O口的連續(xù)操作

一條寫I/O的指令,對I/O真正寫操作是發(fā)生在指令的后半周期(參照圖1.13)。而讀I/O的指令卻是在指令的周期開始就讀取I/O端狀態(tài)。所以當(dāng)你連續(xù)對一個(gè)I/O端寫入再讀出時(shí),必須要讓I/O端上的寫入電平有一個(gè)穩(wěn)定的時(shí)間,否則讀入的可能是前一個(gè)狀態(tài),而不是最新的狀態(tài)值。一般推薦在兩條連續(xù)的寫,讀I/O口指令間至少加一條NOP指令。

例:
         MOVWF       6                  ;寫I/O
         NOP                                 ;穩(wěn)定I/O電平
         MOVF        6,W         ;讀I/O

4、噪聲環(huán)境下的I/O操作

在噪聲環(huán)境下(如靜電火花),I/O控制寄存器可能因受干擾而變化。比如I/O口可能會(huì)從輸入態(tài)自己變成輸出態(tài),對于這種情形,WDT也是無法檢測出來的。因此如果你的應(yīng)用環(huán)境是較惡劣的,建議你每隔一定的間隔,都重新定義一下I/O控制寄存器。最保險(xiǎn)的方法當(dāng)然是對I/O讀寫前都定義一下I/O控制寄存器(但是實(shí)踐證明對于大多數(shù)的應(yīng)用都不必做到這樣,只是提請你注意噪聲干擾)。

圖1.13  I/O口連續(xù)讀/寫時(shí)序

&sect;1.8  定時(shí)器/計(jì)數(shù)器TIMER0

TIMER0是一個(gè)8位的定時(shí)器/計(jì)數(shù)器,其對應(yīng)的映像寄存器是TMR0(地址:01h),可由用戶程序直接讀寫,并且可帶有8位的預(yù)分頻器。它用于對外加在GP2/T0CKI引腳上的外部信號(hào)進(jìn)行計(jì)數(shù)(計(jì)數(shù)器)或?qū)?nèi)部指令時(shí)鐘進(jìn)行計(jì)時(shí)(定時(shí)器),在PIC16C5X中它被稱為RTCC。

TIMER0及其相關(guān)電路如圖1.14所示。從圖中可看出TIMER0工作狀態(tài)由OPTION寄存器控制,其中OPTION寄存器的T0SC位用來選擇TIMER0的計(jì)數(shù)信號(hào)源,當(dāng)T0SC為&ldquo;1&rdquo;時(shí),信號(hào)源為內(nèi)部時(shí)鐘,T0SC為&ldquo;0&rdquo;時(shí),信號(hào)源為來自T0CKI引腳的外部信號(hào)。OPTION寄存器的PSA位控制預(yù)分頻器(Prescaler)分配對象,當(dāng)PSA位為&ldquo;1&rdquo;, 分配給TIMER0,即外部或內(nèi)部信號(hào)經(jīng)過預(yù)分頻器分頻后再輸出給TIMER0。 預(yù)分頻器的分頻比率由OPTION內(nèi)的PS0~PS2決定。這時(shí)涉及寫TMR0寄存器的指令均同時(shí)將預(yù)分頻器清零,OPTION 寄存器內(nèi)容保持不變,即分配對象、分頻比率等均不變。OPTION的T0SE 位用于選擇外部計(jì)數(shù)脈沖觸發(fā)沿。當(dāng)T0SE為&ldquo;1&rdquo;時(shí)為下降沿觸發(fā),為&ldquo;0&rdquo;時(shí)則上升沿觸發(fā)。

                      圖1.14  TIMER0 方塊圖

TIMER0計(jì)數(shù)器采用遞增方式計(jì)數(shù),當(dāng)計(jì)數(shù)至FFH時(shí),在下一個(gè)計(jì)數(shù)發(fā)生后,將自動(dòng)復(fù)零,重新開始計(jì)數(shù),從此一直循環(huán)下去。TIMER0對其輸入脈沖信號(hào)的響應(yīng)延遲時(shí)間為2個(gè)機(jī)器周期,不論輸入脈沖是內(nèi)部時(shí)鐘、外部信號(hào)或是預(yù)分頻器的輸出。響應(yīng)時(shí)序見圖1.15。

TIMER0對外部信號(hào)的采樣周期為2個(gè)振蕩周期,因此當(dāng)不用預(yù)分頻器時(shí),外加在T0CKI 引腳上的脈沖寬度不得小于2個(gè)振蕩周期即1/2指令周期。同時(shí),當(dāng)使用預(yù)分頻器時(shí),預(yù)分頻器的輸出脈沖周期不得小于指令周期,因此預(yù)分頻器最大輸入頻率可達(dá)N,fosc/4,N 為預(yù)分頻器的分頻比,但不得大于50MHz。

圖1.15a.  TIMER0時(shí)序圖:內(nèi)部時(shí)鐘/無預(yù)分頻器

圖1.15b.  TIMER0時(shí)序圖:內(nèi)部時(shí)鐘/預(yù)分頻比1:2

應(yīng)注意的是盡管PIC對外部加于T0CKI信號(hào)端上的信號(hào)寬度沒有很嚴(yán)格的要求,但是如果高電平或低電平的維持時(shí)間太短,也有可能使TIMER0檢測不到這個(gè)信號(hào)。一般要求信號(hào)寬度要大于10ns。

&sect;1.9  預(yù)分頻器

預(yù)分頻器是一個(gè)分頻倍數(shù)可編程的8位計(jì)數(shù)器。其結(jié)構(gòu)如圖1.14 所示上節(jié)對預(yù)分頻參數(shù)已有描述,這里不再贅述。

預(yù)分預(yù)器的分配對象完全由程序控制,可以在程序中改變Prescaler分配對象。

1、從TIMER0到WDT的改變

                               MOVLW    B'XX0X0XXX'   ;選擇內(nèi)部時(shí)鐘和新的預(yù)分頻值
      OPTION                          ;如果新的預(yù)分頻值='000'或者
      CLRF          1                 ;='001',則暫時(shí)先選一個(gè)另外的值
      MOVLW    B'XXXX1XXX'     ;清零TMR0和預(yù)分頻器
      OPTION                         ;選擇WDT為對象,但不要改變預(yù)分頻值
      CLRWDT                             ;清WDT和預(yù)分頻器
      MOVLW      B'XXXX1XXX'     ;選擇新的預(yù)分頻器
      OPTION

2、從WDT到TIMER0的改變

      CLRWDT                         ;清WDT 及Prescaler
      MOVLW    B'XXXX0XXX'     ;選擇TIMER0
      OPTION

圖1.16  預(yù)分頻器方塊圖

注意,預(yù)分頻器只能分配給TIMER0或WDT其中之一使用,而不能同時(shí)分配給二者。

&sect;1.10  看門狗WDT

看門狗計(jì)時(shí)器(Watch Dog Timer)是一個(gè)片內(nèi)自振式的RC振蕩計(jì)時(shí)器,無需任何的外接元件。這意味著即使芯片振蕩停止了(例如執(zhí)行指令SLEEP后),WDT照樣保持計(jì)時(shí)。WDT計(jì)時(shí)溢出將產(chǎn)生RESET。在PIC12C5XX芯片內(nèi)有一個(gè)特殊的謂之&ldquo;系統(tǒng)定義字&rdquo;(Configuration EPROM)的單元,其中的一個(gè)位是用于定義WDT的,可以將其置&ldquo;0&rdquo;來抑制WDT使之永遠(yuǎn)不起作用。這將在第六章的燒寫器介紹部分詳細(xì)說明。

1、WDT周期

WDT有一個(gè)基本的溢出周期18ms(無預(yù)設(shè)倍數(shù)),如果需要更長的WDT周期,可以把預(yù)分頻器分配給WDT,最大分頻比可達(dá)1:128,這時(shí)的WDT溢出周期約為2.5S。WDT溢出周期和環(huán)境溫度、VDD等參數(shù)有關(guān)系,請參閱附錄的圖表。

&ldquo;CLRWDT&rdquo;和&ldquo;SLEEP&rdquo;指令將清除WDT計(jì)時(shí)器以及預(yù)分頻器(當(dāng)預(yù)分頻器分配給WDT時(shí))。WDT一般用來防止系統(tǒng)失控或者說防止單片機(jī)程序&ldquo;失控&rdquo;。在正常情況下,WDT應(yīng)在計(jì)時(shí)溢出前被CLRWDT指令清零,以防止產(chǎn)生RESET。如果程序由于某種干擾而失控,那么不能在WDT溢出前執(zhí)行一條CLRWDT指令,就會(huì)使WDT溢出而產(chǎn)生RESET,使系統(tǒng)重新啟動(dòng)運(yùn)行而不至失去控制。若WDT溢出產(chǎn)生RESET,則狀態(tài)寄存器F3的&ldquo;TO&rdquo;位會(huì)被清零,用戶可藉此判斷復(fù)位是否由WDT溢時(shí)所造成。

2、WDT編程注意事項(xiàng)

如果使用WDT,一定要仔細(xì)在程序中的某些地方放一條&ldquo;CLRWDT&rdquo;指令,以保證在WDT在溢出前能被清零,否則會(huì)造成芯片不停地產(chǎn)生RESET,使系統(tǒng)無法正常工作。

在噪聲工作環(huán)境下,OPTION寄存器可能會(huì)因受干擾而改變,所以最好每隔一段時(shí)間就將其重新設(shè)置一下。

&sect;1.11  振蕩

PIC12C5XX可以運(yùn)行在以下四種振蕩方式下:

    a、LP                    低功耗低速晶體振蕩
    b、XT            標(biāo)準(zhǔn)晶體/陶瓷振蕩
    c、INTRC        內(nèi)部4MHz RC振蕩
    d、EXTRC        外部RC振蕩

以上四種振蕩方式可由&ldquo;系統(tǒng)定義字&rdquo;中的Fosc1:Fosc2 兩位來選擇,請讀者參閱后面&sect;1.12.9的詳述。

&sect;1.11.1  晶體/陶瓷振蕩

這種振蕩包括XT和LP,其電路連接是在GP5/OSC1/CLKIN和GP4/OSC2兩端加一晶體/陶瓷振蕩,如下圖所示:

圖1.17  晶體/陶瓷振蕩電路

下表是使用各種頻率的晶體和陶瓷振蕩所需的C1、C2電容值。

振蕩類型頻率C1C2  振蕩類型頻率C1C2XT455KHz68-100P68-100PLP32KHz15P15P  2MHz15-33P15-33PXT100KHz15-30P200-300P200KHz15-30P100-200P  4MHz10-22P10-22P  1MHz15-30P15-30P  2MHz15P15P  4MHz15P15P
              a. 陶瓷振蕩                               b.晶體振蕩

表1.3  各種振蕩下的C1和C2值

&sect;1.11.2  外部RC振蕩

這種振蕩類型成本最低,但頻率的精確性較差,適用于時(shí)間精確度要求不高的應(yīng)用場合。RC振蕩的頻率是VDD、RC值以及環(huán)境溫度的函數(shù)。請參閱附錄的RC頻率函數(shù)圖。RC 振蕩的連接如圖1.18所示。

圖1.18  RC振蕩電路

RC振蕩是在OSC1端連接一個(gè)串聯(lián)的電阻電容。這個(gè)電阻如果低于2.2K,振蕩不穩(wěn)定,甚至不能振蕩,但是電阻高于1M時(shí),則振蕩又易受干擾。所以電阻值最好取5K~100K之間。盡管電容C為0時(shí),電路也能振蕩,但也易受干擾且不穩(wěn)定,所以電容值應(yīng)取20P以上。RC值和頻率關(guān)系如表1.4所示。RC振蕩時(shí)OSC2端輸出一OSC1的4分頻脈沖(f=1/4OSC1)。

RestCextVDDFosc/25℃5k&Omega;0PF5.04.0MHz5k&Omega;20PF6.02.2MHz5k&Omega;20PF3.52.5MHz10k&Omega;130PF5.0480MHz10k&Omega;290PF5.0245MHz100k&Omega;300PF3.530MHz

表1.4  RC與頻率的關(guān)系

&sect;1.11.3  外部振蕩

PIC12C5XX也可以接受外部振蕩源(僅適合于XT和LP類型振蕩),連接時(shí)將外部振蕩接入GP5/OSC1/CLKIN端,見下圖:

圖1.19  外部振蕩源輸入電路

&sect;1.11.4  內(nèi)部RC振蕩

PIC12C5XX內(nèi)部提供有4MHz的RC振蕩源供用戶選擇使用,選擇振蕩方式和振蕩源的方法見&sect;1.12.9詳介。

在PIC12C5XX的程序區(qū)最頂端(12C508:1FFh,12C509:3FFh)放了一條MOVLW XX的指令, XX是內(nèi)部RC振蕩的校正系數(shù)。芯片上電后,PC指針指向程序區(qū)最頂端,執(zhí)行完這條指令后PC 值加1變?yōu)?00h。這時(shí)W寄存器中存放即是內(nèi)部RC振蕩的校正系數(shù),用戶可以把這個(gè)系數(shù)置入OSCCAL寄存器(05h)以便使其起校正作用,也可以忽略不管它。

 例:                
      0                   ;定義存儲(chǔ)區(qū)地址0
      MOVWF      OSCCAL             ;把W中的校正系數(shù)置入OSCCAL。

&sect;1.12  復(fù) 位(RESET)

PIC12C5XX有各種各樣原因造成的芯片復(fù)位:

     1、芯片上電
     2.、MCLR端加低電平
     3、看門狗WDT超時(shí)溢出
     4、睡眠中某些I/O口線電平發(fā)生變化

當(dāng)芯片處于復(fù)位狀態(tài)時(shí),所有I/O口線都處于輸入狀態(tài)(高阻態(tài)),看門狗WDT和預(yù)分頻器都被清零。

圖1.20  片內(nèi)復(fù)位電路(暫缺)

&sect;1.12.1  復(fù)位定時(shí)器(DRT)

復(fù)位定時(shí)器DRT(在PIC16C5X 中我們稱其為OST)是為了使芯片的復(fù)位可靠安全而設(shè)計(jì)。在PIC12C5XX中,對于XT和LP振蕩方式,上電后它們還需要一定的時(shí)間來建立穩(wěn)定的振蕩。有鑒于此,PIC12C5XX內(nèi)部設(shè)計(jì)了一個(gè)復(fù)位定時(shí)器DRT。DRT在MCLR端到達(dá)高電平(VIHMC)后,即啟動(dòng)計(jì)時(shí)18ms,這樣可以使芯片保持在復(fù)位狀態(tài)約18ms以便讓振蕩電路起振及穩(wěn)定下來,然后芯片即脫離復(fù)位狀態(tài)進(jìn)入正常運(yùn)行狀態(tài)。DRT的振蕩源是芯片內(nèi)專有的RC振蕩電路,所以外圍電路并不能改變其18ms的計(jì)時(shí)時(shí)間。

當(dāng)WDT計(jì)時(shí)溢出后,DRT也是啟動(dòng)18ms使芯片保持在復(fù)位狀態(tài),然后再重新開始運(yùn)行程序。

注意,在振蕩方式是外部RC或內(nèi)部RC時(shí),DRT都關(guān)閉不起作用。

&sect;1.12.2  芯片上電復(fù)位(POR)

PIC12C5XX在芯片內(nèi)集成有上電復(fù)位電路,見圖1.20所示。當(dāng)芯片電源電壓VDD上升到一定值時(shí)(1.5V-2.1V),檢測電路即會(huì)發(fā)出復(fù)位脈沖使芯片復(fù)位。

&sect;1.12.3  MCLR復(fù)位

PIC12C5XX的GP3/MCLR端可以由用戶定義為普通輸入口GP3或復(fù)位端MCLR,如下圖:

圖1.21  GP3/MCLR端電路(暫缺)

具體方法參見&sect;1.12.9有關(guān)描述。

一旦用戶選擇MCLR功能,則該端輸入低電平會(huì)使芯片進(jìn)入復(fù)位狀態(tài)。

&sect;1.12.4  外部復(fù)位電路

在某種情況下,DRT計(jì)時(shí)18ms后,芯片的振蕩電路還不能穩(wěn)定或供電電壓(VDD)還不能達(dá)到標(biāo)準(zhǔn)值,這時(shí)如果芯片脫離復(fù)位狀態(tài)進(jìn)入運(yùn)行,則芯片就有可能失控或運(yùn)行不正常。為了使芯片脫離復(fù)位狀態(tài)時(shí)各部分都處于正常,可以在MCLR端上加外部RC復(fù)位電路來延長復(fù)位時(shí)間,如下圖:

圖1.22  外部復(fù)位電路

這個(gè)電路可以使VDD上升到標(biāo)準(zhǔn)值一段時(shí)間后,MCLR才會(huì)上升到高電平,從而啟動(dòng)DRT計(jì)時(shí)18ms后才進(jìn)入運(yùn)行。這樣可以延長整個(gè)復(fù)位過程,保障芯片復(fù)位后進(jìn)入正常運(yùn)行。

&sect;1.12.5  掉電復(fù)位鎖定

當(dāng)單片機(jī)的供電電壓掉到最小標(biāo)準(zhǔn)值以下后,可能會(huì)使芯片的運(yùn)行出現(xiàn)異常,從而擾亂整個(gè)控制系統(tǒng),所以在某些應(yīng)用中,我們希望一旦VDD掉到某個(gè)值時(shí)使芯片自動(dòng)進(jìn)入復(fù)位狀態(tài)(所有I/O口都變成高阻態(tài))以免擾亂系統(tǒng),下面是一個(gè)PIC12C5XX掉電復(fù)位鎖定的電路:

圖1.23  掉電復(fù)位鎖定

當(dāng)VDD電壓恢復(fù)上升到標(biāo)準(zhǔn)值以上后,MCLR端恢復(fù)為高,從而使芯片恢復(fù)正常運(yùn)行。

&sect;1.12.6  復(fù)位對寄存器的影響

對于通用寄存器來說,上電復(fù)位后它們的值是隨機(jī)不定的,其他類型的復(fù)位后則保持原值不變。

對于特殊寄存器,各種復(fù)位后它們都會(huì)等于一個(gè)固定的復(fù)位值,見以下二表:

寄存器地址上電復(fù)位值MCLR復(fù)位 WDT復(fù)位 引腳變化喚起復(fù)位W&mdash;qqqq  xxxx(注1)qqqq  uuuu(注1)INDF00hxxxx  xxxxuuuu  uuuuTMR001hxxxx  xxxxuuuu  uuuuPC02h1111  11111111  1111STATUS03h0001  1xxx?00?  ?uuu(注2)FSR(12C508)04h111x  xxxx111u  uuuuFSR(12C509)04h110x  xxxx11uu  uuuuOSCCAL05h0111  ——Uuuu  ——GPIO06h—xx  xxxx—uu  ——-OPTION&mdash;1111  11111111  1111TRIS&mdash;—11  1111—11  1111

u: 未變;       x: 隨機(jī)值;        -: 未用;         ?: 其值取決于復(fù)位方式

注1:由于在復(fù)位向量處存放著MOVLW    XX指令,其中XX為內(nèi)部RC振蕩校正系數(shù),所以復(fù)位后W<7:4>即會(huì)等于這個(gè)值。

注2:參見表1.6。

a.  各特殊寄存器復(fù)位后的值

 復(fù)  位  類  型   狀態(tài)寄存器STATUS程序計(jì)數(shù)器PC芯片上電復(fù)位     0000  1xxx1111  1111運(yùn)行時(shí)MCLR端加低電平復(fù)位     000u  uuuu1111  1111睡眠時(shí)MCLR端加低電平復(fù)位     0001  0uuuu1111  1111 睡眠時(shí)看門狗WDT超時(shí)復(fù)位     0000  0uuu1111  1111  運(yùn)行時(shí)看門狗WDT超時(shí)復(fù)位       0000  1uuu 1111  1111睡眠時(shí)I/O腳電平變化喚醒復(fù)位     1001  0uuuu   1111  1111
 u:未變;      x:隨機(jī).

b.        復(fù)位對STATUS和PC的影響
表1.5  各種復(fù)位對特殊寄存器的影響

&sect;1.12.7  復(fù)位的鑒別

PIC12C5XX有多種原因都可引起芯片復(fù)位。在程序中判斷芯片復(fù)位的原因有時(shí)是非常必要的,例如上電復(fù)位后程序一般都要做一些寄存器初始化工作,而別的復(fù)位后則可以不做初始化而直接進(jìn)入控制運(yùn)行。

在狀態(tài)寄存器STATUS有三個(gè)位(GRWUF、TO、PD)可用來標(biāo)識(shí)各種復(fù)位狀態(tài),見下表:

GPWUFTOPD復(fù) 位 原 因000睡眠中WDT超時(shí)溢出001運(yùn)行時(shí)WDT超時(shí)溢出010睡眠中MCLR拉低011芯片上電0uu運(yùn)行時(shí)MCLR拉低110睡眠中GP0,GP1或GP3電平變化
u:未變

a.           復(fù)位后TO、PD及GPWUF的狀態(tài)

事   件GRWUFTOPD注 芯片上電011  WDT超時(shí)溢出   00u不影響PD位執(zhí)行Sleep指令(進(jìn)入睡眠)u10  執(zhí)行CLRWDT指令(清看門狗)  u11  睡眠中GP0,GP1或GP3電平發(fā)生變化110
   u:未變

b.   影響TO、PD及GPWUF位狀態(tài)的事件
表1.6  復(fù)位對STATUS的影響

 例:要判斷是否芯片上電。

      BTFSS        STATUS,TO          ;TO=1 ?
      GOTO           NO_POWERUP
      BTFSS               STATUS,PD         ;PD=1 ?
      GOTO         NO_POWERUP
     INIT    &hellip;                                   ;TO=1,PD=1。芯片上電,做初始化。

&sect;1.12.8  睡眠模式(Sleep)

1、進(jìn)入SLEEP

執(zhí)行一條&ldquo;SLEEP&rdquo;指令即可進(jìn)入低功耗睡眠模式。當(dāng)進(jìn)入SLEEP后,WDT被清零,然后重新開始計(jì)數(shù)。狀態(tài)寄存器STATUS中的PD位被置成&ldquo;0&rdquo;,TO位置成&ldquo;1&rdquo;,同時(shí)振蕩停止(指OSC1端的振蕩電路)。所有的I/O口保持原來的狀態(tài)。這種工作模式功耗最低。為使耗電流最小,進(jìn)入SLEEP前,應(yīng)使所有的I/O口處于高電平VDD或低電平VSS,而不應(yīng)使其處于高阻態(tài),以免產(chǎn)生開關(guān)電流損耗??梢栽贗/O口加上拉或下拉電阻,或者把I/O口都置成輸出態(tài)來避免其處于高阻態(tài)(浮態(tài))。

RTCC端亦應(yīng)置為VDD或VSS(通過上拉或下拉)。

MCLR必須處于高電平狀態(tài)。

2、喚醒SLEEP

SLEEP可被WDT溢出喚醒,或在MCLR端加低電平喚醒SLEEP或GP0、GP1、GP3電平發(fā)生變化。第二種喚醒方法經(jīng)常用在以下應(yīng)用場合:在系統(tǒng)主電源掉電,并由后備電源(電池)供電后,執(zhí)行&ldquo;SLEEP&rdquo;指令進(jìn)入低功耗模式,這樣電池就可長時(shí)間保持系統(tǒng)數(shù)據(jù)。當(dāng)主電源恢復(fù)供電時(shí),讓其在MCLR產(chǎn)生一低電平喚醒SLEEP,并重新復(fù)位。這樣需在MCLR端加一外部復(fù)位電路。第三種方法則在需要使用系統(tǒng)時(shí)喚醒睡眠中的單片機(jī),它常通過按鍵輸入來實(shí)現(xiàn)。系統(tǒng)上電時(shí),STATUS的PD被置為&ldquo;1&rdquo;,而執(zhí)行&ldquo;SLEEP&rdquo;指令后,PD位被置成&ldquo;0&rdquo;。所以通過PD位可以判斷系統(tǒng)是從SLEEP模式喚醒而復(fù)位,還是上電后的復(fù)位。STATUS中的TO位則可判斷當(dāng)處于SLEEP狀態(tài)的系統(tǒng)是由WDT溢時(shí)喚醒或是由外界給MCLR端一個(gè)低電平喚醒。這些區(qū)別有時(shí)是很重要的,特別是對系統(tǒng)的一些初始化工作來說。

&sect;1.12.9  系統(tǒng)定義字(Configuration)

在PIC12C5XX中有一個(gè)12位長的系統(tǒng)定義字單元,其中只用了前5位(bit0~bit4),用來定義單片機(jī)的一些系統(tǒng)性能選擇,如下圖:

圖1.24 系統(tǒng)定義字

系統(tǒng)定義字屬特殊的空間,不占用芯片的程序存儲(chǔ)器,不能由程序指針(用戶程序)訪問,用戶可以用燒寫器對其進(jìn)行編程,參見燒寫器章節(jié)中的描述。

程序保密位被置為&ldquo;0&rdquo;后,程序存儲(chǔ)區(qū)中的程序代碼(12位)中的高8位將被遮沒。具體地說,就是加密后再用燒寫器讀該芯片的程序區(qū)時(shí),每一個(gè)程序代碼都呈現(xiàn)00X的形式,這樣別人就無法恢復(fù)這些被加密的代碼,因此也就無法進(jìn)行復(fù)制拷貝。加密后的單片機(jī)的功能不會(huì)受任何影響,加密后的程序代碼并不影響其在芯片內(nèi)的運(yùn)行,而只是不能再被還原讀出來。

&sect;1.12.10 ID碼

PIC12C5XX芯片中有一個(gè)16位的標(biāo)識(shí)碼(稱為ID碼),用來作芯片標(biāo)識(shí)。ID碼僅起芯片識(shí)別作用,用戶可在燒寫器上將其燒入和讀出作芯片識(shí)別(如燒入日期等),但不會(huì)對芯片功能產(chǎn)生任何影響,即不使用它也沒有關(guān)系。

404
返回首頁 |  返回上一頁
海安县| 安达市| 通化县| 望奎县| 福海县| 子洲县| 龙川县| 正宁县| 虹口区| 河东区| 四会市| 新龙县| 雷波县| 武隆县| 嘉义市| 砚山县| 凉山| 确山县| 璧山县| 九龙城区| 尉氏县| 昆明市| 信阳市| 五台县| 桐庐县| 河南省| 额济纳旗| 新民市| 舞阳县| 理塘县| 桓仁| 罗甸县| 星座| 浪卡子县| 武清区| 罗山县| 丘北县| 铜鼓县| 北流市| 灵寿县| 苏州市|