ds n76esc rev1 00數(shù)據(jù)手冊nuvoton1t8051內(nèi)核微控制器n76e616_第1頁
ds n76esc rev1 00數(shù)據(jù)手冊nuvoton1t8051內(nèi)核微控制器n76e616_第2頁
ds n76esc rev1 00數(shù)據(jù)手冊nuvoton1t8051內(nèi)核微控制器n76e616_第3頁
ds n76esc rev1 00數(shù)據(jù)手冊nuvoton1t8051內(nèi)核微控制器n76e616_第4頁
ds n76esc rev1 00數(shù)據(jù)手冊nuvoton1t8051內(nèi)核微控制器n76e616_第5頁
已閱讀5頁,還剩174頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

概 特 結(jié)構(gòu)框 管腳分布 內(nèi)存架 程序內(nèi) 數(shù)據(jù)存儲 片上 非可變數(shù)據(jù)存 特殊功能寄存器 通用80C51系統(tǒng)控 I/O端口結(jié)構(gòu)和操 準(zhǔn)雙向模 推挽輸出模 輸入高阻模 開漏模 讀-修改-寫指 I/O端口的控制寄存 輸入輸出數(shù)據(jù)控 輸出模式控 輸入類型和輸出能力控 定時(shí)器/計(jì)數(shù)器0和 模式0(13位定時(shí)器 模式1(16位定時(shí)器 模式2(8位自動重裝載定時(shí)器 模式3(兩組獨(dú)立8位定時(shí)器 定時(shí)器 自動重載模 PWM模 定時(shí)器2控制寄存 定時(shí)器 看門狗定時(shí)器 超時(shí)復(fù)位定時(shí) 通用定時(shí) 自喚醒定時(shí)器 串口 模式 模式 模式 模式 波特 幀錯(cuò)檢 多機(jī)通 地址自動識 2IC總 功能描 起始START及結(jié)束STOP條 7位地址和數(shù)據(jù)格 應(yīng)答 仲 I2C控制寄存 工作模 主機(jī)發(fā)送模 主機(jī)接收模 從機(jī)接收模 從機(jī)發(fā)送模 廣播呼叫模 狀態(tài) I2C中斷服務(wù)程序范 I2C超 I2C中 引腳中 10位模數(shù)轉(zhuǎn)換- 功能描 ADC工作方 ADC轉(zhuǎn)換結(jié)果比較 ADC控制寄存 LCD驅(qū) 功能描 LCD控制寄存 LCD程序流 時(shí)控保護(hù) 中斷系 中斷概 中斷使 中斷優(yōu)先 中斷服 中斷延 外部中 在應(yīng)用編程 IAP命 IAP用戶指 使用FLASH存儲器作為數(shù)據(jù)存 在系統(tǒng)編程 電源管 空閑模 掉電模 時(shí)鐘系 時(shí)鐘 內(nèi)部振蕩 外部晶體振蕩器或時(shí)鐘輸 系統(tǒng)時(shí)鐘切 系統(tǒng)時(shí)鐘除 系統(tǒng)時(shí)鐘輸 電源管 上電復(fù)位 欠壓檢測 復(fù) 上電復(fù) 欠壓復(fù) 外部復(fù)位引腳復(fù) 看門狗定時(shí)器復(fù) 軟件復(fù) 啟動選 復(fù)位狀 輔助功 雙 96位唯一識別碼 在片上調(diào)試 功能描 OCD限制條 在電路編程 配置字(CONFIG 指令 電氣特 絕對最大額定 直流電氣特 交流電氣特 模擬電氣特 封裝信 文件版 N76E616是一個(gè)內(nèi)嵌FLASH、8位高性能1T基于8051核的微控制器。指令集完全兼容標(biāo)準(zhǔn)和增強(qiáng)型的的716內(nèi)嵌18K的FH存儲區(qū),通常稱作AOM,用于存放用戶程序代碼。該存儲區(qū)支持IP燒寫功能,即可通過片內(nèi)固件更新程序代碼,P功能同時(shí)提供用戶可自行配置加密程序區(qū)或數(shù)據(jù)存儲區(qū),也可通過P指令或C指令讀取任一區(qū)域內(nèi)數(shù)據(jù)。另外616還配置額外具有一存儲區(qū)稱作M,該區(qū)域可存放用于執(zhí)行IS(otce),LROM區(qū)域從8K的OOG配置大小,最多可配置到4K字節(jié)。整個(gè)1KFLAH區(qū)域還支持P編程方式,即通過片外O由總線方式燒寫片內(nèi)FLSLSH66提供豐富的外設(shè)包括5字節(jié)的和26字節(jié)的外部R,最大到6個(gè)O口,兩個(gè)6位定1帶W1U2識別,一個(gè)IC,8通道共享引腳中斷用于所有I/O,一個(gè)10位的ADC,和最大到180段的LCD驅(qū)動。外設(shè)配備712Hz到16H8kH外0k內(nèi)部震蕩器,和一個(gè)159H內(nèi)部精確振蕩器,它在常溫下達(dá)到%的精度。616提供額外電源監(jiān)測,例如上電復(fù)位和4級欠壓檢測,有穩(wěn)定的電源通斷性能用于高可靠的系統(tǒng)設(shè)66微控制器操作功耗非常低,有兩種經(jīng)濟(jì)的電源模式用來減少電源的消耗空閑模式和掉電模式。軟件可以選擇空閑模式關(guān)閉U時(shí)鐘,但是允許外設(shè)繼續(xù)工作。掉電模式停止整個(gè)系統(tǒng)時(shí)鐘用于最小的功耗。帶有高性能的CPU核和豐富的外設(shè),N76E616全靜態(tài)設(shè)計(jì)81T基于8051CMOS微控制器工作2.4V內(nèi)存18KAPROM4K/3K/2K/1K/0KLDROM用于啟動ISPFLASH內(nèi)存每256FLASH20,000次擦寫壽命代碼安全加密256256RAMXRAMMOVX指令訪問UID(唯一碼11.059MHz±1%,10kHz2MHz16MHz高速外部晶振32.768kHz低速外部晶振外部時(shí)鐘輸入通過軟件切換時(shí)鐘源可編程系統(tǒng)時(shí)鐘分頻,最大到外設(shè)45I/O???????????1622A/2B/2C/2D支持自動重載模式和PWM(WDT),時(shí)鐘源為內(nèi)部10kHzUART八通道引腳中斷,與所有I/O端口共享。邊沿/一個(gè)10位ADC,最大到300ksps4COM32SEG6COM/30SEG配置的LCD電源管理電源監(jiān)測(BOD4-ESDEFT開發(fā)工具(OCD)KEILTM部分型號和封裝18KLDROM4K3-1N76E616

8-bitInternalP08-bitInternalAIN0~COM0~COM5SEG0~

AnyI/O3-14-1.4-1.LQFP-484–1.復(fù)合功能描述地:P0:端口0是可位尋址的8I/O AIN0:ADC 外部計(jì)數(shù)輸入到定時(shí)器/計(jì)數(shù)器00./AIN1??????? 端口0管腳AIN1:ADC輸入通道??? 端口0管腳AIN2:ADC輸入通道 端口0管腳AIN3:ADC輸入通道 端口0管腳AIN4:ADC輸入通道 端口0管腳AIN5:ADC輸入通道 端口0管腳AIN6:ADC 端口0管腳AIN7:ADC輸入通道CLO:SEG31:LCDsegment31輸出P1:端口1是可位尋址的8I/O1 端口1管腳COM0:LCDcommon0輸出2 端口1管腳COM1:LCDcommon1輸出3 端口1管腳COM2:LCDcommon24P1.3/?????? 端口1管腳??????:1輸入COM3:LCDcommon3輸出P1.4:端口1管腳 外部計(jì)數(shù)輸入到定時(shí)器/計(jì)數(shù)器1,或是輸出SEG7:LCDsegment7輸出P1.5:Port1管腳T2AO12A輸出SEG8:LCDsegment8輸出P1.6:端口1管腳T2AO22ASEG9:LCDsegment9輸出 端口1管腳T2BO12BSEG10:LCDsegment10輸出4–1.復(fù)合功能描述P2:端口2是可位尋址的8位I/O 端口2 SEG11:LCDsegment11輸出 端口2 串行端口0SEG12:LCDsegment12輸出 端口2 串行端口0SEG13:LCDsegment13輸出 端口22 IC數(shù)據(jù)SEG14:LCDsegment14輸出 端口22 IC時(shí)鐘SEG15:LCDsegment15輸出 端口2SEG16:LCDsegment16輸出 端口2T2CO1:2C輸出SEG17:LCDsegment17輸出 端口2 SEG18:LCDsegment18輸出P3:端口3是可位尋址的7I/O端口,P3.6 端口3 SEG27:LCDsegment27 端口3 SEG28:LCDsegment28輸出 當(dāng)HXTLXT沒用到,端口32 HXTLXT被使用,XIN是輸入管腳到內(nèi)部反向放大器。如果ECLK模式使能,XIN是外部時(shí)鐘輸入引腳。SEG29:LCDsegment29輸出 當(dāng)HXTLXT沒用到,端口3bit3 HXTLXT被使用,XOUT是輸出管腳來自內(nèi)部反向放大器。如果ECLK模式使能,它發(fā)出XIN的反向信號。SEG30:LCDsegment30輸出 端口3ICPDA:ICP數(shù)據(jù)輸入或輸出OCDDA:OCD數(shù)據(jù)輸入或輸出4–1.復(fù)合功能描述 ICPOCDCK:OCD3.??????P3.6RPD(CONFIG0.2)配置為0,端口3bit6????:????一個(gè)低電平復(fù)位芯片。??????引腳有一個(gè)內(nèi)部上拉電阻,通過簡單的P4:端口4是可位尋址的7I/O5 端口4 LCDsegment0輸出 LCDcommon4輸出6 端口4 LCDsegment1輸出 LCDcommon5輸出 端口4 LCDsegment2輸出7 端口4 LCDsegment3輸出8 端口4 LCDsegment4輸出9 端口4 LCDsegment5輸出 端口4 LCDsegment6輸出P5:端口4是可位尋址8I/O 端口5 外部觸發(fā)ADC信號 LCDsegment19輸出 端口5 LCDsegment20輸出 端口5 LCDsegment21輸出 端口5 LCDsegment22輸出 端口5 LCDsegment23輸出 端口5 LCDsegment24輸出 端口5 1 LCDsegment25輸出 端口5 1發(fā)送數(shù)據(jù)輸出 LCDsegment26輸出[1]I/O引腳可以配置成中斷引腳,這個(gè)特征沒有在多功能描述里面列出來。詳見章節(jié)16.“引腳中斷R2MHz1632.7684-2數(shù)據(jù)內(nèi)存占用的地址空間獨(dú)立于編程內(nèi)存。在76616中,有6字節(jié)內(nèi)部RM。對于需要更多內(nèi)部M的許65AXOX整個(gè)嵌入的H,作為編程內(nèi)存的功能,被分成三塊。應(yīng)用M(M)正常情況下為用戶代碼,加載M(M)G,RM和OM6字節(jié)。H控制單元支持擦除、編程、和讀模式。5–1.所示。在任何復(fù)位之后CPU從地址0000H用于服務(wù)中斷,中斷服務(wù)位置(叫做中斷向量)中斷引起U跳到中斷服務(wù)子程序(R)開始執(zhí)行的地方。例如外部中斷0被分配到地址H。如果外部中斷0打算使用,它的服務(wù)子程序應(yīng)該從地址03H開始。如果中斷不使用,該地址可以作為通用的編程內(nèi)存。中斷服務(wù)位置間隔為八個(gè)字節(jié):0H用于外部中斷0,0H用于定時(shí)器0,00H用于外部中斷1,01H用18J另外單獨(dú)的編程塊叫做M,它的通常功能是存儲啟動代碼用于P。它可以更新M空間和G字節(jié)。M中的代碼也可以重新編程M。對于M和M的P的細(xì)節(jié)和配置位,請看章節(jié)4“()”RM和LRMUC映射C指針到00H到DM開始的地址。因此U認(rèn)為DM是單獨(dú)的編程內(nèi)存且所有中斷向量獨(dú)立于。76543210出廠默認(rèn)值:1111位LDROMLDROM的大小111=LDROM.APROM18K字節(jié)110=LDROM是1K字節(jié).APROM是17K字節(jié)101=LDROM是2K字節(jié).APROM是16K字節(jié)100=LDROM是3K字節(jié).APROM是15K字節(jié)0xx=LDROM是4K字節(jié).APROM是14K字節(jié)BS= BS=[1]ThelogicboundaryaddressesofAPROMandLDROMaredefinedbyCONFIG1[2:0].5–1.N76E616圖-27616以分割成三塊。分別是RM的低128字節(jié),AM的高8字節(jié),和R空間的128字節(jié)。內(nèi)部數(shù)據(jù)內(nèi)存的地址總是8位寬度的,可用于56字節(jié)的地址空間。直接尋址高于7FH的地址會訪問特殊功能寄存器(R),間接尋址高于H的地址會訪問AM的高8字節(jié)。雖然R地址空間和M高8字節(jié)共享相同的邏輯地址0H到H,事實(shí)上他們是物理獨(dú)立的實(shí)體。直接尋址區(qū)別于M的高28字節(jié),僅可以訪問R。R空間中的16個(gè)R0內(nèi)部RM的低28字節(jié)在所有的051設(shè)備上都有的。最低的2字節(jié)作為通用寄存器分成四組8個(gè)寄存器,程序0PW3)S0和R16(H到F)是(0H到)。5180H到7F。所有低2828R。對于整個(gè)6字節(jié)的內(nèi)部RAM,另外一個(gè)應(yīng)用是用于堆棧。這個(gè)區(qū)域通過堆棧指針()來選擇,P存儲堆棧頂?shù)牡刂?。?dāng)AL、JP或中斷被調(diào)用,返回的地址就存在堆棧里面。沒有限制堆棧從M的什么地方開始。默認(rèn)情況下,在復(fù)位后堆棧指針為0H。用戶可以改變該地址為任何想要的值。P會指向最后使用的值。因此P

256BytesXRAM(MOVXaddressing)256BytesXRAM(MOVXaddressing)Upper128BytesInternalRAM(indirectaddressing)(directLower128BytesInternalRAM(directorindirectIndirectIndirectAccessingDirectorIndirectAccessingRegisterBankRegisterBankRegisterBankRegisterBank

Bit-GeneralPurpose5-3.內(nèi)部256字節(jié)RAMN76E616提供額外的片上256字節(jié)的額外RAM叫做XRAM來擴(kuò)大RAM的空間。它占用地址空間從00H到FFH。這256字節(jié)的XRAM通過MOVE外部指令MOVX@DPTR或MOVX@Ri.(看下面示例代碼)。注意堆棧指針不能位XRAM;write#5AHtoXRAMwithaddress;readfromXRAMwithaddress;write#5BHtoXRAMwithaddress;readfromXRAMwithaddress通過使用IAP,APROM或LDROM任何頁都可以用來作為非易失性數(shù)據(jù)存儲。IAP的細(xì)節(jié),請看章節(jié)21.”在應(yīng)用編程(IAP)”76用特殊功能寄存器(R)來控制或監(jiān)視外設(shè)和其他模塊。R位于地址0到H地址空間,僅可以HHR況下,這是非常有用的。其他所有的R僅可以字節(jié)尋址。N76616包含標(biāo)準(zhǔn)51中出現(xiàn)的所有FR,然而一81R為了在地址0到xF之間提供多于28字節(jié)的R,補(bǔ)充了R頁。默認(rèn)情況下,所有R訪問目的都是R頁0。在設(shè)備初始化過程中位于R頁1的地址可能需要去訪問。寄存器S用來切換R地址頁。注意這。SFRS–SFR頁選擇(TA保護(hù)76543210地址: 復(fù)位值:0000位0SFR0SFR1SFRSFR頁的示例代碼;switchtoSFRpage;switchtoSFRpage6–1.SFR頁0101B0101010101010101--01-01-01--010101--SFR空間中未使用地址 ‘- 標(biāo)記,訪問改寫這些地址字節(jié)會有不可預(yù)知的影響,請避免這種情況6–2.SFR復(fù)位值擴(kuò)展中斷優(yōu)先級高位00000000擴(kuò)展中斷優(yōu)先級0000000LCD--0000000LCD0000000LCD0000000LCD-0000000串口10000000-0000000P00000000ADC0000000BB0000000-0000000輸入捕獲20000000輸入捕獲200000000000000管腳中斷高電平/0000000管腳中斷低電平/000000000000000ADC--00000000000000LCDsegment0000000LCDsegment0000000ADC0000000ADC0000000ADC0000000ADC00100000000000P5模式選擇寄存器0000000P50000000P5模式選擇1111111P4模式選擇-0000000P4-0000000P4模式選擇-01111110Output011111110XXXOutput11111111XXXX2D00000002D00000002C00000002C0000000-000000002B00000002B00000002A00000002A00000000000000定時(shí)器20000000T2APS[20000000定時(shí)器200000006–2.SFR 復(fù)位值00000000定時(shí)器300000000定時(shí)器300000000300000000ADC00000000ADC00000000IC00000000IC---00000000IC0000000000001110000111110000000000000000000100000000000000000-00000000-00000000P2模式選擇P2M200000000P200000000P2模式選擇P2M111111111P100000000P1模式選擇00000000P100000000P1模式選擇11111111P0模式選擇P0M200000000P000000000P0模式選擇P0M111111111Output001111110XXX0011000000000000P300000000P3-00000000P300111111欠壓檢測控制LPBOD[10000000100000UU00000111b00001UU00000000000000000000IAP00000000IAPIAPA[700000000IAP0000000000000000欠壓偵測控制-C0CCXC0XbU0UUXU1U0UU6–2.SFR 復(fù)位值-000000001U00000??????U100000UU00000Output11111111XXXX000000U0000000C0擴(kuò)展中斷使能00000000-00000000串口100000000串口000000000Serialport00000000000110000-001100000000000000000000Output11111111XXXX--0000000000000000定時(shí)器100000000定時(shí)器000000000定時(shí)器100000000定時(shí)器000000000??0000000000000000-00010000000U000000000000000000000000000000000111Output11111111XXXX復(fù)位值符號描述0:0;1:1;U:不變;C:[5];X:[3],[6],復(fù)位之后所有I/O引腳為默認(rèn)懸浮輸入模式。如果RPD(CONFIG0.2)保持未編程1,那么讀回P3.6引腳總是0SFR根據(jù)CONFIG29.“配置字(CONFIGBOF復(fù)位值取決于CONFIG2不同的設(shè)置和VDD當(dāng)欠壓偵測使能,BOS是只讀標(biāo)志,由VDD標(biāo) ‘- 的位保留將來使用。他們必須保持在初始狀態(tài),訪問改寫這些位可能導(dǎo)致不可預(yù)知的后果AorACC–(可位尋址76543210地址: 復(fù)位值:0000位AACC寄存器是標(biāo)準(zhǔn)的80C51BB(可位尋址76543210地址: 復(fù)位值:0000位BB寄存器是另外一個(gè)標(biāo)準(zhǔn)80C51的累加器,它用于MULDIV指令。SP–76543210地址: 復(fù)位值:0000位H或L的默認(rèn)值是H。DPL–76543210地址: 復(fù)位值:0000位這是16位數(shù)據(jù)指針的低字節(jié),DPL結(jié)合DPH作為16位的數(shù)據(jù)指針DPTR訪問想要訪問的RAM或編程內(nèi)存地址。DPS(AUXR1.0)位決定哪一個(gè)數(shù)據(jù)指針DPTR或DPH–76543210地址: 復(fù)位值:0000位這是16位數(shù)據(jù)指針的高字節(jié),DPH結(jié)合DPL作為16位的數(shù)據(jù)指針DPTR訪問想要訪問的RAM或編程內(nèi)存地址。DPS(AUXR1.0)位決定哪一個(gè)數(shù)據(jù)指針DPTR或PSW(可位尋址76543210PR地址: 復(fù)位值:0000位7進(jìn)行加法或減法操作時(shí),當(dāng)前運(yùn)算需要向高位進(jìn)位或借位時(shí),CY在進(jìn)行MULDIV運(yùn)算時(shí),CY始終為0CY受DAA指令影響,用來表示是否初始BCD數(shù)大于100在CJNE指令中,如果第一個(gè)無符號數(shù)的值小于第二個(gè),則CY置1,否則清06當(dāng)前運(yùn)算導(dǎo)致從半字節(jié)的低序第45用戶標(biāo)志4位3這兩位用來選擇R0到R7 寄存器 RAM地 00H 08H 10H 18H2OV用于標(biāo)示發(fā)生溢出。對于加法指令A(yù)DD或ADDC指令中,如果位6有進(jìn)位而位“”“。V也用為“”“。O對于MUL乘法指令,當(dāng)結(jié)果大于255(00FFH)時(shí),OV置1。反之清0對于DIV除法指令,通常情況下OV為0。除非當(dāng)B設(shè)定值為00H,則A和B的返回值為隨機(jī)值,同時(shí)OV置1。1用戶標(biāo)志0P當(dāng)累加結(jié)果為奇數(shù)時(shí),該標(biāo)志置1,偶數(shù)時(shí)清07–1.XXCLR0XXXCPLXXXXANLC,X0XANLC,X0XORLC,XDAXORLC,XRRCXMOVC,XRLCXXSETB1[1]X表示根據(jù)指令的結(jié)果變化PCON–76543210--地址: 復(fù)位值:詳見表6–2.SFR定義及復(fù)位位3通用標(biāo)志通用標(biāo)志可由用戶置位或清零2通用標(biāo)志通用標(biāo)志可由用戶置位或清零66最多支持6個(gè)可位尋址的通用O引腳,分成6組0到5。每一個(gè)端口有它的端口控制寄存器()O引腳(除6)可以被軟件獨(dú)立配置成四中O模式中的一種。這四種模式是準(zhǔn)雙向模式(標(biāo)準(zhǔn)1端口結(jié)M1和x模8–1.管腳I/OI/O00011011所有O引腳可以通過S寄存器里對應(yīng)的位選擇為L電平輸入或施密特觸發(fā)輸入。施密特觸發(fā)輸入有更好的有四個(gè)I/O引腳支持大的輸出或灌電流,包括P1.0到P1.3。默認(rèn)情況下,它們和其他I/O引腳的輸出能力一樣。當(dāng)配置RPD(CONFIG0.2)為0,P3.6被配置為輸入引腳。同時(shí)P3.6將永遠(yuǎn)在輸入和施密特觸發(fā)模式,且有一個(gè)內(nèi)1的O外部器件將電平拉低。當(dāng)引腳被拉低時(shí)有強(qiáng)驅(qū)動能力,會吸收大電流。在準(zhǔn)雙向/O適應(yīng)不同的應(yīng)用。其中一個(gè)上拉叫做特弱上拉,當(dāng)端口鎖定在邏輯1時(shí),打開特弱上拉,若為外部懸空狀態(tài),特第二種上拉為“弱上拉”,當(dāng)外部端口引腳自身處于邏輯1電平時(shí)打開。這種上拉提供源電流以使準(zhǔn)雙向引腳輸出1。如果引腳為邏輯1,被外部器件拉低,“弱上拉”關(guān)閉,僅有“特弱上拉”打開。此時(shí)要將引腳拉低,外部器件要有足夠的灌電流(大于ITL)以克服“弱上拉”,并使端口的電壓低于輸入門限電壓(低于VL)?!扒闆r發(fā)生時(shí),強(qiáng)上拉打開兩個(gè)總線時(shí)鐘的時(shí)間以快速將端口引腳拉高。然后就關(guān)閉,弱上拉和特弱上拉繼續(xù)保PPPPVeryNPortPort8-1.1 Port

Port8-2輸入模式提供真實(shí)的高阻輸入路徑。雖然準(zhǔn)雙向模式也可以作為輸入引腳,但是它需要相對強(qiáng)的輸入源。輸入模0DD Port8-3.開漏輸出配置關(guān)閉所有內(nèi)部上拉,當(dāng)端口鎖定為邏輯0時(shí),僅打開驅(qū)動端口的下拉晶體管。當(dāng)單口鎖存為邏輯1時(shí),它就和輸入模式一樣。通常用于IC輸出線上,開漏引腳需要加一個(gè)外部上拉電阻,典型連一個(gè)電阻到D。1NPortNPort8-4從FR或內(nèi)部M讀一個(gè)字節(jié),修改它,并重新寫回去的指令,叫做讀-修改-寫指令。當(dāng)目的是一個(gè)O端口或一個(gè)端口位,這些指令讀內(nèi)部輸出鎖存而不是外部引腳的狀態(tài),這種指令讀端口R的值,修改它并寫回到SFR--指 描 ANLdirectAANLdirect ORLdirectAORLdirect ORXRLdirect,AXRLdirect 為1轉(zhuǎn)跳指令并清除.(JBCbit,位取反.(CPL加一指令.(INC減一指令DEC減一不為零轉(zhuǎn)跳指令.(DJNZdirect,bit,移進(jìn)位標(biāo)志到位.(MOVbit,清位.(CLR置位.(SETB最后三條指令看似不是明顯的讀-修改-寫指令,實(shí)際也是讀-修改-這些寄存器是O輸入輸出數(shù)據(jù)緩存。讀獲取O輸入的數(shù)據(jù)。寫驅(qū)動數(shù)據(jù)輸出,所有這些寄存器都是可位尋址P00(可位尋址76543210地址: 復(fù)位值:1111位0是8I/O端口P11(可位尋址76543210地址: 復(fù)位值:1111位18I/O端口P22(可位尋址76543210地址: 復(fù)位值:1111位端口28I/O端口P33(可位尋址765432100RR地址: 復(fù)位值:0011位7063第6當(dāng)RPD(CONFIG0.2)配置為0,P3.6是輸入引腳。當(dāng)RPD未配置P3.6讀總是053第5P3.5I/O引腳,ICPCKOCDCK43第4P3.4I/O引腳,與多功能引腳ICPDA和OCDDA33第3HXTLXT沒有使用,P3.3可用。這種情況下P3.3功能是通用I/OHXTLXTP3.3XOUTP3.3無效,讀P3.323第2僅當(dāng)HXTLXT,ECLK沒有使用,P3.2可用,這種情況下P3.2功能是通用I/O。如果HXT,LXTECLK使用,P3.2引腳功能作為XINP3.2無效,讀P3.2總位13第1P3.1I/O引腳,與多功能引腳T2DO2和SEG2803第0P3.0I/O引腳,與多功能引腳T2DO1和SEG27P4765432100R地址: 復(fù)位值:0111位7-47I/O端口P55(可位尋址76543210地址: 復(fù)位值:1111位58I/O端口P0M1076543210地址:B1H,頁: 復(fù)位值:1111位P0M2076543210地址:B2H,頁: 復(fù)位值:0000位0模式選擇P0M1P0M2結(jié)合用于決定P0每個(gè)引腳的I/O8–1.管腳I/O模式配置P1M11模式選擇76543210地址:B3H,頁: 復(fù)位值:1111位P1M2176543210地址:B4H,頁: 復(fù)位值:0000位P1M1P1M2結(jié)合用于決定P1每個(gè)引腳的I/O8–1.管腳I/O模式配置P2M1276543210地址:B5H,頁: 復(fù)位值:0111位P2M2276543210地址:B6H,頁: 復(fù)位值:0000位P2M1P2M2結(jié)合用于決定P2每個(gè)引腳的I/O8–1.管腳I/O模式配置P3M1376543210地址:ACH,頁: 復(fù)位值:0000位P3M2376543210地址:ADH,頁: 復(fù)位值:0000位6P3.60=P3.6上拉禁止1=P3.6僅當(dāng)RPD(CONFIG0.2)被配置為0.該位有效。當(dāng)選擇作為??????引腳上拉總是使3模式選擇P3M1P3M2結(jié)合用于決定P3每個(gè)引腳的I/O8–1.管腳I/O模式配置P4M1476543210--地址:DAH,頁: 復(fù)位值:1111位P4M2476543210--地址:DBH,頁: 復(fù)位值:0000位P4M1P4M2結(jié)合用于決定P4每個(gè)引腳的I/O8–1.管腳I/O模式配置P5M1576543210地址:DCH,頁: 復(fù)位值:1111位P5M2576543210地址:DDH,頁: 復(fù)位值:0000位P5M1P5M2結(jié)合用于決定P5每個(gè)引腳的I/O8–1.管腳I/O模式配置每一個(gè)I/O引腳可以獨(dú)立地配置成TTL輸入或施密特觸發(fā)輸入。P1OS[3:0]位用于P1.0到P1.3的輸出控制。這四個(gè)引腳支持大灌入電流和輸出電流。注意所有PxS和P1OS寄存器通過切換SFR頁到頁1來訪問。P0S076543210地址:B1H,頁: 復(fù)位值:0000位nP0.n0P0.nTTL1=P0.n.P1S176543210地址:B3H,頁: 復(fù)位值:0000位n0P1.nTTL1=P1.n.P2S–端口276543210地址:B5H,頁: 復(fù)位值:0000位n0=P2.n.TTL1=P2.nP3S–端口376543210--地址:ACH,頁: 復(fù)位值:0000位n0=P3.n.TTL1=P3.nP4S–端口476543210--地址:DAH,頁: 復(fù)位值:0000位n0=P4.n.TTL1=P4.nP5S–端口576543210地址:DCH,頁: 復(fù)位值:0000位n0=P5.n.TTL1=P5.nP1OS–端口176543210地址:B4H,頁: 復(fù)位值:0000位-nP1.n0=P1.n1=P1.n大電流輸出能力N76E616的定時(shí)器/計(jì)數(shù)器0和1分別為兩個(gè)16位定時(shí)器/計(jì)數(shù)器。每個(gè)都由兩個(gè)8位的寄存器組成16計(jì)數(shù)寄存器。對于定時(shí)器/計(jì)數(shù)器0為高8位寄存器TH0、低8位寄存器TL0。同樣定時(shí)器/計(jì)數(shù)器1也有兩個(gè)8位寄存器,TH1和TL1。TCON和TMOD可以配置定時(shí)器/計(jì)數(shù)器0和1的模式。定時(shí)器或計(jì)數(shù)器功能通過TMOD的?位來選擇。每一個(gè)定時(shí)器/計(jì)數(shù)器有它自己的選擇位。TMOD.2用于定時(shí)器計(jì)數(shù)器0功能選擇,TMOD.6用于定時(shí)器/計(jì)數(shù)器1TM(ON.3)02S)。TMO4)1每當(dāng)檢測到外部計(jì)數(shù)輸入腳上的負(fù)電平跳變(T0針對定時(shí)器0,T1針對定時(shí)器1),計(jì)數(shù)寄存器的內(nèi)容就會加一。T0或T1T0TMTT)616LXT固定的溢出速率。此外每一個(gè)定時(shí)器/計(jì)數(shù)器可以配置為四種可能的模式中的任何一種。通過TD中的0和M1定時(shí)器0和1可以配置成當(dāng)定時(shí)器溢出發(fā)生的時(shí)候自動取反一個(gè)端口輸出。T0和T1既用來做定時(shí)器的計(jì)數(shù)輸入也用來做取反輸出。這個(gè)功能通過P1M1寄存器的T0OE和T1OE控制位來使能。分別應(yīng)用于定時(shí)器0和定時(shí)器1。當(dāng)這種模式打開,定時(shí)器第一次溢出是先輸出邏輯1。為了實(shí)現(xiàn)該模式的功能,?位應(yīng)該清零選擇系統(tǒng)時(shí)鐘作為注意:TH0(TH1)TL0(TL1)是分別被訪問的,強(qiáng)烈建議在模式0或模式1,在讀或?qū)慣H0(TH1)TL0(之前,用戶應(yīng)該通過清零TR0(TR1)TMOD0176543210地址: 復(fù)位值:0000位710=當(dāng)TR1=1時(shí),定時(shí)器1時(shí)鐘運(yùn)行不管INT11=當(dāng)TR1=1和INT1為邏輯1,定時(shí)器16?定時(shí)器1計(jì)數(shù)器/定時(shí)器選擇0=定時(shí)器11=定時(shí)器1隨外部引腳T15定時(shí)器1 定時(shí)器1 28TH1自動重載功能的 314300=當(dāng)TR0=1時(shí),定時(shí)器0時(shí)鐘運(yùn)行不管INT01=當(dāng)TR0=1和INT0為邏輯1,定時(shí)器02?定時(shí)器0計(jì)數(shù)器/定時(shí)器選擇0=定時(shí)器01=定時(shí)器0隨外部引腳T01定時(shí)器0 0 模式013/ 模式116/ 模式28TH0自動重載功能的 模式3TL08/TH00TCON01(可位尋址76543210R(電平讀/(邊沿R(電平讀/(邊沿地址: 復(fù)位值:0000位71061啟動控制0=定時(shí)器1中止.清該位將中止定時(shí)器1和當(dāng)前計(jì)數(shù)將保存在TH11=使能定時(shí)器50溢出標(biāo)志040啟動控制0=定時(shí)器0中止.清該位將中止定時(shí)器0和當(dāng)前計(jì)數(shù)將保存在TH01=使能定時(shí)器TL0076543210地址: 復(fù)位值:0000位0數(shù)據(jù)寄存器TL0是定時(shí)器0的16位計(jì)數(shù)數(shù)據(jù)寄存器低8位字節(jié)TH0076543210地址: 復(fù)位值:0000位0寄存器TH0是定時(shí)器0的16位計(jì)數(shù)寄存器的高字節(jié)TL1176543210地址: 復(fù)位值:0000位定時(shí)器1寄存器TL1是定時(shí)器1的16TH1176543210地址: 復(fù)位值:0000位1寄存器TH1是定時(shí)器1的16CKCON–76543210地址: 復(fù)位值:0000位410=1的時(shí)鐘源是系統(tǒng)時(shí)鐘的12除頻,它保留標(biāo)準(zhǔn)8051的特性。11300=0的時(shí)鐘源是系統(tǒng)時(shí)鐘的12除頻,它保留標(biāo)準(zhǔn)8051的特性。10的時(shí)鐘源直接是系統(tǒng)時(shí)鐘AUXR176543210-0-R地址: 復(fù)位值見表6–2.SFR定義及復(fù)位位51LXT01計(jì)數(shù)時(shí)鐘通過?(TMOD.6)和T1M(CKCON.4)1定時(shí)器1LXT時(shí)鐘4定時(shí)器0LXT00計(jì)數(shù)時(shí)鐘通過?(TMOD.2)和T0M(CKCON.3).10LXT時(shí)鐘P3M1376543210地址:ACH,頁: 復(fù)位值:0011位710111從T1注意:僅當(dāng)操作在定時(shí)器模式,定時(shí)器1600010從T0注意:僅當(dāng)操作在定時(shí)器模式,定時(shí)器0在模式0,定時(shí)器/計(jì)數(shù)器是13位的計(jì)數(shù)器。13位的計(jì)數(shù)器由TH0(TH1)和TL0(TL1)的低五位組成。TL0(TL1)0(1是?

??????

??????)是1定時(shí)器/計(jì)數(shù)器使能。Gate設(shè)置為1?

??????

??????)計(jì)算脈沖的寬度。當(dāng)13位的定時(shí)器計(jì)數(shù)值變?yōu)?FFFH后,下一次計(jì)數(shù)會使其變?yōu)?000H定時(shí)器溢出標(biāo)志TF0(TF1)置位,如果中斷打開,此時(shí)還會產(chǎn)生一個(gè)定時(shí)器中斷。

T0M(CKCON.3)(T1M0 010T0(T1)

TL0TR0

T0LXTM(AUXR1.4)(T1LXTM

00TH0

00

Timer

77INT0(INT1)

9-1.定時(shí)器/計(jì)數(shù)器0及1模式011x6T0M(CKCON.3)(T1MT0(T1)

0 0101

TL00 707TR0

T0LXTM(AUXR1.4)(T1LXTM

00TH0

7T0OE7

Timer

T0(T1) 9-2.定時(shí)器/計(jì)數(shù)器0及1模式模式2下定時(shí)器/計(jì)數(shù)器為自動重裝載模式。此模式下TLx是一個(gè)8位的計(jì)數(shù)器,THx保存重裝計(jì)數(shù)值。當(dāng)TLxFFH向00H溢出后,TCON中的TFx標(biāo)志置位THx中內(nèi)容重裝至TLx,繼續(xù)計(jì)數(shù)過程。重裝過程中THx不變.該特征最好地適用于UART波特率發(fā)生器,不需要連續(xù)軟件介入.注:僅有定時(shí)器1可以用作UART的波特率源。當(dāng)TRx位置1,GATE位及???????(???????)配置正確時(shí),計(jì)數(shù)器開始計(jì)數(shù)。GATE位及???????(???????)引腳的功能與

T0M(CKCON.3)(T1M0 01T0(T1)

TL0

TimerTR0INT0(INT1)

T0LXTM(AUXR1.4)(T1LXTM

07TH007

T0(T1)9-3.定時(shí)器/計(jì)數(shù)器0及1模式模式3有著不同的工作方式。對定時(shí)器/計(jì)數(shù)器1來說模式3會將其停止;對定時(shí)器/計(jì)數(shù)器0來說模式3下TL0083、0?

??????和TF0。TL0可以用來對T0腳上的1到0跳變計(jì)數(shù),由?(TMOD.2).來決定。TH0只能對內(nèi)部時(shí)鐘源計(jì)數(shù),并使用定時(shí)器/數(shù)器1的控制位(TR1和TF1)。當(dāng)需要額外的8位定時(shí)器時(shí)可以使用模式3。當(dāng)定時(shí)器0處于模式3時(shí),定時(shí)器1可以通過將其放入或離開模式3的方式來打開或關(guān)閉它。定時(shí)器1依然可以工作在模式0、1、2R及??????T1M,和T1LXTM

?9-4.定時(shí)器/計(jì)數(shù)器0模式2,,C,D獨(dú)的控制。每一個(gè)定時(shí)器支持兩種操作模式:自動重載模式和WM模式。通過O0或O1寄存器的xM來選擇。用戶可以通過x20]選擇預(yù)分頻值。有兩個(gè)輸出引腳產(chǎn)生互補(bǔ)的0%占空比周期或WM波2H和AL6A和填合適值到2AH和AL之后,用戶可以設(shè)置TATO)來開始計(jì)數(shù)。在TA置位之后,R2AH和2L被加載到內(nèi)部16位計(jì)數(shù)器中,并開始向下計(jì)數(shù)。當(dāng)計(jì)數(shù)器溢出,TAT)由硬件置位為1,并使R2H和RA6TAI.)12TATOT2O1和T2T2O11優(yōu)

16-bitDown

Timer2ATimer2AT2AO1pin077T2AO2077 10-12APWM2H和2R2M0和O用戶可以設(shè)置2AN)來開始M輸出。同時(shí)RH加載到內(nèi)部8位計(jì)數(shù)器,且計(jì)數(shù)器開始向下計(jì)數(shù)。在下次計(jì)數(shù)到0之前,H重新載入且1回復(fù)邏輯1,一旦數(shù)到0,L被加載,且1取反輸出邏輯的TF2A會置12中斷。在WT2AWMPWM占空比高電平 PWM占空比低電平: PWM周期:

8-bitDown

Timer2AMatch0EventTimer2A

Repeat T2AO1T2AO20

10-22APWMR2AHR2ALR2AHR2ALR2AH在本周期內(nèi)更 R2AL在本周期內(nèi)更TR1A=(定時(shí)器1A運(yùn)行),R2AH導(dǎo)入8位向下計(jì)數(shù),T2AO1輸出

向下計(jì)數(shù)至0,導(dǎo)入8

T2AO1輸出10-32APWM至0,T2CON2(可位尋址76543210地址: 復(fù)位值:0000位72D中T62C中T52B中T42A中T32D0=定時(shí)器2D1=定時(shí)器2D注意在自動重載模式,重載寄存器R2DHR2DL僅當(dāng)定時(shí)器2D停止(TR2D=0)才可以被寫。如果在TR2D為1時(shí)寫R2DH或R2DL,結(jié)果是不可預(yù)知的。22C0=定時(shí)器2C1=定時(shí)器2C注意在自動重載模式,重載寄存器R2CH和R2CL僅當(dāng)定時(shí)器2C停止(TR2C=0)才可以被寫。如果在TR2C為1時(shí)寫R2CH或R2CL,結(jié)果是不可預(yù)知的。12B0=定時(shí)器2B1=定時(shí)器2B注意在自動重載模式,重載寄存器R2BH和R2BL僅當(dāng)定時(shí)器2B停止(TR2B=0)才可以被寫。如果在TR2B為1時(shí)寫R2BH或R2BL,結(jié)果是不可預(yù)知的。02A0=定時(shí)器2A1=定時(shí)器2A注意在自動重載模式,重載寄存器R2AH和R2AL僅當(dāng)定時(shí)器2A停止(TR2A=0)才可以被寫。如果在TR2A為1時(shí)寫R2AH或R2AL,結(jié)果是不可預(yù)知的。T2MOD0276543210地址: 復(fù)位值:0000位72B0=自動重載模式1=PWM模式000=001=010=011=100=101=110=111=30=自動重載模式1=PWM模式000=001=010=011=100=101=110=111=T2MOD1276543210地址: 復(fù)位值:0000位72D0=自動重載模式1=PWM模式000=001=010=011=100=101=110=111=32C0=自動重載模式1=PWM模式000=001=010=011=100=101=110=111=T2OE276543210地址: 復(fù)位值:0000位70=T2DO2輸出禁止1T2DO260=T2DO1輸出禁止1=T2DO150=T2CO2輸出禁止1=T2CO240=T2CO1輸出禁止1=T2CO130=T2BO2輸出禁止1=T2BO220=T2BO1輸出禁止1=T2BO112A0=T2AO2輸出禁止1=T2AO202A0=T2AO1輸出禁止1=T2AO1R2AL–2A76543210地址: 復(fù)位值:0000位2AR2AH2A76543210地址: 復(fù)位值:0000位2AR2BL–定時(shí)器2B76543210地址: 復(fù)位值:0000位2BR2BH2B76543210地址: 復(fù)位值:0000位2BR2CL2C76543210地址: 復(fù)位值:0000位2CR2CH2C76543210地址: 復(fù)位值:0000位2CR2DL2D76543210地址: 復(fù)位值:0000位2DR2DH2D76543210地址: 復(fù)位值:0000位2D定時(shí)器3是一個(gè)補(bǔ)充的16位自動重載上數(shù)定時(shí)器。用戶可以通過T3PS[2:0](T3CON[2:0])選擇預(yù)分頻,并填重載值到R3H和R3L寄存器來決定它的溢出速率。用戶可以設(shè)置TR3(T3CON.3)來開始計(jì)數(shù)。當(dāng)計(jì)數(shù)跨過FFFFH,TF3(T3CON.4)置為1,且R3H和R3L寄存器的內(nèi)容重載到內(nèi)部16位計(jì)數(shù)器。如果ET3(EIE1.1)置為1,定時(shí)器3中斷服務(wù)程序被執(zhí)行。當(dāng)進(jìn)入中斷服務(wù)程序,TF3會被硬件自動清零。3也是UART14.5波特率

070707

16-bitUp

Timer3Timer311-13T3CON376543210地址: 復(fù)位值:0000位433303停止13注意重載寄存器R3HR3L僅在定時(shí)器3停止(TR30)的時(shí)候才可以被寫。如果TR3位1寫,結(jié)果是不可預(yù)知的。3這些位決定定時(shí)器3000=001=010=011=100=101=110=111=R3L376543210地址: 復(fù)位值:0000位3R3H376543210地址: 復(fù)位值:0000位3擾設(shè)備進(jìn)入非正常狀態(tài)或掛起,看門狗可以復(fù)位恢復(fù)系統(tǒng)。用于監(jiān)測系統(tǒng)以提高系統(tǒng)可靠性。對于容易受到噪N30](N474工76543210出廠默認(rèn)值1111位WDT該域配置MCU執(zhí)行后,WDT1111WDTWDT0101=WDT使能,作為一個(gè)超時(shí)復(fù)位定時(shí)器,且在空閑或掉電模式會停止運(yùn)其他=WDT使能,作為一個(gè)超時(shí)復(fù)位定時(shí)器,且在空閑或掉電模式會保持運(yùn)WTKLCWTWTWDCON看門狗定時(shí)器控制(TA保護(hù)76543210地址: 復(fù)位值:見表6–2.SFR定義及復(fù)位位7WDTWDTEN[3:]ONFIG4[7:])全為WD0=WDT禁止1=WDT使能WDT位6WDT寫01=WDT計(jì)數(shù)器讀0=WDT1=WDT計(jì)數(shù)器還沒有清零5WDT該位表示W(wǎng)DT計(jì)數(shù)器的溢出。該標(biāo)志應(yīng)該通過軟件清零。4WDTWDTEN[3:]ONFIG4[7:])全為WD0=WDT1=WDT在空閑或掉電模式下保持工作3WDTWDT這些位決定了WDT時(shí)鐘的預(yù)分頻,從1/11/256。見12–1.在不同分頻下的看門狗超時(shí)間隔。默認(rèn)是最大分頻值。WDTRF在上電復(fù)位之后會被清零,在WDTWDPS[2:0]1

×clockdividerscalar×64決定 FLIRC是內(nèi)部震蕩10kHz的頻率。下表所示不同12–1.(FLIRC~=100006.4000125.6001051.20011102.40100204.80101409.60110819.201111.638當(dāng)CONFIG位WDTEN[3:0](CONFIG4[7:4])不是FH,,WDT是初始化為一個(gè)超時(shí)復(fù)位定時(shí)器。如果WDTEN[3:0]不是5H,WDT在系統(tǒng)進(jìn)入空閑或掉電模式后允許繼續(xù)運(yùn)行。注意當(dāng)WDT初始化為超時(shí)復(fù)位定時(shí)器,WDTR和WIDPD沒有功能。.

WDT WDT12-1.WDTWTW2]WON20])選擇。當(dāng)選擇的超WTWTFW)WTWT(E)A位,WT中斷程序被執(zhí)行。同時(shí)一個(gè)額外的12個(gè)LRC時(shí)鐘延時(shí)用于計(jì)數(shù)器的清零來避免系統(tǒng)被WT復(fù)位。如果在這52個(gè)時(shí)鐘內(nèi)沒有寫1WRWTWRWTWTWTWTFWCONWFWON看門狗定時(shí)器復(fù)位的主要應(yīng)用是系統(tǒng)監(jiān)測,這對于實(shí)時(shí)控制很重要,適用于電磁干擾等避免發(fā)生程序跑飛等場設(shè)定WCLR,可使代碼繼續(xù)運(yùn)行而無看門狗定時(shí)器復(fù)位。如果代碼運(yùn)行在錯(cuò)誤的狀態(tài)下,無法及時(shí)清看門狗定時(shí)看門狗定時(shí)器的另一個(gè)應(yīng)用是用作簡單的定時(shí)器。當(dāng)CONFIG位WDTEN[3:0](CONFIG4[7:4])是FH。WDT初始化為通用定時(shí)器。在這種模式下WDTR和WIDPD是完全可以通過軟件訪問的。PD

12-2.T通過設(shè)置R為開始運(yùn)行,通過清零停止。當(dāng)T選擇的時(shí)間間隔到后,F(xiàn)標(biāo)志會置位。軟TDT)DD在一些功耗的應(yīng)用中,CU常在沒有處理事件時(shí)處于空閑模式或掉電模式,需要定時(shí)喚醒察看是否需要響應(yīng),而到mμU應(yīng)N6WT1kP。 ;WDTinterruptservice;clearWDTinterrupt;Start;chooseintervallengthandenableWDTrunning;enableWDT;WDT;EnterPower-down 716有一個(gè)專門的自喚醒定時(shí)器(WT),它用于低功耗模式下的周期喚醒或通用的定時(shí)器。WT保持計(jì)數(shù)在空閑或掉電模式。當(dāng)WT用于喚醒定時(shí)器,WT要在進(jìn)入掉電之前開啟。WT有兩個(gè)時(shí)鐘源,RC或XT,由WSW5)位決定。注意系統(tǒng)時(shí)鐘頻率必須大于WT時(shí)鐘兩倍以上。如果WT開始計(jì)數(shù),WTWT1到22]CN2擇。用戶填重載值到K寄存器來決定它的溢出速率。WRWCN)置位開始計(jì)數(shù)。當(dāng)計(jì)數(shù)器溢出,F(xiàn))置位為1,并重載WK寄存器的值到內(nèi)部8為計(jì)數(shù)器。如果WT1)置為1,WT中斷01

8-bitUp0707

WKT13-1.WKCON–76543210地址: 復(fù)位值:0000位5WKT0=1=注意當(dāng)WKT在運(yùn)行中的時(shí)候,該位不能切換。它需要在WKTR設(shè)置為14WKT位3WKT0=WKT停止1=WKT注意重載寄存器RWK僅在WKT停止(WKTR0).的時(shí)候可以寫入。否則結(jié)果是不WKTWKT時(shí)鐘的預(yù)分頻000=001=010=011=100=101=110=111=RWK–76543210地址: 復(fù)位值:0000位WKT用以存儲WKT的8位重載值。注意如果預(yù)分頻是1/1,RWK限制不能是FFH66有兩個(gè)具備地址自動識別和幀錯(cuò)功能的全雙工串口。兩個(gè)串口的功能是一樣的,為了區(qū)分兩個(gè)串口控01,2,和3BF。對F寫入數(shù)據(jù)用于發(fā)送,接收數(shù)據(jù)也從寄存器SF中讀取。串口共有4種模式,任何一種模式都由F發(fā)起指令。注意,在使用串口功能前,串口所用管腳.1及.2XD及TX)或者6及P71及TX_)。SCON(可位尋址76543210地址: 復(fù)位值:0000位7SMOD0(PCON.6)=14–1SMOD0(PCON.6)=SM0/FE幀錯(cuò),軟件清0=無幀錯(cuò)1=檢測到幀錯(cuò)65此位功能依賴串口0模式此位選擇波特律是FSYS/120=FSYS/12標(biāo)準(zhǔn)8051兼容模式1模式0=1=只有接收到有效停止位,并且地址匹配時(shí)(包括廣播地址),才接收數(shù)據(jù)模式2多機(jī)通信功能0=無論第9位是0是11=只有第9位是1,且地址匹配時(shí)才接收(包括廣播地址40=串口0禁接收1=工作模式為1,2,3時(shí),使能接收.工作模式為0時(shí),在條件REN=1RI=0時(shí)接位3發(fā)送的第9串口0在模式2,3時(shí),此位是發(fā)送的第9位,模式0,1不用此位2收到的第9串口0模式2,3時(shí),此位是收到的第9位。模式1時(shí),RB8是停止位電平。模式0不用10S2。00此位。2。SCON_1串口1控制寄存器(可位尋址76543210地址: 復(fù)位值:0000位7串口16SMOD0_1(T3CON.6)=SMOD0_1(T3CON.6)=SM0_1/FE_1幀錯(cuò),軟件清0=無幀錯(cuò)1=檢測到幀錯(cuò)5此位功能依賴串口0模式模式0=1=只有接收到有效停止位,并且地址匹配時(shí)(包括廣播地址),才接收數(shù)據(jù)模式2多機(jī)通信功能0=無論第9位是0是11=只有第9位是1,且地址匹配時(shí)才接收(包括廣播地址40=接收禁止1=串口1,對于模式1,2,3來說是接收使能。對于模式0REN_1=1RI_1=3發(fā)送的第9串口1模式2,3發(fā)送的第9位,模式0,1不用此位2收到的第9串口0模式2,3時(shí),此位是收到的第9位。模式1時(shí),RB8是停止位電平。SM2_11。002被限.PCON–76543210--地址: 復(fù)位值:見表6–2.SFR定義及復(fù)位位7串口0模式2,或模式1,311,波特律加倍。詳見表14–1..60=SCON.7SM0位1=SCON.7FE位T3CON376543210地址: 復(fù)位值:0000位7串口1在模式2時(shí),此位置114–260=SCON_1.7SM0_1位1=SCON_1.7FE_1位14–1.串口000081011/定時(shí)器332或210311定時(shí)器1/定時(shí)器332orSM2(SCON.5)=1時(shí)SMOD(PCON.7)=1時(shí)14–2.串口10008101定時(shí)器3210311定時(shí)器3SM2_1(SCON_1.5)1時(shí)SMOD_1(T3CON.7)1時(shí)SBUF–串口076543210地址: 復(fù)位值:0000位串口0串口0接收或發(fā)送的數(shù)據(jù)都放在這個(gè)寄存器中。實(shí)際上該地址上有2個(gè)獨(dú)立的8位寄存器。一個(gè)用于接收數(shù)據(jù),一個(gè)用于發(fā)送數(shù)據(jù)。對它進(jìn)行讀操作將會接收串行.每次向SBUF寫入一字節(jié)數(shù)據(jù),啟動一次發(fā)送SBUF_1–串口176543210地址: 復(fù)位值:0000位串口1串口1接收或發(fā)送的數(shù)據(jù)都放在這個(gè)寄存器中。實(shí)際上該地址上有2個(gè)獨(dú)立的8位寄存器。一個(gè)用于接收數(shù)據(jù),一個(gè)用于發(fā)送數(shù)據(jù)。對它進(jìn)行讀操作將會接收串行數(shù)據(jù),對它進(jìn)行寫操作則發(fā)送串行數(shù)據(jù).模式0與外部設(shè)備進(jìn)行同步通信的方式。在該模式下,串行數(shù)據(jù)由RXD腳進(jìn)行收發(fā),而TXD腳用于產(chǎn)生移位時(shí)FSYS/12(SM2(SCON.5)0)或FSYS/2(SM21)..0為14-1顯示串口模式0傳輸時(shí)序圖14-1.0如圖所示,數(shù)據(jù)由雙向RXD線進(jìn)行收發(fā)。位移時(shí)鐘TXD/發(fā)送數(shù)據(jù)。數(shù)據(jù)最低位用于移入移出數(shù)據(jù),波特率根據(jù)TXD向UFXD8TI(O.)置1RNS=1且=0數(shù)據(jù)。外部設(shè)備要在移位時(shí)鐘的下降沿處送出數(shù)據(jù)。這個(gè)過程持續(xù)到8位數(shù)據(jù)全部發(fā)送完畢。RI會在TD的最后一個(gè)下降沿處置1,這時(shí)接收動作結(jié)束,注N不由硬件清零,用戶應(yīng)該首先清零I,清N,并再次通過軟件R模式1為全雙工異步的方式工作。串行通信的數(shù)據(jù)貞由0位數(shù)據(jù)組成,在DD腳上進(jìn)行收發(fā)。0位數(shù)據(jù)組(位,))1D(CN7)(1圖42.向F寫入指令開始傳輸,傳輸發(fā)生在TD引腳上。首先是開始位,隨后是8位數(shù)據(jù)位,最后是停止位,停止TO11當(dāng)波特率發(fā)生器打開且REN(SCON.4)=1時(shí)系統(tǒng)進(jìn)行接收操作,RXD腳上接收到1-0跳變就啟動接收器接收。數(shù)RI(SCON.0)= SM2(SCON.5)=0,或者SM2=1時(shí),收到的數(shù)據(jù)與配置的從機(jī)地址或廣播地址一致且收到停止位為1.(詳見章節(jié)14.7多機(jī)通信和章節(jié)14.8地址自動識別)從上條件若滿足,就把收到的數(shù)據(jù)存入SBUF,停止位電平寫入RB8(SCON.2),并且RI置1。若不不滿足,數(shù)據(jù)不寫入SBUF,RI保持0。接下來再次檢測RXD的下降沿跳變,準(zhǔn)備下一次接收。,1)在前),第位數(shù)據(jù)(8)和停止位組成。第98。波特率2314-32和3寫SBUF開始發(fā)送,數(shù)據(jù)從TXD輸出。先輸出起始位,再出8位數(shù)據(jù),接下來是TB8,然后是停止位。最后TI置1RN置:RI(SCON.0)= SM2(SCON.5)=0SM2=1時(shí)收到第九位為1并且地址匹配.(14.714.8地)若以上條件滿足,收到的數(shù)據(jù)寫入SBUF,第9RB8(SCON.2并且置1RI。若條件不滿足丟棄數(shù)據(jù),模式3與模式2相同,只是模式3使用定時(shí)器114-在模式1或模式3,串口0的波特率時(shí)鐘源可通過BRCK(T3CON.5)選擇定時(shí)器1或定時(shí)器3。對于串口1,只有采T3CON–定時(shí)器376543210地址: 復(fù)位值:0000位5串口00=定時(shí)器1=定時(shí)器111(3314–3UART0FSYS/12orFSYS/22FSYS/64orFSYS/32 1僅供 ) 12×256- 256- 1 )16Pre-scale×65536-SM2(SCON.5)SM2_1(SCON_1.5)設(shè)為SMOD(PCON.7)SMOD_1(T3CON.7)定時(shí)器1配置為定時(shí)方式自動重裝載模式(模式T1M(CKCON.4SMOD1TH1{RH3,RL3}=256×RH3RL3.當(dāng)SMOD11/1,{RH3,RL3}表14–4列舉了由定時(shí)器1產(chǎn)生的常用波特率。此種方式定時(shí)器1配成重裝載模式:SMOD(PCON.7)=0且T1M(CKCON.4014–5列舉了串口0用定時(shí)器3產(chǎn)生波特率的值.SMOD=0。對于串口1來說,相同的值,14–4.定時(shí)器1TH114–5.定時(shí)器348{R3H,R3L},FESCON.7。正常情況下此位為SM0。當(dāng)使能了幀錯(cuò)功能SMOD0PCON.6)=1,SM0FE通信若出現(xiàn)幀錯(cuò),F(xiàn)E將被置1,后續(xù)數(shù)據(jù)無幀錯(cuò)FE位不會回零,一旦出現(xiàn)幀錯(cuò)FE置1FE位必須軟件清0。注意,讀寫FE,SMOD0必須是置1的。66的串口模式2或3可以在一主多從的系統(tǒng)中發(fā)送多幀數(shù)據(jù)給一從機(jī),且不打擾其它從機(jī)。使用這個(gè)功能2CN)=1(9)2t=1主機(jī)給某一從機(jī)發(fā)數(shù)據(jù)時(shí),先發(fā)一個(gè)地址字節(jié)——地址字節(jié)第9位是1,數(shù)據(jù)字節(jié)第9位是0。地址字節(jié)會讓所有的從機(jī)都中斷并檢查是否與自己的從機(jī)地址一致,若一致就讓S2=0并準(zhǔn)備接收后續(xù)字節(jié)。地址不一致的從機(jī)M2多機(jī)通信流程如下SM2主機(jī)發(fā)送時(shí)序?yàn)楹罄m(xù)字節(jié)數(shù)據(jù)(第9位=0).9位為1=0,地址匹配的從機(jī),接收完數(shù)據(jù)后,再讓SM2=10通信,SM2無效。模式1SM2=1能可以節(jié)省軟件識別地址而所占用的程序空間,僅當(dāng)串口識別到自身地址時(shí),接收器置位I(S1使用自動地址識別,允許一個(gè)主機(jī)選擇與一個(gè)或多個(gè)從機(jī)通信,通過“Ge”從機(jī)地址.所有從機(jī)可以通過“廣播”DN。ND.DNRv”地址。使用SADDR–從機(jī)地址76543210地址: 復(fù)位值:0000位從機(jī)地址多機(jī)通訊時(shí)用作存儲串口0SADEN–從機(jī)地址掩碼76543210地址: 復(fù)位值:0000位從機(jī)地址0將該寄存器各位與從機(jī)地址0做與運(yùn)算。這個(gè)寄存器為0SADDR_1–從機(jī)地址76543210地址: 復(fù)位值:0000位從機(jī)地址多機(jī)通訊時(shí)用作存儲串口1SADEN_1–從機(jī)地址176543210地址: 復(fù)位值:0000位從機(jī)地址1與從機(jī)地址1做與運(yùn)算,這個(gè)寄存器為0對應(yīng)的地址位,被忽略。SADDR=11000000bSADEN=Given=從機(jī)地址=11000000b掩碼=11111110b結(jié)果=1100000Xb上面例子SADDR相同,SADEN不同,形成不同地址匹配。從機(jī)0忽略地址位1,從機(jī)1忽略地址位0。發(fā)往地址11000010的數(shù)據(jù)從機(jī)0會接收,從機(jī)1拒絕。發(fā)往地址11000001的數(shù)據(jù)從機(jī)0拒絕而從機(jī)1接收。發(fā)往地址從機(jī)e0:SADDR=11000000bSADEN=Given=SADDR=11100000bSADEN=Given=SADDR=11000000bSADEN=Given=上面例子,地址低三位區(qū)分不同匹配。從機(jī)0擁有唯一地址11100110b1擁有唯一地址11100101b機(jī)2擁有唯一地址11100011b。若把數(shù)據(jù)發(fā)給從機(jī)0,1排除從機(jī)2,就發(fā)往地址11100100b。SADDRSADEN的或運(yùn)算求得,結(jié)果為0 = =Broadcast=采用”無關(guān)位”(don’tcarebit)可以使得廣播地址呼叫更靈活,在通常狀態(tài)下,全部定義為“無關(guān)位”即可,所以廣播地址一般定義為FFH.,DR和DNHvnb全部ta”s)。這樣可以確保串口響應(yīng)全部地址,同時(shí)也與標(biāo)準(zhǔn)傳統(tǒng)81微處理器相同,不支持自動地址識I2C IC總線在MCUEEPROM,LCD模塊,溫度傳感器等等之間,提供了一種串行通信方式。IC用兩條線(據(jù)線SDASCL2IC機(jī)之間的總線仲載傳輸,同步時(shí)鐘SCL的存在,允許設(shè)備間多種不同波特率的數(shù)據(jù)傳輸。2主發(fā),主收,從發(fā),從收。IC總線僅支持7位地址。支持廣播呼叫,支持標(biāo)準(zhǔn)速率傳輸(100kbps)(400kbps)2對于雙向傳輸操作,SDA及SCL引腳必須配置成開漏配置,形成邏輯線與功能:IC總線上有一個(gè)節(jié)點(diǎn)輸出總線上就是0電平,只有所有節(jié)點(diǎn)全輸出1,總線上才是高電平,即通過外接上拉電阻把電平拉高。N76E616,在設(shè)置I2CEN(I2CON.6)使能I2C功能之前,必須把P2.3及P2.4的輸出鎖存在邏輯1的狀態(tài)。215-1.IC2IC空閑時(shí),兩條線都為高。這時(shí)任一設(shè)備都可以做為主機(jī)發(fā)個(gè)起始位START開始數(shù)據(jù)傳輸,在停止位出現(xiàn)之前,總線被認(rèn)為處于忙狀態(tài)。主機(jī)產(chǎn)生時(shí)鐘以及起始位和停止位。如果總線上沒有START起始信號,則所有總線設(shè)備被認(rèn)為未被尋址從機(jī),硬件自動匹配自己的從機(jī)地址或廣播呼叫地址,(廣播地址可由GCC總線上傳輸?shù)拿總€(gè)字節(jié)都包含8個(gè)數(shù)據(jù)位和一個(gè)應(yīng)答位,共9位。但每次傳輸?shù)淖止?jié)個(gè)數(shù)沒有明確界定(起始位TTTO)。L由A腳輸出數(shù)據(jù),并轉(zhuǎn)為輸入模式以讀取檢測第9位應(yīng)答位。在第9個(gè)時(shí)鐘脈沖后,數(shù)據(jù)接收端若沒準(zhǔn)備好接C

215-2.ICBus

2IC總線時(shí)序定義了起始START(S)和結(jié)束STOP(P)的條件。時(shí)鐘SCL為高時(shí),數(shù)據(jù)線SDA2到監(jiān)聽總線起始位狀態(tài),之前被呼叫從機(jī)也轉(zhuǎn)為未尋址從機(jī)。 C總線進(jìn)入空閑狀態(tài)等待下一個(gè)起始START主機(jī)若發(fā)出停止位STOP,傳輸就停止了,然而,這個(gè)主機(jī)可以不發(fā)停止位,而是再次發(fā)出起始START(Sr) 15-3.起始(START)信號,重復(fù)起始信號以及停止(STOP)TT,SL+8(RW寫入或讀出數(shù)據(jù)。若第8位是0,即AR,表示下個(gè)字節(jié)開始主機(jī)向從機(jī)寫數(shù)據(jù);若是1,即LW,就表示TT+SWR或多個(gè)字節(jié)數(shù)據(jù),最后是停止位TP。當(dāng)?shù)谝蛔止?jié)已定義讀寫方向,隨后的8位數(shù)據(jù)就跟隨之前的設(shè)定進(jìn)行傳I2C總線還有一種特殊尋址方式,廣播呼叫尋址。在該模式下,發(fā)送的首字節(jié)數(shù)據(jù)為0這個(gè)從機(jī)就收發(fā)后續(xù)數(shù)據(jù),和標(biāo)準(zhǔn)主從收發(fā)方式相同。注意:地址0x002從機(jī)地址。因此理論上,總共7位地址IC總線,共可以連接127個(gè)設(shè)備,地址由1至1271-1- 1-1- ADDRESS 215-4IC在數(shù)據(jù)傳輸過程中,在時(shí)鐘高電平時(shí),DA需要保持?jǐn)?shù)據(jù)內(nèi)容不能更改。只有在SL為低時(shí),DA變。應(yīng)答第(C)DA(是從機(jī))回應(yīng)發(fā)送端(無論主機(jī)或從機(jī))所用。應(yīng)答位時(shí)鐘由主機(jī)產(chǎn)生,發(fā)送端設(shè)備在應(yīng)答位時(shí)鐘高電平周期內(nèi),需放棄對DA的控制。K為一個(gè)低電平信號。在這個(gè)時(shí)鐘周期的高電平時(shí),A保持低電平用以表示接若從機(jī)接收應(yīng)答從機(jī)地址后,將自身切換到未定址從機(jī)模式,從而無法接收更多數(shù)據(jù)字節(jié),并將OrpdRTOP。SDAOutputBySDAOutputBySCLFrom

SDA=0,AcknowledgeSDA=1,NotAcknowledge ClockPulseFor15-5.TT裁。在該狀態(tài)下,當(dāng)CL為高時(shí),A上呈現(xiàn)仲裁信號。在仲裁過程中,第一發(fā)起主機(jī)對A線置1(高電平)而另一個(gè)主機(jī)發(fā)送0(低電平),發(fā)送后主機(jī)會對A線上信號與自己發(fā)出的信號進(jìn)行比較,由于“線與”的原因,時(shí)鐘SL為高時(shí),發(fā)送0的主機(jī)會成功,而發(fā)送1仲裁機(jī)制讓每個(gè)主機(jī)發(fā)送數(shù)據(jù)時(shí),都會同時(shí)比較總線上的數(shù)據(jù)是否與自己發(fā)送的一致。注:如果其它主機(jī)發(fā)送0,Master1losesarbitrationforDATA1≠SDA.ItimmediatelyswitchestoMaster1losesarbitrationforDATA1≠SDA.Itimmediatelyswitchestonotaddressedslaveandoutputshighlevel.DATA2FromMasterSDASCL2

15-615-7ICI2C共有五個(gè)控制寄存器:I2CON,I2STAT,I2DAT,I2ADDR,和I2CLK.這些寄存器用以提供協(xié)議控制,狀態(tài)顯2I2CONIC(可位尋址76543210地址: 復(fù)位值:0000位7-62IC20=IC禁止21=IC使能2IC之前,P2.3P0.6必須配置為輸出5起始標(biāo)志 當(dāng)STA置1,如果總線空閑,IC產(chǎn)生START信號,如果總線忙,IC等待停止條件2如果總線已經(jīng)在總線模式且已發(fā)送一個(gè)或多個(gè)字節(jié),此時(shí)再設(shè)定STA,IC產(chǎn)生重復(fù)開始信號repeated4停止標(biāo)志2IC總線在主機(jī)模式下設(shè)定STO為1,將會向總線發(fā)送停止信號STOP停止條件完成,STO由硬件自動清0當(dāng)總線上產(chǎn)生錯(cuò)誤狀態(tài)(I2STAT00H)STO也會置1。這種情況下總線不會發(fā)送2如果STA和STO同時(shí)置1,且在主機(jī)模式下,IC總線在發(fā)送STARTSTOP。如果在從機(jī)模式下,應(yīng)避免STA及STO同時(shí)置132IC2IC所有26種狀態(tài)中出現(xiàn)一種,硬件就會置1(F8H除外)SI后,I2若AA=1,接收數(shù)據(jù)時(shí),會在第9位發(fā)出應(yīng)答ACK若A=0AK),第AI0,中A01特殊情況:注意:從機(jī)發(fā)送時(shí),狀態(tài)碼若為C8H,從機(jī)發(fā)送最后一個(gè)字節(jié)之前,讓AA=0,發(fā)送完最后一個(gè)字節(jié),不再回應(yīng)答,傳輸結(jié)束。主機(jī)若再從總線上讀數(shù)-2I2STAT–IC76543210000RRRR地址: 復(fù)位值:1111位2IC高5位為狀態(tài)碼,共有27I2STATF8H時(shí),表示空閑,SI將保持為0。02I2DAT–IC76543210地址: 復(fù)位值:0000位2IC該寄存器存放準(zhǔn)備發(fā)送的,或接收到的數(shù)據(jù)。只要SI=12I2ADDR–IC76543210地址: 復(fù)位值:0000位2IC主機(jī)模式從機(jī)模式存放7位從機(jī)地址。主機(jī)需要定址該從機(jī)需在START之后寫入該值。如果AA]6從機(jī)模式0=1=如果AA置1,參與廣播呼叫模式,若AA清02I2CLK–IC76543210地址: 復(fù)位值:0000位2IC時(shí)鐘設(shè)定2該寄存器設(shè)定作主機(jī)時(shí)IC4×(I2CLK+1)400kbps(24MHz)。注I2CLK值寫入00H01H從機(jī)模式該字節(jié)無效,從機(jī)自動跟隨主機(jī)時(shí)鐘,最高400kI2C主機(jī)發(fā)送多個(gè)字節(jié)到從機(jī),主機(jī)產(chǎn)生時(shí)鐘,故需要在I2CLK內(nèi)填入設(shè)定值。主機(jī)發(fā)送模式需要將STA(I2CON.5)置1。此時(shí),一旦檢測到總線空閑,主機(jī)就會發(fā)出一個(gè)起始位START,若成功,SI(I2CON.3)將被置1,狀態(tài)碼I2STAT置為08H。接下來應(yīng)把從機(jī)地址和寫位(SLA+W)寫入I2DAT,然后清0位SI,總線上發(fā)出SLA+W。主機(jī)發(fā)出SLA+W收到從機(jī)應(yīng)答位ACK后,SI被置1,狀態(tài)碼I2STAT=18H。接下來將按照用戶定義格式發(fā)送數(shù)據(jù)。所有的數(shù)據(jù)發(fā)送完以后,位STO(I2CON.4)置1,并清0SI位以發(fā)出停止信號STOP,或者也可以發(fā)送重復(fù)起始信號repeatSTART,而不發(fā)送STOP,直接開始新一輪數(shù)據(jù)傳輸。tomaster15-8.主機(jī)接收模式,由從機(jī)接收數(shù)據(jù)。初始化設(shè)置與主機(jī)發(fā)送模式相同,主機(jī)發(fā)送起始位以后,I2DAT應(yīng)寫入從機(jī)地址和“讀位”(SLA+R)。收到從機(jī)應(yīng)答位ACK后SI被置1且狀態(tài)碼I2STAT=40H。SI清0后開始接收從機(jī)數(shù)據(jù),若AA位(I2CON.2)=1,主機(jī)收到數(shù)據(jù)后回應(yīng)答位;若AA=0主機(jī)收到數(shù)據(jù)后不回應(yīng)答NACK。然后主機(jī)可tomaster15-9.RC置()當(dāng)從機(jī)被“寫”信號L+W尋址到后,需要清0I位,以便從主機(jī)接收數(shù)據(jù)。如果在傳輸過程中0,從機(jī)將在下一字節(jié)返回?zé)o應(yīng)答位K,從機(jī)也將轉(zhuǎn)為未定址從機(jī),與主機(jī)聯(lián)系終止,不再接收數(shù)據(jù),且I2DT保持之(STA,STO,SI,AA)(STA,STO,SI,AA)=ACKwillbe

DatabytewillbereceivedNACKwillbeACKhasbeentransmittedI2DAT=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論