freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

pic12c5xx單片機(jī)應(yīng)用與設(shè)計(jì)(編輯修改稿)

2025-07-26 19:12 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ;定義存儲(chǔ)區(qū)地址0 MOVWF OSCCAL ;把W中的校正系數(shù)置入OSCCAL。167。 復(fù) 位(RESET)PIC12C5XX有各種各樣原因造成的芯片復(fù)位: 芯片上電 2.、MCLR端加低電平 看門狗WDT超時(shí)溢出 睡眠中某些I/O口線電平發(fā)生變化當(dāng)芯片處于復(fù)位狀態(tài)時(shí),所有I/O口線都處于輸入狀態(tài)(高阻態(tài)),看門狗WDT和預(yù)分頻器都被清零。 片內(nèi)復(fù)位電路(暫缺)167。 復(fù)位定時(shí)器(DRT)復(fù)位定時(shí)器DRT(在PIC16C5X 中我們稱其為OST)是為了使芯片的復(fù)位可靠安全而設(shè)計(jì)。在PIC12C5XX中,對(duì)于XT和LP振蕩方式,上電后它們還需要一定的時(shí)間來(lái)建立穩(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)定下來(lái),然后芯片即脫離復(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),然后再重新開(kāi)始運(yùn)行程序。注意,在振蕩方式是外部RC或內(nèi)部RC時(shí),DRT都關(guān)閉不起作用。167。 芯片上電復(fù)位(POR)PIC12C5XX在芯片內(nèi)集成有上電復(fù)位電路。當(dāng)芯片電源電壓VDD上升到一定值時(shí)(),檢測(cè)電路即會(huì)發(fā)出復(fù)位脈沖使芯片復(fù)位。167。 MCLR復(fù)位PIC12C5XX的GP3/MCLR端可以由用戶定義為普通輸入口GP3或復(fù)位端MCLR,如下圖: GP3/MCLR端電路(暫缺)具體方法參見(jiàn)167。一旦用戶選擇MCLR功能,則該端輸入低電平會(huì)使芯片進(jìn)入復(fù)位狀態(tài)。167。 外部復(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ù)位電路來(lái)延長(zhǎng)復(fù)位時(shí)間,如下圖: 外部復(fù)位電路 這個(gè)電路可以使VDD上升到標(biāo)準(zhǔn)值一段時(shí)間后,MCLR才會(huì)上升到高電平,從而啟動(dòng)DRT計(jì)時(shí)18ms后才進(jìn)入運(yùn)行。這樣可以延長(zhǎng)整個(gè)復(fù)位過(guò)程,保障芯片復(fù)位后進(jìn)入正常運(yùn)行。167。 掉電復(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ù)位鎖定的電路: 掉電復(fù)位鎖定當(dāng)VDD電壓恢復(fù)上升到標(biāo)準(zhǔn)值以上后,MCLR端恢復(fù)為高,從而使芯片恢復(fù)正常運(yùn)行。167。 復(fù)位對(duì)寄存器的影響對(duì)于通用寄存器來(lái)說(shuō),上電復(fù)位后它們的值是隨機(jī)不定的,其他類型的復(fù)位后則保持原值不變。對(duì)于特殊寄存器,各種復(fù)位后它們都會(huì)等于一個(gè)固定的復(fù)位值,見(jiàn)以下二表:寄存器地址上電復(fù)位值MCLR復(fù)位WDT復(fù)位引腳變化喚起復(fù)位W—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 GPIO06hxx xxxxuu OPTION—1111 11111111 1111TRIS—11 111111 1111u: 未變; x: 隨機(jī)值; : 未用; ?: 其值取決于復(fù)位方式注1:由于在復(fù)位向量處存放著MOVLW XX指令,其中XX為內(nèi)部RC振蕩校正系數(shù),所以復(fù)位后W7:4即會(huì)等于這個(gè)值。注2:。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 1uuu1111 1111睡眠時(shí)I/O腳電平變化喚醒復(fù)位 1001 0uuuu1111 1111 u:未變; x:隨機(jī).b. 復(fù)位對(duì)STATUS和PC的影響 各種復(fù)位對(duì)特殊寄存器的影響167。 復(fù)位的鑒別PIC12C5XX有多種原因都可引起芯片復(fù)位。在程序中判斷芯片復(fù)位的原因有時(shí)是非常必要的,例如上電復(fù)位后程序一般都要做一些寄存器初始化工作,而別的復(fù)位后則可以不做初始化而直接進(jìn)入控制運(yùn)行。在狀態(tài)寄存器STATUS有三個(gè)位(GRWUF、TO、PD)可用來(lái)標(biāo)識(shí)各種復(fù)位狀態(tài),見(jiàn)下表: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)的事件 復(fù)位對(duì)STATUS的影響 例:要判斷是否芯片上電。 BTFSS STATUS,TO ;TO=1 ? GOTO NO_POWERUP BTFSS STATUS,PD ;PD=1 ? GOTO NO_POWERUP INIT … ;TO=1,PD=1。芯片上電,做初始化。167。 睡眠模式(Sleep)進(jìn)入SLEEP執(zhí)行一條“SLEEP”指令即可進(jìn)入低功耗睡眠模式。當(dāng)進(jìn)入SLEEP后,WDT被清零,然后重新開(kāi)始計(jì)數(shù)。狀態(tài)寄存器STATUS中的PD位被置成“0”,TO位置成“1”,同時(shí)振蕩停止(指OSC1端的振蕩電路)。所有的I/O口保持原來(lái)的狀態(tài)。這種工作模式功耗最低。為使耗電流最小,進(jìn)入SLEEP前,應(yīng)使所有的I/O口處于高電平VDD或低電平VSS,而不應(yīng)使其處于高阻態(tài),以免產(chǎn)生開(kāi)關(guān)電流損耗??梢栽贗/O口加上拉或下拉電阻,或者把I/O口都置成輸出態(tài)來(lái)避免其處于高阻態(tài)(浮態(tài))。RTCC端亦應(yīng)置為VDD或VSS(通過(guò)上拉或下拉)。MCLR必須處于高電平狀態(tài)。喚醒SLEEPSLEEP可被WDT溢出喚醒,或在MCLR端加低電平喚醒SLEEP或GP0、GPGP3電平發(fā)生變化。第二種喚醒方法經(jīng)常用在以下應(yīng)用場(chǎng)合:在系統(tǒng)主電源掉電,并由后備電源(電池)供電后,執(zhí)行“SLEEP”指令進(jìn)入低功耗模式,這樣電池就可長(zhǎng)時(shí)間保持系統(tǒng)數(shù)據(jù)。當(dāng)主電源恢復(fù)供電時(shí),讓其在MCLR產(chǎn)生一低電平喚醒SLEEP,并重新復(fù)位。這樣需在MCLR端加一外部復(fù)位電路。第三種方法則在需要使用系統(tǒng)時(shí)喚醒睡眠中的單片機(jī),它常通過(guò)按鍵輸入來(lái)實(shí)現(xiàn)。系統(tǒng)上電時(shí),STATUS的PD被置為“1”,而執(zhí)行“SLEEP”指令后,PD位被置成“0”。所以通過(guò)PD位可以判斷系統(tǒng)是從SLEEP模式喚醒而復(fù)位,還是上電后的復(fù)位。STATUS中的TO位則可判斷當(dāng)處于SLEEP狀態(tài)的系統(tǒng)是由WDT溢時(shí)喚醒或是由外界給MCLR端一個(gè)低電平喚醒。這些區(qū)別有時(shí)是很重要的,特別是對(duì)系統(tǒng)的一些初始化工作來(lái)說(shuō)。167。 系統(tǒng)定義字(Configuration)在PIC12C5XX中有一個(gè)12位長(zhǎng)的系統(tǒng)定義字單元,其中只用了前5位(bit0~bit4),用來(lái)定義單片機(jī)的一些系統(tǒng)性能選擇,如下圖: 系統(tǒng)定義字系統(tǒng)定義字屬特殊的空間,不占用芯片的程序存儲(chǔ)器,不能由程序指針(用戶程序)訪問(wèn),用戶可以用燒寫(xiě)器對(duì)其進(jìn)行編程,參見(jiàn)燒寫(xiě)器章節(jié)中的描述。程序保密位被置為“0”后,程序存儲(chǔ)區(qū)中的程序代碼(12位)中的高8位將被遮沒(méi)。具體地說(shuō),就是加密后再用燒寫(xiě)器讀該芯片的程序區(qū)時(shí),每一個(gè)程序代碼都呈現(xiàn)00X的形式,這樣別人就無(wú)法恢復(fù)這些被加密的代碼,因此也就無(wú)法進(jìn)行復(fù)制拷貝。加密后的單片機(jī)的功能不會(huì)受任何影響,加密后的程序代碼并不影響其在芯片內(nèi)的運(yùn)行,而只是不能再被還原讀出來(lái)。167。 ID碼PIC12C5XX芯片中有一個(gè)16位的標(biāo)識(shí)碼(稱為ID碼),用來(lái)作芯片標(biāo)識(shí)。ID碼僅起芯片識(shí)別作用,用戶可在燒寫(xiě)器上將其燒入和讀出作芯片識(shí)別(如燒入日期等),但不會(huì)對(duì)芯片功能產(chǎn)生任何影響,即不使用它也沒(méi)有關(guān)系。第二章 PIC12C5XX 指令集及程序設(shè)計(jì)技巧167。 PIC12C5XX 指令概述PIC12C5XX每條指令長(zhǎng)12位,指令由操作碼和操作數(shù)組成。PIC12C5XX共有33條指令,按操作分成三大類: 面向字節(jié)操作類 面向位操作類 常數(shù)操作和控制操作類。 面向字節(jié)操作類指令(116)(5)(40) OPCODEdf(FILE) 二進(jìn)制代碼 HEX 名稱 助記符,操作數(shù) 操作 狀態(tài)影響注0000 0000 0000 000 空操作 NOP 無(wú) 0000 001f ffff 02f W送到f MOVWF f W→f 無(wú) 1,4 0000 0100 0000 040 W清零 CLRW 0→W Z 0000 011f ffff 06f f清零 CLRF f 0→f Z 4 0000 10df ffff 08f f減去W SUBWF f,d fW→d C,DC,Z 1,2,4 0000 11df ffff 0Cf f遞減 DECF f,d f1→d Z 2,4 0001 00df ffff 10f W和f做或運(yùn)算 IORWF f,d W∨f→d Z 2,4 0001 01df ffff 14f W和f做與運(yùn)算 ANDWF f,d W∧f→d Z 2,4 0001 10df ffff 18f W和f做異或運(yùn)算 XORWF f,d W〇f→d Z 2,4 0001 11df ffff 1Cf W加f ADDWF f,d W+f→d C,DC,Z 1,2,4 0010 00df ffff 20f 傳送f到d MOVF f,d f→d Z 2,4 0010 01df ffff 24f f取補(bǔ) COMF f,d f→d Z 2,4 0010 10df ffff 28f f遞增 INCF f,d f+1→d Z 2,4 0010 11df ffff 2Cf f遞減,為0則跳 DECFSZ f,d f1→d,skip if zero Z 2,4 0011 00df ffff 30f f循環(huán)右移 RRF f,d f(n)→d(n1),f(0)→C,C→d(7) C 2,4 0011 01df ffff 34f f循環(huán)左移 RLF f,d f(n)→d(n+1),f(7)→C,C→d(0) C 2,4 0011 10df ffff 38f f半字節(jié)交換 SWAPF f,d f()←→f(47)→d Z 2,4 0011 11df ffff 3Cf f遞增,為0則跳 INCFSZ f,d f+1→d,skip if zero Z 2,4 面向位操作類指令(118)(75)(40) OPCODEb(BIT)f(FILE) 二進(jìn)制代碼 HEX 名稱 助記符,操作數(shù) 操作 狀態(tài)影響注0100 bbbf ffff 4bf 清除f的位b BCF f,b 0→f(b) Z 2,4 0101 bbbf ffff 5bf 設(shè)置f的位b BSF f,b 1→f(b) Z 2,4 0110 bbbf ffff 6bf 測(cè)試f的位b,為0則跳 BTFSC f,b Test bit(b) in file(f):Skip if clear Z 0111 bbbf ffff 7bf 測(cè)試f的位b,為0則跳 BTFSS f,b Test bit(b) in file(f):Skip if clear Z 常數(shù)操作和控制操作類指令(118)(70) OPCODE k(LITERAL) 二進(jìn)制代碼 HEX 名稱 助記符,操作數(shù) 操作 狀態(tài)影響注0000 0000 0010 002 寫(xiě)OPTION寄存器 OPTION W→OPTION register 無(wú) 0000 0000 0011 003 進(jìn)入睡眠狀態(tài) SLEEP 0→WDT,stop oscillator TO,PD 0000 0000 0100 004 清除WDT計(jì)時(shí)器 CLRWDT 0→WDT(and prescaler,if assigned) TO,PD 0000 0000 0fff 00f 設(shè)置I/O狀態(tài) TRIS f W→I/O control register f 無(wú) 3 1000 kkkk kkkk 8kk 子程序帶參數(shù)返回 RETLW k k→W,Stack→PC 無(wú) 1001 kkkk kkkk 9kk 調(diào)用子程序 CALL k PC+1→Stack,K→PC 無(wú) 1 101k kkkk kkkk Akk 跳轉(zhuǎn)(K為9位) GOTO k k→PC(9 bits) 無(wú) 1100 kkkk kkkk Ckk 常數(shù)置入W MOVLW k k→W Z 1101 kkkk kkkk Dkk 常數(shù)和W做或運(yùn)算 IORLW k k∨W→W Z 1110 kkkk kkkk Ekk 常數(shù)和W做與運(yùn)算 ANDLW k k∧W→W Z 1111 kkkk kkkk Fkk 常數(shù)和W做異或運(yùn)算 XORLW k k○W→W Z                  PIC12C5XX 指令集 注:除GOTO指令外,任何有關(guān)寫(xiě)PC(F2)的指令(例如 CALL、MOVWF 2)都將會(huì)把PC寄存器的第9位清零。   若對(duì)I/O口寄存器進(jìn)行操作,如“SUBWF 6,1”,則使用的F6的值是當(dāng)前GP口上的狀態(tài)值,而非GP口輸出鎖存器里的值。 指令“TRIS 6”將W寄存器中的內(nèi)容寫(xiě)入GP的I/O口控制寄存器中:“1”關(guān)斷對(duì)應(yīng)端口的輸出緩沖器,使其為輸入(高阻)狀態(tài),“0”則使其為輸出態(tài)。    當(dāng)預(yù)分頻器(Prescaler)分配給TIMER0后,任何對(duì)TMR0寄存器(F1)寫(xiě)操作的指令都將使預(yù)分頻器清零。167。 PIC12C5XX 指令尋址方式PIC12C5XX單片機(jī)尋址方式根據(jù)操作數(shù)的來(lái)源,可分為寄存器間接尋址、立即數(shù)尋址、直接尋址和位尋址四種。一、寄存器間接尋址這種尋址方式通過(guò)寄存器F0(INDF)、F4(FSR)來(lái)實(shí)現(xiàn)。實(shí)際的寄存器地址放在FSR中,通過(guò)INDF來(lái)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1