工程招標(biāo)代理資質(zhì)取消通知(工程招標(biāo)代理資質(zhì)) 法定節(jié)假日加班工資怎么算(法定節(jié)假加班工資怎么計(jì)算) 駕照理論考試技巧和方法(駕照理論考試技巧和方法口訣) 黃花菜不能和什么食物同吃(黃花菜不能和什么食物一起吃) HTC G12刷recovery教程及進(jìn)入recovery方法(htc如何進(jìn)入recovery) b血型的人有什么特點(diǎn)男(b血型的人有什么特點(diǎn)) Sai軟件手繪簡筆畫綠色環(huán)保機(jī)器人(SAI畫畫軟件) Their是什么意思中文翻譯怎么讀(their是什么意思) 網(wǎng)上賺錢創(chuàng)業(yè)方法大全(網(wǎng)上賺錢創(chuàng)業(yè)方法大全套) 走路賺錢的幾種方式(走路賺錢的幾種方式是什么) 紅龍魚飼養(yǎng)方法(紅龍草) 怎樣增強(qiáng)抵抗力(怎樣增強(qiáng)抵抗力和免疫力) qb怎么轉(zhuǎn)給別人(怎么把qb給別人) 不是花中偏愛菊此花開盡更無花全詩拼音(不是花中偏愛菊此花開盡更無花全詩) 微信新功能"拍一拍"上線!(微信新功能朋友圈折疊) 現(xiàn)場儀表HART通訊如何接線(hart怎么接線) peacewarfound的英語怎么讀(peace war find怎么讀) q版泡泡堂6怎么換人(q版泡泡堂可以三人嗎) 如何獲得更多渠道商及他們的支持(如何獲得更多渠道商及他們的支持英語) 作文那一次我失敗了(作文那一次我真高興) 圍巾情人扣的織法(圍巾情人扣的織法粗線) 懸崖上的金魚公主國語版櫻花動漫(懸崖上的金魚公主國語版高清) 智能電視怎么看地方臺頻道直播 教你方法(智能電視怎么看地方臺的頻道) 初二英語周報(bào)所有答案大全(初二英語周報(bào)答案網(wǎng)) 籃球計(jì)分器 教你使用籃球計(jì)分器!(籃球計(jì)分器如何使用) 玉兔怎么畫簡單又漂亮(玉兔怎么畫簡單又漂亮圖片) 項(xiàng)目措施費(fèi)包干含后期簽證嗎(項(xiàng)目措施費(fèi)包括哪些) 像粑粑一樣惡心人(像粑粑一樣惡心人的圖片) PPT如何修改激光筆顏色(放映ppt時(shí)激光筆的顏色是可以更改的) 果綠色cmyk色值為多少(果綠色cmyk色值) 淘寶天貓如何設(shè)置店鋪抽獎(jiǎng)?(淘寶天貓如何設(shè)置店鋪抽獎(jiǎng)時(shí)間) 怎么設(shè)置瀏覽器的兼容模式(怎么設(shè)置瀏覽器的兼容模式手機(jī)) 臺達(dá)VFD-B 3.7kW變頻器維修方法(臺達(dá)vfd—b變頻器使用手冊) 摩爾莊園手游農(nóng)莊拍照任務(wù)流程(摩爾莊園手游莊園拍照任務(wù)) 醫(yī)者仁心的經(jīng)典語錄(醫(yī)者仁心是什么意思) 打好臺球的小技巧(打好臺球的小技巧和方法) 紙張方向只設(shè)置一頁橫向(紙張種類) 京東巴槍聯(lián)迪P990修改時(shí)間 紅櫻桃木門效果圖(紅櫻桃木) 大梅沙附近酒店攻略(大梅沙附近住宿) 光纖貓 Modem)怎樣設(shè)置無線上網(wǎng)?(光纖貓?jiān)O(shè)置方法) 圓舞曲之王是誰呢(圓舞曲之王是) 怎么收藏和查看當(dāng)當(dāng)網(wǎng)的圖書(怎么收藏和查看當(dāng)當(dāng)網(wǎng)的圖書資源) iphone清理系統(tǒng)垃圾的方法(iPhone系統(tǒng)垃圾怎么清理) 雙色球天齊網(wǎng)殺紅球(雙色球天齊) 微信8.0背景視頻如何設(shè)置?(微信8.0背景視頻如何設(shè)置時(shí)間) 如何做到清淡飲食?(如何做到清淡飲食減肥) excel格式刷快捷鍵用不了(excel格式刷快捷鍵) 怎樣做一個(gè)豁達(dá)的人(怎樣做一個(gè)豁達(dá)的人作文) 三星s4(i9500)root權(quán)限教程實(shí)現(xiàn)三星s4完美root
您的位置:首頁 >綜合精選 >

單片機(jī)(at89c52單片機(jī))

導(dǎo)讀 關(guān)于單片機(jī),at89c52單片機(jī)這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!1、AT89C52是一個(gè)低電壓

關(guān)于單片機(jī),at89c52單片機(jī)這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!

1、AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。

2、編輯本段主要功能特性  兼容MCS51指令系統(tǒng)   2、8k可反復(fù)擦寫(大于1000次)Flash ROM;   3、32個(gè)雙向I/O口;   4、256x8bit內(nèi)部RAM;   5、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;   6、時(shí)鐘頻率0-24MHz;   7、2個(gè)串行中斷,可編程UART串行通道;   8、2個(gè)外部中斷源,共8個(gè)中斷源;   9、2個(gè)讀寫中斷口線,3級加密位;   10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;   1有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

3、編輯本段引腳功能及管腳電壓  AT89C52為8 位通用微處理器,采用工業(yè)標(biāo) PDIP封裝的AT89C52引腳圖準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時(shí)的功能控制。

4、功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。

5、主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。

6、RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。

7、VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。

8、P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(32~39 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的控制功能。

9、P0 口  P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。

10、作為輸出口用時(shí),每位能吸收電流的   方式驅(qū)動8 個(gè)TTL邏輯門電路,對端口P0 寫“1”時(shí),可作為高阻抗輸入端用。

11、   在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。

12、   在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。

13、P1 口  P1 是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個(gè)TTL 邏輯   門電路。

14、對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。

15、作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉   電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。

16、   與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),   參見表1。

17、   Flash 編程和程序校驗(yàn)期間,P1 接收低8 位地址。

18、   表.P1.0和P1.1的第二功能   引腳號 功能特性 P1.0 T2,時(shí)鐘輸出 P1.1 T2EX(定時(shí)/計(jì)數(shù)器2) P2 口  P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個(gè)TTL 邏輯   門電路。

19、對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。

20、   在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。

21、在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時(shí),P2 口輸出P2 鎖存器的內(nèi)容。

22、   Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號。

23、P3 口  P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。

24、P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個(gè)TTL 邏   輯門電路。

25、對P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。

26、此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。

27、   P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能   P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗(yàn)的控制信號。

28、RST  復(fù)位輸入。

29、當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。

30、ALE/PROG  當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字   節(jié)。

31、一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。

32、要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE 脈沖。

33、   對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。

34、   如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。

35、該位置位后,只有一條   MOVX 和MOVC指令才能將ALE 激活。

36、此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 禁止位無效。

37、PSEN  程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52 由外部程序存儲器取指令(或數(shù)   據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。

38、在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。

39、EA/VPP  外部訪問允許。

40、欲使CPU 僅訪問外部程序存儲器(地址為0000H—FFFFH),EA 端必須保持低電平(接   地)。

41、需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。

42、   如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。

43、   Flash 存儲器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。

44、XTAL1  振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。

45、XTAL2  振蕩器反相放大器的輸出端。

46、編輯本段特殊功能寄存器  在AT89C52 片內(nèi)存儲器中,80H-FFH 共128 個(gè)單元為特殊功能寄存器(SFE),SFR 的地址空間映象如表2 所示。

47、   并非所有的地址都被定義,從80H—FFH 共128 個(gè)字節(jié)只有一部分被定義,還有相當(dāng)一部分沒有定義。

48、對沒有定義的   單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。

49、   不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單   元數(shù)值總是“0”。

50、   AT89C52除了與AT89C51所有的定時(shí)/計(jì)數(shù)器0 和定時(shí)/計(jì)數(shù)器1 外,還增加了一個(gè)定時(shí)/計(jì)數(shù)器2。

51、定時(shí)/計(jì)數(shù)器2 的控   制和狀態(tài)位位于T2CON(參見表3)T2MOD(參見表4),寄存器對(RCAO2H、RCAP2L)是定時(shí)器2 在16 位捕獲方式或16 位   自動重裝載方式下的捕獲/自動重裝載寄存器。

52、編輯本段數(shù)據(jù)存儲器  AT89C52 有256 個(gè)字節(jié)的內(nèi)部RAM,80H-FFH 高128 個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128   字節(jié)的RAM 和特殊功能寄存器的地址是相同的,但物理上它們是分開的。

53、   當(dāng)一條指令訪問7FH 以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128 字節(jié)   RAM 還是訪問特殊功能寄存器。

54、如果指令是直接尋址方式則為訪問特殊功能寄存器。

55、   例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2 口)地址單元。

56、   MOV 0A0H,#data   間接尋址指令訪問高128 字節(jié)RAM,例如,下面的間接尋址指令中,R0 的內(nèi)容為0A0H,則訪問數(shù)據(jù)字節(jié)地址為0A0H,   而不是P2 口(0A0H)。

57、   MOV @R0,#data   堆棧操作也是間接尋址方式,所以,高128 位數(shù)據(jù)RAM 亦可作為堆棧區(qū)使用。

58、   ·定時(shí)器0和定時(shí)器1:   AT89C52的定時(shí)器0和定時(shí)器1 的工作方式與AT89C51 相同。

59、編輯本段片上資源定時(shí)器2  基本特性:    定時(shí)器2 是一個(gè)16 位定時(shí)/計(jì)數(shù)器。

60、它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄   存器T2CON(如表3)的C/T2 位選擇。

61、定時(shí)器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計(jì)數(shù))方式和波   特率發(fā)生器方式,工作方式由T2CON 的控制位來選擇。

62、   定時(shí)器2 由兩個(gè)8 位寄存器TH2 和TL2 組成,在定時(shí)器工作方式中,每個(gè)機(jī)器周期TL2 寄存器的值加1,由于一個(gè)機(jī)   器周期由12 個(gè)振蕩時(shí)鐘構(gòu)成,因此,計(jì)數(shù)速率為振蕩頻率的1/12。

63、   在計(jì)數(shù)工作方式時(shí),當(dāng)T2 引腳上外部輸入信號產(chǎn)生由1 至0 的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)   機(jī)器周期的5SP2 期間,對外部輸入進(jìn)行采樣。

64、若在第一個(gè)機(jī)器周期中采到的值為1,而在下一個(gè)機(jī)器周期中采到的值為0,   則在緊跟著的下一個(gè)周期的S3P1 期間寄存器加1。

65、由于識別1 至0 的跳變需要2 個(gè)機(jī)器周期(24 個(gè)振蕩周期),因此,最   高計(jì)數(shù)速率為振蕩頻率的1/24。

66、為確保采樣的正確性,要求輸入的電平在變化前至少保持一個(gè)完整周期的時(shí)間,以保證輸   入信號至少被采樣一次。

67、   捕獲方式:   在捕獲方式下,通過T2CON 控制位EXEN2 來選擇兩種方式。

68、如果EXEN2=0,定時(shí)器2 是一個(gè)16 位定時(shí)器或計(jì)數(shù)器,   計(jì)數(shù)溢出時(shí),對T2CON 的溢出標(biāo)志TF2 置位,同時(shí)激活中斷。

69、如果EXEN2=1,定時(shí)器2 完成相同的操作,而當(dāng)T2EX 引   腳外部輸入信號發(fā)生1 至0 負(fù)跳變時(shí),也出現(xiàn)TH2 和TL2 中的值分別被捕獲到RCAP2H 和RCAP2L 中。

70、另外,T2EX 引   腳信號的跳變使得T2CON 中的EXF2 置位,與TF2 相仿,EXF2 也會激活中斷。

71、捕獲方式如圖4 所示。

72、   自動重裝載(向上或向下計(jì)數(shù)器)方式:   當(dāng)定時(shí)器2工作于16位自動重裝載方式時(shí),能對其編程為向上或向下計(jì)數(shù)方式,這個(gè)功能可通過特殊功能寄存器T2CON  ?。ㄒ姳?)的DCEN 位(允許向下計(jì)數(shù))來選擇的。

73、復(fù)位時(shí),DCEN 位置“0”,定時(shí)器2 默認(rèn)設(shè)置為向上計(jì)數(shù)。

74、當(dāng)DCEN   置位時(shí),定時(shí)器2 既可向上計(jì)數(shù)也可向下計(jì)數(shù),這取決于T2EX 引腳的值,參見圖5,當(dāng)DCEN=0 時(shí),定時(shí)器2 自動設(shè)置   為向上計(jì)數(shù),在這種方式下,T2CON 中的EXEN2 控制位有兩種選擇,若EXEN2=0,定時(shí)器2 為向上計(jì)數(shù)至0FFFFH 溢   出,置位TF2 激活中斷,同時(shí)把16 位計(jì)數(shù)寄存器RCAP2H 和RCAP2L重裝載,RCAP2H 和RCAP2L 的值可由軟件預(yù)置。

75、   若EXEN2=1,定時(shí)器2 的16 位重裝載由溢出或外部輸入端T2EX 從1 至0 的下降沿觸發(fā)。

76、這個(gè)脈沖使EXF2 置位,如果   中斷允許,同樣產(chǎn)生中斷。

77、   定時(shí)器2 的中斷入口地址是:002BH ——0032H 。

78、   當(dāng)DCEN=1 時(shí),允許定時(shí)器2 向上或向下計(jì)數(shù),如圖6 所示。

79、這種方式下,T2EX 引腳控制計(jì)數(shù)器方向。

80、T2EX 引腳為邏   輯“1”時(shí),定時(shí)器向上計(jì)數(shù),當(dāng)計(jì)數(shù)0FFFFH 向上溢出時(shí),置位TF2,同時(shí)把16 位計(jì)數(shù)寄存器RCAP2H 和RCAP2L 重裝   載到TH2 和TL2 中。

81、 T2EX 引腳為邏輯“0”時(shí),定時(shí)器2 向下計(jì)數(shù),當(dāng)TH2 和TL2 中的數(shù)值等于RCAP2H 和RCAP2L   中的值時(shí),計(jì)數(shù)溢出,置位TF2,同時(shí)將0FFFFH 數(shù)值重新裝入定時(shí)寄存器中。

82、   當(dāng)定時(shí)/計(jì)數(shù)器2 向上溢出或向下溢出時(shí),置位EXF2 位。

83、   波特率發(fā)生器:   當(dāng)T2CON(表3)中的TCLK 和RCLK 置位時(shí),定時(shí)/計(jì)數(shù)器2 作為波特率發(fā)生器使用。

84、如果定時(shí)/計(jì)數(shù)器2 作為發(fā)送器或   接收器,其發(fā)送和接收的波特率可以是不同的,定時(shí)器1 用于其它功能,如圖7 所示。

85、若RCLK 和TCLK 置位,則定時(shí)器2   工作于波特率發(fā)生器方式。

86、   波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,TH2 翻轉(zhuǎn)使定時(shí)器2 的寄存器用RCAP2H 和RCAP2L 中的16   位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。

87、   在方式1 和方式3 中,波特率由定時(shí)器2 的溢出速率根據(jù)下式確定:   方式1和3的波特率=定時(shí)器的溢出率/16   定時(shí)器既能工作于定時(shí)方式也能工作于計(jì)數(shù)方式,在大多數(shù)的應(yīng)用中,是工作在定時(shí)方式(C/T2=0)。

88、定時(shí)器2 作為波   特率發(fā)生器時(shí),與作為定時(shí)器的操作是不同的,通常作為定時(shí)器時(shí),在每個(gè)機(jī)器周期(1/12 振蕩頻率)寄存器的值加1,   而作為波特率發(fā)生器使用時(shí),在每個(gè)狀態(tài)時(shí)間(1/2 振蕩頻率)寄存器的值加1。

89、波特率的計(jì)算公式如下:   方式1和3的波特率=振蕩頻率/{32*[65536-(RCP2H,RCP2L)]}   式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位無符號數(shù)。

90、   定時(shí)器2 作為波特率發(fā)生器使用的電路如圖7 所示。

91、T2CON 中的RCLK 或TCLK=1 時(shí),波特率工作方式才有效。

92、在   波特率發(fā)生器工作方式中,TH2 翻轉(zhuǎn)不能使TF2 置位,故而不產(chǎn)生中斷。

93、但若EXEN2 置位,且T2EX 端產(chǎn)生由1 至0 的   負(fù)跳變,則會使EXF2 置位,此時(shí)并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2 和TL2 中。

94、所以,當(dāng)定時(shí)器2 作   為波特率發(fā)生器使用時(shí),T2EX 可作為附加的外部中斷源來使用。

95、需要注意的是,當(dāng)定時(shí)器2 工作于波特率器時(shí),作為定   時(shí)器運(yùn)行(TR2=1)時(shí),并不能訪問TH2 和TL2。

96、因?yàn)榇藭r(shí)每個(gè)狀態(tài)時(shí)間定時(shí)器都會加1,對其讀寫將得到一個(gè)不確定的   數(shù)值。

97、   然而,對RCAP2 則可讀而不可寫,因?yàn)閷懭氩僮鲗⑹侵匦卵b載,寫入操作可能令寫和/或重裝載出錯(cuò)。

98、在訪問定時(shí)器2   或RCAP2 寄存器之前,應(yīng)將定時(shí)器關(guān)閉(清除TR2)。

99、   可編程時(shí)鐘輸出:   定時(shí)器2 可通過編程從P1.0 輸出一個(gè)占空比為50%的時(shí)鐘信號,如圖8 所示。

100、P1.0 引腳除了是一個(gè)標(biāo)準(zhǔn)的I/O 口外,   還可以通過編程使其作為定時(shí)/計(jì)數(shù)器2 的外部時(shí)鐘輸入和輸出占空比50%的時(shí)鐘脈沖。

101、當(dāng)時(shí)鐘振蕩頻率為16MHz 時(shí),輸   出時(shí)鐘頻率范圍為61Hz—4MHz。

102、   當(dāng)設(shè)置定時(shí)/計(jì)數(shù)器2 為時(shí)鐘發(fā)生器時(shí),C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必須由TR2(T2CON.2)啟   動或停止定時(shí)器。

103、時(shí)鐘輸出頻率取決于振蕩頻率和定時(shí)器2 捕獲寄存器(RCAP2H,RCAP2L)的重新裝載值,公式如下:   輸出時(shí)鐘頻率=振蕩器頻率/{4*[65536-(RCP2H,RCP2L)]}   在時(shí)鐘輸出方式下,定時(shí)器2 的翻轉(zhuǎn)不會產(chǎn)生中斷,這個(gè)特性與作為波特率發(fā)生器使用時(shí)相仿。

104、定時(shí)器2 作為波特率   發(fā)生器使用時(shí),還可作為時(shí)鐘發(fā)生器使用,但需要注意的是波特率和時(shí)鐘輸出頻率不能分開確定,這是因?yàn)樗鼈兺褂?  RCAP2L和RCAP2L。

105、UART串口  AT89C52的UART 工作方式與AT89C51 工作方式相同。

106、時(shí)鐘振蕩器  AT89C52 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。

107、   這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。

108、   外接石英晶體(或陶瓷諧振器)及電容CC2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。

109、對外接電容CC2 雖   然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)   定性,如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10pF。

110、   用戶也可以采用外部時(shí)鐘。

111、采用外部時(shí)鐘的電路如圖10 右圖所示。

112、這種情況下,外部時(shí)鐘脈沖接到XTAL1 端,即內(nèi)部   時(shí)鐘發(fā)生器的輸入端,XTAL2 則懸空。

113、   由于外部時(shí)鐘信號是通過一個(gè)2 分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號的,所以對外部時(shí)鐘信號的占空比沒有特殊要求,但   最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。

114、編輯本段中斷  AT89C52 共有6 個(gè)中斷向量:兩個(gè)外中斷(INT0 和INT1),3 個(gè)定時(shí)器中斷(定時(shí)器0、2)和串行口中斷。

115、所有   這些中斷源如圖9 所示。

116、   這些中斷源可通過分別設(shè)置專用寄存器IE 的置位或清0 來控制每一個(gè)中斷的允許或禁止。

117、IE 也有一個(gè)總禁止位EA,   它能控制所有中斷的允許或禁止。

118、   注意表5 中的IE.6 為保留位,在AT89C51 中IE.5 也是保留位。

119、程序員不應(yīng)將“1”寫入這些位,它們是將來AT89 系   列產(chǎn)品作為擴(kuò)展用的。

120、   定時(shí)器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,   事實(shí)上,服務(wù)程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。

121、   定時(shí)器0 和定時(shí)器1 的標(biāo)志位TF0 和TF1 在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2 狀態(tài)置位,而會在下一個(gè)機(jī)器周期才查   詢到該中斷標(biāo)志。

122、然而,定時(shí)器2 的標(biāo)志位TF2 在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)   查詢到該標(biāo)志。

123、編輯本段低功耗模式空閑節(jié)電模式  在空閑工作模式狀態(tài), CPU 自身處于睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。

124、此時(shí),同   時(shí)將片內(nèi)RAM 和所有特殊功能寄存器的內(nèi)容凍結(jié)。

125、空閑模式可由任何允許的中斷請求或硬件復(fù)位終止。

126、   由硬件復(fù)位終止空閑狀態(tài)只需兩個(gè)機(jī)器周期有效復(fù)位信號,在此狀態(tài)下,片內(nèi)硬件禁止訪問內(nèi)部RAM,但可以訪問端   口引腳,當(dāng)用復(fù)位終止空閑方式時(shí),為避免可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對   端口或外部存儲器的寫入指令。

127、掉電模式  在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM 和特殊功能寄存器的內(nèi)   容在終止掉電模式前被凍結(jié)。

128、退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器,但不改變RAM   中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時(shí)間以使振蕩器重啟動并穩(wěn)定工作。

129、編輯本段編程和加密Flash存儲器的編程  AT89C52單片機(jī)內(nèi)部有8k字節(jié)的Flash PEROM,這個(gè)Flash 存儲陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容   均為FFH),用戶隨時(shí)可對其進(jìn)行編程。

130、編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。

131、低電壓編程模   式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM 編程器兼容。

132、   AT89C52 單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號和讀取芯片內(nèi)的   簽名字節(jié)獲得該信息。

133、   AT89C52 的程序存儲器陣列是采用字節(jié)寫入方式編程的,每次寫入一個(gè)字節(jié),要對整個(gè)芯片內(nèi)的PEROM 程序存儲器   寫入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲器的內(nèi)容清除。

134、編程方法  編程前,須按表9 和圖11 所示設(shè)置好地址、數(shù)據(jù)及控制信號, AT89C52 編程方法如下:   1. 在地址線上加上要編程單元的地址信號。

135、   2. 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。

136、   3. 激活相應(yīng)的控制信號。

137、   4. 在高電壓編程方式時(shí),將EA/Vpp 端加上+12V 編程電壓。

138、   5. 每對Flash 存儲陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè)ALE/PROG 編程脈沖。

139、每個(gè)字節(jié)寫入周期   是自身定時(shí)的,通常約為1.5ms。

140、重復(fù)1—5 步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。

141、程序存儲器的加密  AT89C52 有3 個(gè)程序加密位,可對芯片上的3 個(gè)加密位LBLB2、LB3 進(jìn)行編程(P)或不編程(U)來得到。

142、   當(dāng)加密位LB1 被編程時(shí),在復(fù)位期間,EA 端的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒有復(fù)位,則鎖存起的   初始值是一個(gè)隨機(jī)數(shù),且這個(gè)隨機(jī)數(shù)會一直保存到真正復(fù)位為止。

143、為使單片機(jī)能正常工作,被鎖存的EA 電平值必須與該引   腳當(dāng)前的邏輯電平一致。

144、此外,加密位只能通過整片擦除的方法清除。

145、數(shù)據(jù)查詢  AT89C52 單片機(jī)用Data Palling 表示一個(gè)寫周期結(jié)束為特征,在一個(gè)寫周期中,如需讀取最后寫入的一個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。

146、寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進(jìn)入下一個(gè)字節(jié)的寫周期,寫周期開始后,Data Palling 可能隨時(shí)有效。

147、   Ready/Busy:字節(jié)編程的進(jìn)度可通過“RDY/BSY 輸出信號監(jiān)測,編程期間,ALE 變?yōu)楦唠娖健癏”后,P3.4(RDY/BSY)端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。

148、編程完成后,P3.4 變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。

149、   程序校驗(yàn):如果加密位LBLB2 沒有進(jìn)行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖12的電路。

150、加密位不可直接校驗(yàn),加密位的校驗(yàn)可通過對存儲器的校驗(yàn)和寫入狀態(tài)來驗(yàn)證。

151、   芯片擦除:利用控制信號的正確組合(表6)并保持ALE/PROG 引腳10mS 的低電平脈沖寬度即可將PEROM 陣列(4k字節(jié))和三個(gè)加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進(jìn)行。

152、   讀片內(nèi)簽名字節(jié):AT89C52 單片機(jī)內(nèi)有3 個(gè)簽名字節(jié),地址為030H、031H 和032H。

153、用于聲明該器件的廠商、型號和編程電壓。

154、讀AT89C52 簽名字節(jié)需將P3.6 和P3.7 置邏輯低電平,讀簽名字節(jié)的過程和單元030H、031H 及032H 的正常校驗(yàn)相仿,只返回值意義如下:   (030H)=1EH 聲明產(chǎn)品由ATMEL公司制造。

155、  ?。?31H)=52H 聲明為AT89C52 單片機(jī)。

156、  ?。?32H)=FFH 聲明為12V 編程電壓。

157、  ?。?32H)=05H 聲明為5V 編程電壓。

本文分享完畢,希望對大家有所幫助。

標(biāo)簽:

免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

最新文章