探索Microchip PIC16C5X系列8位微控制器的魅力
在電子工程領(lǐng)域,選擇一款合適的微控制器對于項(xiàng)目的成功至關(guān)重要。Microchip的PIC16C5X系列8位微控制器以其高性能、低成本和豐富的特性,成為了眾多工程師的首選。今天,我們就來深入探討一下這個(gè)系列的微控制器。
文件下載:PIC16C58B-04E SO.pdf
一、PIC16C5X系列概述
PIC16C5X系列是Microchip推出的一系列低成本、高性能的8位全靜態(tài)、基于EPROM/ROM的CMOS微控制器。它采用了RISC架構(gòu),僅有33條單字/單周期指令,除了程序分支指令需要兩個(gè)周期外,其余指令均為單周期執(zhí)行,這使得它在相同價(jià)格類別中性能遠(yuǎn)超競爭對手。其12位寬的指令高度對稱,與同類8位微控制器相比,代碼壓縮比達(dá)到2:1,易于使用和記憶的指令集大大縮短了開發(fā)時(shí)間。
1.1 應(yīng)用領(lǐng)域廣泛
PIC16C5X系列適用于從高速汽車和家電電機(jī)控制到低功耗遠(yuǎn)程發(fā)射器/接收器、指點(diǎn)設(shè)備和電信處理器等各種應(yīng)用。EPROM技術(shù)使得定制應(yīng)用程序(如發(fā)射器代碼、電機(jī)速度、接收器頻率等)變得極為快速和方便。此外,其小尺寸封裝適用于空間受限的應(yīng)用,低成本、低功耗、高性能、易用性和I/O靈活性使其在以前未考慮使用微控制器的領(lǐng)域也具有很高的通用性。
1.1 產(chǎn)品特性豐富
該系列產(chǎn)品具備多種特殊功能,可降低系統(tǒng)成本和功耗。上電復(fù)位(POR)和設(shè)備復(fù)位定時(shí)器(DRT)無需外部復(fù)位電路;提供四種振蕩器配置,包括節(jié)能的LP(低功耗)振蕩器和低成本的RC振蕩器;節(jié)能的SLEEP模式、看門狗定時(shí)器和代碼保護(hù)功能提高了系統(tǒng)的成本效益、功耗效率和可靠性。
二、架構(gòu)剖析
2.1 哈佛架構(gòu)優(yōu)勢
PIC16C5X采用哈佛架構(gòu),程序和數(shù)據(jù)通過獨(dú)立的總線訪問,與傳統(tǒng)的馮·諾依曼架構(gòu)相比,提高了帶寬。這種架構(gòu)允許指令和8位寬的數(shù)據(jù)字采用不同的大小,12位寬的程序存儲(chǔ)器訪問總線可在一個(gè)周期內(nèi)獲取12位指令,兩級(jí)流水線使指令的獲取和執(zhí)行重疊,除程序分支外,所有33條指令均在一個(gè)周期內(nèi)執(zhí)行。
2.2 靈活的尋址方式
PIC16C5X可以直接或間接尋址其寄存器文件和數(shù)據(jù)存儲(chǔ)器,所有特殊功能寄存器(包括程序計(jì)數(shù)器)都映射在數(shù)據(jù)存儲(chǔ)器中。其高度正交(對稱)的指令集使得可以使用任何尋址模式對任何寄存器執(zhí)行任何操作,編程簡單高效,學(xué)習(xí)曲線也大大縮短。
2.3 強(qiáng)大的ALU
PIC16C5X包含一個(gè)8位ALU和工作寄存器,ALU是一個(gè)通用算術(shù)單元,能夠執(zhí)行加法、減法、移位和邏輯運(yùn)算等算術(shù)和布爾函數(shù)。在雙操作數(shù)指令中,通常一個(gè)操作數(shù)是W(工作)寄存器,另一個(gè)操作數(shù)可以是文件寄存器或立即常量;在單操作數(shù)指令中,操作數(shù)可以是W寄存器或文件寄存器。
三、振蕩器配置
PIC16C5X可以在四種不同的振蕩器模式下運(yùn)行,用戶可以通過編程兩個(gè)配置位(FOSC1:FOSC0)來選擇其中一種模式:
3.1 晶體/陶瓷諧振器模式(XT、LP、HS)
在XT、LP或HS模式下,需要將晶體或陶瓷諧振器連接到OSC1/CLKIN和OSC2/CLKOUT引腳以建立振蕩。需要注意的是,PIC16C5X振蕩器設(shè)計(jì)需要使用并聯(lián)切割晶體,使用串聯(lián)切割晶體可能會(huì)導(dǎo)致頻率超出制造商的規(guī)格。此外,在這些模式下,設(shè)備可以由外部時(shí)鐘源驅(qū)動(dòng)OSC1/CLKIN引腳。
3.2 RC振蕩器模式
對于對定時(shí)不敏感的應(yīng)用,RC振蕩器選項(xiàng)可以進(jìn)一步節(jié)省成本。RC振蕩器的頻率受電源電壓、電阻(REXT)和電容(CEXT)值以及工作溫度的影響,并且由于正常的工藝參數(shù)變化,不同單元之間的振蕩器頻率也會(huì)有所不同。為了保證振蕩器的穩(wěn)定性,建議將REXT保持在3k?到100k?之間,并使用大于20pF的外部電容。
四、復(fù)位機(jī)制
PIC16C5X設(shè)備可以通過以下幾種方式進(jìn)行復(fù)位:上電復(fù)位(POR)、MCLR復(fù)位(正常操作)、MCLR喚醒復(fù)位(從SLEEP模式)、看門狗定時(shí)器復(fù)位(正常操作)和看門狗定時(shí)器喚醒復(fù)位(從SLEEP模式)。不同的復(fù)位條件會(huì)設(shè)置或清除(overline{TO})和(overline{PD})位(STATUS<4:3>),這些位可以用于確定復(fù)位的性質(zhì)。
4.1 上電復(fù)位(POR)
PIC16C5X系列內(nèi)置了上電復(fù)位(POR)電路,在大多數(shù)上電情況下提供內(nèi)部芯片復(fù)位。為了使用此功能,用戶只需將MCLR/VPP引腳連接到VDD。在某些情況下,如VDD上升過慢,建議使用外部RC電路來實(shí)現(xiàn)更長的POR延遲時(shí)間。
4.2 設(shè)備復(fù)位定時(shí)器(DRT)
設(shè)備復(fù)位定時(shí)器(DRT)提供了一個(gè)標(biāo)稱18ms的超時(shí)時(shí)間,無論使用何種振蕩器模式,只要DRT處于活動(dòng)狀態(tài),處理器就會(huì)保持復(fù)位狀態(tài)。DRT延遲允許VDD上升到VDD min以上,并使振蕩器穩(wěn)定,大多數(shù)情況下無需外部RC網(wǎng)絡(luò)連接到MCLR輸入,從而節(jié)省了成本敏感和/或空間受限應(yīng)用的成本。
4.3 欠壓復(fù)位
當(dāng)設(shè)備電源(VDD)降至最小值以下但未降至零,然后恢復(fù)時(shí),設(shè)備應(yīng)進(jìn)行復(fù)位??梢詷?gòu)建外部欠壓保護(hù)電路來實(shí)現(xiàn)這一功能。
五、存儲(chǔ)器組織
5.1 程序存儲(chǔ)器組織
PIC16C54、PIC16CR54和PIC16C55的9位程序計(jì)數(shù)器(PC)可尋址512 x 12的程序存儲(chǔ)器空間;PIC16C56和PIC16CR56的10位PC可尋址1K x 12的程序存儲(chǔ)器空間;PIC16CR57、PIC16C58和PIC16CR58的11位PC可尋址2K x 12的程序存儲(chǔ)器空間。所有程序存儲(chǔ)器均為內(nèi)部存儲(chǔ)器。
5.2 數(shù)據(jù)存儲(chǔ)器組織
數(shù)據(jù)存儲(chǔ)器由寄存器或RAM字節(jié)組成,分為特殊功能寄存器和通用寄存器兩個(gè)功能組。特殊功能寄存器包括TMR0寄存器、程序計(jì)數(shù)器(PC)、狀態(tài)寄存器、I/O寄存器(端口)和文件選擇寄存器(FSR)等,用于控制I/O端口配置和預(yù)分頻器選項(xiàng);通用寄存器用于存儲(chǔ)數(shù)據(jù)和控制信息。
六、I/O端口
I/O寄存器可以在程序控制下進(jìn)行讀寫操作,但讀指令(如MOVF PORTB,W)始終讀取I/O引腳,而不考慮引腳的輸入/輸出模式。復(fù)位時(shí),所有I/O端口均定義為輸入(輸入處于高阻抗?fàn)顟B(tài)),因?yàn)镮/O控制寄存器(TRISA、TRISB、TRISC)均被設(shè)置。
6.1 端口介紹
- PORTA:是一個(gè)4位I/O寄存器,僅使用低4位(RA<3:0>),位7 - 4未實(shí)現(xiàn),讀取時(shí)為'0'。
- PORTB:是一個(gè)8位I/O寄存器(PORTB<7:0>)。
- PORTC:對于PIC16C55、PIC16C57和PIC16CR57是8位I/O寄存器,對于PIC16C54、PIC16CR54、PIC16C56、PIC16CR56、PIC16C58和PIC16CR58是通用寄存器。
6.2 TRIS寄存器
TRIS寄存器是寫-only寄存器,復(fù)位時(shí)設(shè)置(輸出驅(qū)動(dòng)器禁用)。TRIS寄存器的位為'1'時(shí),對應(yīng)的輸出驅(qū)動(dòng)器處于高阻抗(輸入)模式;位為'0'時(shí),輸出數(shù)據(jù)鎖存器的內(nèi)容將輸出到所選引腳,使能輸出緩沖器。
6.3 I/O編程注意事項(xiàng)
一些指令在內(nèi)部作為讀 - 寫操作執(zhí)行,如BCF和BSF指令,在應(yīng)用于一個(gè)或多個(gè)引腳用作輸入/輸出的端口時(shí)需要謹(jǐn)慎使用,以免覆蓋數(shù)據(jù)鎖存器的內(nèi)容。此外,在對I/O端口進(jìn)行寫操作后緊接著進(jìn)行讀操作時(shí),需要確保引腳電壓穩(wěn)定,避免讀取到錯(cuò)誤的狀態(tài)。
七、定時(shí)器0模塊
定時(shí)器0模塊具有8位定時(shí)器/計(jì)數(shù)器寄存器TMR0,可讀可寫;8位軟件可編程預(yù)分頻器;可選擇內(nèi)部或外部時(shí)鐘源,并可選擇外部時(shí)鐘的邊沿。
7.1 定時(shí)器模式
通過清除T0CS位(OPTION<5>)選擇定時(shí)器模式,在此模式下,定時(shí)器0模塊將在每個(gè)指令周期遞增(無預(yù)分頻器)。如果寫入TMR0寄存器,遞增將在接下來的兩個(gè)周期內(nèi)被禁止,用戶可以通過寫入調(diào)整后的值來解決這個(gè)問題。
7.2 計(jì)數(shù)器模式
通過設(shè)置T0CS位(OPTION<5>)選擇計(jì)數(shù)器模式,在此模式下,定時(shí)器0將在T0CKI引腳的每個(gè)上升或下降沿遞增,遞增邊沿由源邊沿選擇位TOSE(OPTION<4>)確定。
7.3 預(yù)分頻器
預(yù)分頻器可由定時(shí)器0模塊或看門狗定時(shí)器使用,但不能同時(shí)使用。通過PSA和PS<2:0>位(OPTION<3:0>)確定預(yù)分頻器的分配和分頻比。當(dāng)分配給定時(shí)器0模塊時(shí),所有寫入TMR0寄存器的指令將清除預(yù)分頻器;當(dāng)分配給看門狗定時(shí)器時(shí),CLRWDT指令將清除預(yù)分頻器和看門狗定時(shí)器。
八、特殊功能
8.1 配置位
配置位可用于選擇各種設(shè)備配置,包括振蕩器類型選擇和看門狗定時(shí)器使能位,以及代碼保護(hù)位。不同型號(hào)的設(shè)備代碼保護(hù)位數(shù)量不同。
8.2 看門狗定時(shí)器(WDT)
看門狗定時(shí)器(WDT)是一個(gè)獨(dú)立的RC振蕩器,可通過配置位WDTE永久禁用。它具有標(biāo)稱18ms的超時(shí)時(shí)間(無預(yù)分頻器),通過軟件控制可分配預(yù)分頻器,最大超時(shí)時(shí)間可達(dá)約2.3秒。CLRWDT指令可清除WDT和預(yù)分頻器,SLEEP指令可復(fù)位WDT和預(yù)分頻器。
8.3 低功耗模式(SLEEP)
通過執(zhí)行SLEEP指令可進(jìn)入低功耗模式。在此模式下,若看門狗定時(shí)器啟用,它將被清除但繼續(xù)運(yùn)行,(overline{TO})位(STATUS<4>)置位,(overline{PD})位(STATUS<3>)清零,振蕩器驅(qū)動(dòng)器關(guān)閉,I/O端口保持SLEEP指令執(zhí)行前的狀態(tài)。設(shè)備可以通過外部復(fù)位輸入或看門狗定時(shí)器超時(shí)復(fù)位(如果WDT已啟用)從SLEEP模式喚醒。
8.4 程序驗(yàn)證/代碼保護(hù)
如果代碼保護(hù)位未編程,可讀取片上程序存儲(chǔ)器進(jìn)行驗(yàn)證。需要注意的是,Microchip不建議對帶窗口的設(shè)備進(jìn)行代碼保護(hù)。
8.5 ID位置
四個(gè)內(nèi)存位置被指定為ID位置,用戶可以存儲(chǔ)校驗(yàn)和或其他代碼識(shí)別號(hào)。這些位置在正常執(zhí)行期間不可訪問,但在編程/驗(yàn)證期間可讀可寫。
九、開發(fā)支持
PIC16C5X系列得到了全方位的硬件和軟件開發(fā)工具的支持,包括集成開發(fā)環(huán)境(MPLAB? IDE軟件)、匯編器/編譯器/鏈接器、模擬器、仿真器、在線調(diào)試器、設(shè)備編程器和低成本演示板等。這些工具為開發(fā)者提供了便利,提高了開發(fā)效率。
十、電氣特性
文檔詳細(xì)介紹了PIC16C5X系列不同型號(hào)在不同溫度范圍(商業(yè)、工業(yè)、擴(kuò)展)下的電氣特性,包括絕對最大額定值、直流特性和交流特性等。這些特性為工程師在設(shè)計(jì)電路時(shí)提供了重要的參考依據(jù),確保設(shè)備在正常工作條件下穩(wěn)定運(yùn)行。
總結(jié)
Microchip的PIC16C5X系列8位微控制器以其高性能、豐富的特性和廣泛的應(yīng)用領(lǐng)域,為電子工程師提供了一個(gè)強(qiáng)大而可靠的選擇。通過深入了解其架構(gòu)、功能和電氣特性,工程師可以充分發(fā)揮其優(yōu)勢,設(shè)計(jì)出更加優(yōu)秀的電子系統(tǒng)。在實(shí)際應(yīng)用中,我們還需要根據(jù)具體需求選擇合適的型號(hào)和配置,合理使用各種功能,以達(dá)到最佳的性能和成本效益。希望本文能對大家在使用PIC16C5X系列微控制器時(shí)有所幫助,你在使用過程中有遇到什么問題或者有什么獨(dú)特的應(yīng)用經(jīng)驗(yàn),歡迎在評(píng)論區(qū)分享交流。
-
電子工程
+關(guān)注
關(guān)注
1文章
137瀏覽量
17596 -
8位微控制器
+關(guān)注
關(guān)注
0文章
8瀏覽量
1326
發(fā)布評(píng)論請先 登錄
PIC16C5X單片機(jī)程序存儲(chǔ)器
PIC16C5X的時(shí)鐘振蕩器
PIC16c5x單片機(jī)設(shè)計(jì)
Microchip推出六款8位核心的PIC 16F193X系列的MCU
PIC16C5X CPU項(xiàng)目總結(jié)
8位微控制器 -MCU ?PIC16F1503-I/SL
探索Microchip PIC16C5X系列8位微控制器的魅力
評(píng)論