2051單片機綜合學習系統_第1頁
2051單片機綜合學習系統_第2頁
2051單片機綜合學習系統_第3頁
2051單片機綜合學習系統_第4頁
2051單片機綜合學習系統_第5頁
免費預覽已結束,剩余12頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2051單片機綜合學習系統先看分別有流水燈, 線,SPI總線, 控,溫度傳感, 速入門如圖下我們將要使用的數碼管顯示,PS/2實驗,51單片機綜合學習系統能完成哪些實驗與產品開發工作:液晶顯示,按鍵開關,蜂鳴器奏樂,繼電器控制,IIC總AD模數轉換,光耦實驗,串口通信,紅外線遙控,無線遙 1所示,其配套書本教程單片機快步進電機控制等等。主體系統如圖2所示。他常"*: ji廠十門 I.* :一 瘤'V *;盜曲-薩葦眉京譏乎圖1 51單片機綜合學習系統主機部分圖片圖2 51單片機綜合學習系統配套書本教程單片機快速入門DS1302的工作原理上圖是我們將要使用的 51單片機綜合學習

2、系統硬件平臺,如圖1所示,本期實驗我們用到了綜合系統主機、板載的DS1302時鐘芯片,綜合系統其它功能模塊原理與使用詳見前幾期電子制作雜志及后期連載教程介紹。在很多單片機系統中都要求帶有實時時鐘電路,如最常見的數字鐘、鐘控設備、數據 記錄儀表,這些儀表往往需要采集帶時標的數據,同時一般它們也會有一些需要保存起來的重要數據,有了這些數據,便于用戶后期對數據進行觀察、分析。本小節就介紹市 面上常見的時鐘芯片 DS1302的應用。DS1302是美國DALLAS公司推出的一款高性能、 低功耗、帶內部RAM的實時時鐘芯片(RTC),也就是一種能夠為單片機系統提供日期 和時間的芯片。通過本小節的學習,我們

3、將會把RTC相關的一些技術粗略介紹一下,然后介紹DS1302與單片機之間的軟硬件應用。DS1302時鐘芯片簡介DS1302是DALLAS公司推出的涓流充電時鐘芯片,內含一個實時時鐘/日歷和31字節靜態RAM,可以通過串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數和閏年的天數可自動調整,時鐘操作可通 過AM/PM標志位決定采用24或12小時時間格式。DS1302與單片機之間能簡單地采 用同步串行的方式進行通信,僅需三根I/O線:復位(RST八I/O數據線、串行時鐘(S31字節的字符組方式通信。DS1302工1mW。CLK)。時鐘/RAM的讀/寫數

4、據以一字節或多達 作時功耗很低,保持數據和時鐘信息時,功耗小于DS1302的內部結構DS1302的外部引腳功能說明如圖 3所示:VcC21X127X2匚36gndF45圖3 DS1302封裝圖VcciSCLKI/ORSTX1,X2GNDRSTI/OSCLKVCC1VCC232.768kHz晶振引腳復位數據輸入/輸出串行時鐘電池引腳主電源引腳實時時鐘以及RAM。雖然數據分成兩種, 就是對特定的地址進行讀寫操作。<«iJMt>»MlM I Jk'KM控制邏輯、振蕩器、DS1302的內部結構如圖4所示,主要組成部分為:移位寄存器、 但是對單片機的程序而言,其實

5、是一樣的,圖4 DS1302的內部結構圖DS1302含充電電路,可以對作為后備電源的可充電電池充電,并可選擇充電使能和 串入的二極管數目,以調節電池充電電壓。不過對我們目前而言,最需要熟悉的是和時 鐘相關部分的功能,對于其它參數請參閱數據手冊。DS1302工作時為了對任何數據傳送進行初始化,需要將復位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數據在時鐘( SCLK)的上升沿串行輸入, 前8位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,讀操作時輸出數 據,寫操作時輸出數據。時鐘脈沖的個數在單字節方式下為8+8(8位地址+8位數據),在多字節方式下為8加最多可達248

6、的數據。DS1302的寄存器和控制命令DS1302內部共有12個寄存器,其中BCD碼形式。此外,DS1302還有年RAM相關的寄存器等。時時間寄存器及控制日歷、對DS1302的操作就是對其內部寄存器的操作, 有7個寄存器與日歷、時鐘相關,存放的數據位為 份寄存器、控制寄存器、充電寄存器、時鐘突發寄存器及與 鐘突發寄存器可一次性順序讀寫除充電寄存器以外的寄存器。 字如表1所示:寄存器名稱RAM/CKA4A3A2A1A0RD/W秒寄存器 分寄存器 小時寄存器 日寄存器 月寄存器 星期寄存器 年寄存器 寫保護寄存器 慢充電寄存器 時鐘突發寄存器日歷、時鐘寄存器與控制字對照表最后一位RD/W“0時表示

7、進行寫操作,為“1時表示讀操作。DS1302內部寄存器列表如表 2所示:命令字取值范圍各位內容寄存器名稱寫3210秒寄存器80H81H00-59CH10SECSEC個,每個單元為一個 8位的字節,其命令控制字為 COHFDH,其中奇數為讀操作,偶數為寫操作;再一類 為突發方式下的RAM,此方式下可一次性讀寫所有的 RAM的31個字節,命令控制字 為 FEH (寫)、FFH (讀)。DS1302內部的RAM分為兩類,一類是單個 RAM單元,共31分寄存器82H83H00-59010MINMIN小時寄存器84H85H01-12 或 00-2312/240AHRHR日期寄存器86H87H01-28,

8、29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR表2 :DS14302內部主要寄存器分布表圖5 DS1302的命令字結構DS1302的軟硬件設計實例我們現在已經知道了控制寄存器和RAM的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。單片機是通過簡單的同步串行通訊與DS1302通訊的,每次通訊都必須由單片機發起,無論是讀還是寫操作,單片機都必須先向DS1302寫入一個命令幀,這個幀的格式如表 1所示,最高位BIT7固定為1,BIT6決定操作是針

9、對 RAM還 是時鐘寄存器,接著的 5個BIT是RAM或時鐘寄存器在 DS1302的內部地址,最后一 個BIT表示這次操作是讀操作抑或是寫操作。物理上,DS1302的通訊接口由3個口線組成,即 RST,SCLK,I/O。其中RST從低 電平變成高電平啟動一次數據傳輸過程,SCLK是時鐘線,I/O是數據線。具體的讀寫時序參考圖5,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏 感的,而且一般數據寫入有效是在上升沿,讀出有效是在下降沿(DS1302正是如此的,但是在芯片手冊里沒有明確說明),如果不是特別確定,則把程序設計成這樣:平時SCLK保持低電平,在時鐘變動前設置數據, 在時鐘

10、變動后讀取數據, 即數據操作總是在 SCLK保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。1;M5 h 1TkMl本例將實現對DS1302的讀寫操作,將時鐘數據在LED數碼管上顯示出來。調試時將功 能選擇開關調到 DS1302的狀態上。圖6 DS1302實驗演示圖-.3“侖:IP ?戸-fw; F JAnJI 亠 L F f ft-V f - -f 單匸* p It"-H B - - 片 “ i r ”I 訃小 乂也;> - f , ?二 4 £ r 、! J ¥ - F rX” :;: -弋"bl-卡”;,4 > r -

11、* =.第-J : ha!;0丄匕丿匕C二 J二 JR"TH防?932 52 :-*; ? V *;焊- ;18B20 ftD0e32 PC81/HTTP: /UWUI, Hirrc硬件原理圖程序流程圖圖10-46硬件原理圖開姐DS1303訥怕化讀腳托1302時間靈示時、分.耿圖10-47軟件流程圖初步認識2051芯片上一課我們的第一個項目完成了,可能有懂C語言的朋友會說,"這和PC機上的C語言沒有多大的區別呀"。的確沒有太大的區別,C語言只是一種程序語言的統稱,針對不同的處理器相關的 C語言都會有一些細節的改變。 編寫PC機的C程序時,如要對硬件編程你就必須對硬

12、件要有一定的認識,51單片機編程就更是如此,因它的開發應用是不可與硬件脫節的,所以我們先要來初步認識一下51苾片的結構和引腳功能。MSC51架構的芯片種類很多,具體特點和功能不盡相同(在以后編寫的附錄中會加入常用的一些51芯片的資料列表),在此后的教程中就以Atmel 公司的 AT89C51 和 AT89C2051為中心對象來進行學習,兩者是 AT89系列的典型代表,在愛好者中使用相當的多,應用資料很多,價格便宜,是初學51的首選芯片。嘿嘿,口水多多有點賣廣告之嫌了。RST嚴m inrrirj irrJTTjaummKTAL2 - XTAL ( OhC I37i423 VCCl IPO.O H

13、AO和 .P0.1 lADIlI PO JI IPO. 3 1*03) JI Cb J. * Ap羊 *I * 4AC>«11 P&.r ADJ) I IE:| ALEfPAO宕 IPSCN:f*i.T 1A1 時4 4A 114I IPJ 51、忖1 HJI PJ J (AIOlPJ IIH&T/VPP (RXDt P3 O' '! (TXDJ P3.1 .XTAL2 7KTAL1 1 1 (INTOI P3 2 (IhTM P3.3i(,T0> P3.4 - i(TU P3.5GND IfS010典191017161511411y VC

14、C'F1I.7Pl.ft 口 Pl £'PI PI.3 =1 PI.2 _1 P1.1 (AlliMlI Ti Pl.O (AtNO) *1卩”AT89C51AT89C2P51AT89C51AT89C20514KB可編程Flash存儲器(可擦寫10002KB可編程Flash存儲器(可擦寫1000次)次)三級程序存儲器保密兩級程序存儲器保密靜態工作頻率:0Hz-24MHz靜態工作頻率:0Hz-24MHz128字節內部RAM128字節內部RAM2個16位定時/計數器2個16位定時/計數器一個串行通訊口一個串行通訊口6個中斷源6個中斷源32條I/O引線15條I/O引線片內時

15、種振蕩器1個片內模擬比較器和AT89C2051引腳功能圖圖 2- 1 AT89C51圖2 1中是AT89C51和AT89C2051的引腳功能圖。而表2 1中則是它們的主要性 能表。以上可以看出它們是大體相同的,由于AT89C2051的10線很少,導致它無法外加RAM和程序ROM,片內Flash存儲器也少,但它的體積比 AT89C51小很多,以后 大家可根據實際需要來選用。它們各有其特點但其核心是一樣的,下面就來看看AT89C51的引腳具體功能。1.電源引腳Vcc 40 電源端GND 20 接地端*工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V,引腳功能一樣。2.外接晶體引腳C2T

16、卜C1 I卜XTAL2XTAL1懸空外部摭跖信號X7AL2XTALIGNDXTAL119GMD2.外部方式外接晶體引腳XTAL218是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,XTAL1外部振蕩信號應直接加到 XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈 沖二分頻,如晶振為12MHz,時鐘頻率就為 6MHz。晶振的頻率可以在 1MHz-24MHz 內選擇。電容取 30PF左右。*型號同樣為 AT89C51的芯片,在其后面還有頻率編號,有 12,16,20,24MHz可選。大 家在購買和選用時要注意了。 如AT89C51 24PC就是最高振蕩頻率為 2

17、4MHz,40P6封裝 的普通商用芯片。3.復位 RST 9在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引腿時,將 使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后 P0- P3 口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開始運行程序。常用的復位電路如圖2 3所示。*復位操作不會對內部 RAM有所影響。圖2-3常用復位電路4.輸入輸出引腳(1) P0端口 P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,端口置1 (對端口寫1) 時作高阻抗輸入端。作為輸出口時能驅動8個

18、TTL。對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上 拉電阻。在訪問外部程序和外部數據存儲器時,P0 口是分時轉換的地址(低8位)/數據總線,訪問期間內部的上拉電阻起作用。P1端口 P1.0 P1.7 P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低 8位地址信息。P2端口 P2.0 P2.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器

19、編程時,接收高 8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2 口送出高8位地址。而在訪問8位地址 的外部數據存儲器時其引腳上的內容在此期間不會改變。P3端口 P3.0 P3.7 P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看表2 2.。* P1 3端口在做輸入使用時,因內部有上接電阻,被外部拉低的引腳會輸出一定的電 流。P3引腳兼用功能P 3.0串行通訊輸入(RXDP 3.1串行通訊輸出(TXDP 3.2外部

20、中斷0 ( INT0 )P 3.3外部中斷1 (INT1)P 3.4定時器0輸入(T0)P 3.5定時器1輸入(T1)P 3.6外部數據存儲器寫選通WRP 3.7外部數據存儲器寫選通RD表2- 2 P3端口引腳兼用功能表呼! 一口氣說了那么多,停一下吧。嗯,什么?什么叫上拉電阻?上拉電阻簡單來說就 是把電平拉高,通常用 4.7 10K的電阻接到Vcc電源,下拉電阻則是把電平拉低,電 阻接到GND地線上。具體說明也不是這里要討論的,接下來還是接著看其它的引腳功 能吧。5.其它的控制或復用引腳ALE端仍以不變的頻率輸出脈沖信號(此頻率是振脈沖。對Flash存儲器編程ALE/PROG 30訪問外部存儲器時,ALE (地址鎖存允許)的輸出用于鎖存地址的 低位字節

溫馨提示

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

評論

0/150

提交評論