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

正文內(nèi)容

基于單片機的時鐘計時器的設(shè)計(編輯修改稿)

2025-02-14 14:27 本頁面
 

【文章內(nèi)容簡介】 主要性能參數(shù):低功耗空閑和掉電模式與MCS-51產(chǎn)品指令和引腳完全兼容8k字節(jié)可重擦寫Flash閃速存儲器1000次擦寫周期全靜態(tài)操作:0Hz—24MHz三級加密程序存儲器2568字節(jié)內(nèi)部RAM32個可編程I/O口線3個16位定時/計數(shù)器8個中斷源可編程串行UART通道功能特性概述:AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲器,256字節(jié)內(nèi)部RAM,32個I/O口線,3個16位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。引腳功能說明:Vcc:電源電壓,GND:地 ,P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻?!1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,()和輸入(),F(xiàn)lash編程和程序校驗期間,P1接收低8位地址。參見表1。表1 引腳號功能特性T2(定時/計數(shù)器2外部計數(shù)脈沖輸入),時鐘輸出.T2EX(定時/計數(shù)2捕獲/重裝載觸發(fā)和方向控制)P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗時,P2亦接收高位地址和一些控制信號?!ST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片復(fù)位。特殊功能寄存器: AT89C52片內(nèi)存儲器中,80H-FFH共128個單元為特殊功能寄存器(SFE),SFR的地址映象如表2所示。并非所有的地址都被定義,從80H-FFH共128個字節(jié)只有一部分被定義,還有相當(dāng)一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失,不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,對于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。見表2AT89C52除了與AT89C51所有的定時/計數(shù)器0和定時/計數(shù)器1外,還增加了一個定時/計數(shù)器2。定時/計數(shù)器2的控制狀態(tài)位位于T2CON(見表3)T2MOD(見表4),寄存器對(RCA02H、RCAP2L)是定時器2在16位捕獲方式或16位自動重裝載方式下的捕獲/自動重裝載寄存器。見表3 EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。中斷寄存器:AT89C52有6個中斷源,2個中斷優(yōu)先級,IE寄存器控制各中斷位,IP寄存器中6個中斷源的每一個可定為2個優(yōu)先級。數(shù)據(jù)存儲器:AT89C52有256個字節(jié)的內(nèi)部RAM,80H-FFH高128個字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節(jié)的RAM和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當(dāng)一條指令訪問7FH以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128字節(jié)RAM還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2口)地址單元。MOV 0A0H,#data。間接尋址指令訪問高128字節(jié)RAM,例如,下面的間接尋址指令中,R0的內(nèi)容為0A0H,則訪問數(shù)據(jù)字節(jié)地址為0A0H,而不是P2口(0A0H)。MOV @R0,#data堆棧操作也是間接尋址方式,所以,高128位數(shù)據(jù)RAM亦可作為堆棧區(qū)使用。定時器0和定時器1:AT89C52的定時器0和定時器1的工作方式與AT89C51相同。定時器2:定時器2是一個16位定時/計數(shù)器。它既可當(dāng)定時器使用,也可作為外部事件計數(shù)器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2位選擇。定時器2有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON的控制位來選擇,參見表4。表4 定時器2工作方式 PCLK+TCLKCP/RL2TR2MODE00116bitAutoreload01116bitCapture1X1BaudRateGeneratorXX0(Off)定時器2由兩個8位寄存器TH2和TL2組成,在定時器工作方式中,每個機器周期TL2寄存器的值加1,由于一個機器周期由12個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/12。在計數(shù)工作方式時,當(dāng)T2引腳上外部輸入信號產(chǎn)生由1至0的下降沿時,寄存器的值加1,在這種工作方式下,每個機器周期的5SP2期間,對外部輸入進行采樣。若在第一個機器周期中采到的值為1,而在下一個機器周期中采到的值為0,則在緊跟著的下一個周期的S3P1期間寄存器加1。由于識別1至0的跳變需要2個機器周期(24個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。在方式1和方式3中,波特率由定時器2的溢出速率根據(jù)下式確定:方式1和3的波特率=定時器的溢出率/16。捕獲方式:在捕獲方式下,通過T2CON控制位EXEN2來選擇兩種方式。如果EXEN2=0,定時器2是一個16位定時器或計數(shù)器,計數(shù)溢出時,對T2CON的溢出標(biāo)志TF2置位,同時激活中斷。如查EXEN2=1,定時器2完成相同的操作,而當(dāng)T2EX引腳外部輸入信號發(fā)生1至0負跳變時,也出現(xiàn)TH2和TL2中的值分別被捕獲到RCAP2H和RCAP2L中。另外,T2EX引腳信號的跳變使得T2CON中的EXF2置位,與TF2相仿,EXF2也會活中斷。自動重裝載(向上或向下計數(shù)器)方式:當(dāng)定時器2工作于16位自動重裝載方式時,能對其編程為向上或向下計數(shù)方式,這個功能可通過特殊功能寄存器T2CON的DCEN位(允許向下計數(shù))來選擇的。復(fù)位時,DCEN位置“0”,定時器2默認設(shè)置為向上計數(shù)。當(dāng)DCEN置位時,定時器2既可向上計數(shù)也可向下計數(shù),這取決于T2EX引腳的值,當(dāng)DCEN=0時,定時器2自動設(shè)置為向上計數(shù),在這種方式下,T2CON中的EXEN2控制位有兩種選擇,若EXEN2=0,定時器2為向上計數(shù)至0FFFFH溢出,置位TF2激活中斷,同時把16位計數(shù)寄存器RCAP2H和RCAP2L重裝載,RCAP2H和RCAP2L的值可由軟件預(yù)置。若EXEN2=1,定時器2的16位重裝載由溢出或外部輸入端T2EX從1至0的下降沿觸發(fā)。這個脈沖使EXF2置位,如果中斷允許,同樣產(chǎn)生中斷。當(dāng)DCEN=1時,允許定時器2向上或向下計數(shù)。這種方式下,T2EX引腳控制計數(shù)器方向。T2EX引腳為邏輯“1”時,定時器向上計數(shù),當(dāng)計數(shù)0FFFFH向上溢出時,置位TF2,同時把16位計數(shù)寄存器RCAP2H和RCAP2L載到TH2和TL2中。T2EX引腳為邏輯“0”時,定時器2向下計數(shù),當(dāng)TH2和TL2中的數(shù)值等于RCAP2H和RCAP2L中的值時,計數(shù)溢出,置位TF2,同時將0FFFFH數(shù)值重新裝入定時寄存器中。當(dāng)定時/計數(shù)器2向上溢出或向下溢出時,置位EXF2位。定時器既能工作于定時方式也能工作于計數(shù)方式,在大多數(shù)的應(yīng)用中,是工作在定時方式(C/T2=0)。定時器2作為波特率發(fā)生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機器周期(1/12振蕩頻率)寄存的值加1,而作為波特率發(fā)生器使用時,在每個狀態(tài)時間(1/2振蕩頻率)寄存器的值加1。波特率的計算公式如下:方式1和3的波特率=振蕩頻率/{32[65536(RCAP2H,RCAP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位無符號數(shù)。定時器2作為波特率發(fā)生器使用時,T2CON中的RCLK或TCLK=1時,波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2翻轉(zhuǎn)不能使TF2置位,故而不產(chǎn)生中斷。但若EXEN2置位,且T2EX端產(chǎn)生由1至0的負跳變,則會使EXF2置位,此時并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2和TL2中。所以,當(dāng)定時器2作為波特率發(fā)生器使用時,T2EX可作為附加的外部中斷源來使用。需要注意的是,當(dāng)定時器2工作于波特率器時,作為定時器運行(TR2=1)時,并不能訪問TH2和TL2。因為此時每個狀態(tài)時間定時器都會加1,對其讀寫將得到一個不確定的數(shù)值。然而,對RCAP2則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或RCAP2寄存器之前,應(yīng)將定時器關(guān)閉(清除TR2)。中斷:AT89C52共有6個中斷向量:兩個外中斷(INT0和INT1),3個定時器中斷(定時器0、2)和串行口中斷。這些中斷源可通過分別設(shè)置專用寄存器IE的置位或清0來控制每一個中斷的允許或禁止。IE也有一個總禁止位EA,它能控制所有中斷的允許或禁止。程序員不應(yīng)將“1”寫入這些位,它們是將來AT89系列產(chǎn)品作為擴展用的。定時器2的中斷是由T2CON中的TF2和EXF2邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,這些標(biāo)志位不能被硬件清除,事實上,服務(wù)程序需確定是TF2或EXF2產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時器0和定時器1的標(biāo)志位TF0和TF1在定時器溢出那個機器周期的S5P2狀態(tài)置位,而會在下一個機器周期才查詢該中斷標(biāo)志。然而,定時器2的標(biāo)志位TF2在定時器溢出的那個機器周期S2P2狀態(tài)置位,并在同一個機器周期內(nèi)查詢到該標(biāo)志。時鐘振蕩器:AT89C52中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體(或陶瓷諧振器)及電容CC2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容CC2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF177。10pF,而如使用陶瓷諧振器建議選擇40pF177。10pF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖右圖所示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。掉電模式:在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器,但不改變RAM中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時間以使振蕩器重啟動并穩(wěn)定工作??臻e和掉電模式下,端口引腳狀態(tài)如表6所示表6 空閑和掉電模式外部引腳狀態(tài)模式程序儲存器ALEPSENP0P1P2P3空閑模式內(nèi)部11數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)空閑模式外部11浮空數(shù)據(jù)地址數(shù)據(jù)掉電模式內(nèi)部00數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)掉電模式外部00浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)Flash存儲器的編程:AT89C52單片機內(nèi)部有8k字節(jié)的FlashPEROM,這個Flash存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM編程器兼容。AT89C52單片機中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可以從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息,見表7?!”? 頂面標(biāo)記及簽名字節(jié)Vpp=12VVpp=5V頂面標(biāo)記AT89C52
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1