18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

單片機c語言 第二課 初步認識51芯片

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-2-18

上一課我們(men) 的第一個(ge) 項目完成了,可能有懂C語言的朋友會(hui) 說,"這和PC機上的C語言沒有多大的區別呀"。的確沒有太大的區別,C語言隻是一種程序語言的統稱,針對不同的處理器相關(guan) 的C語言都會(hui) 有一些細節的改變。編寫(xie) PC機的C程序時,如要對硬件編程你就必須對硬件要有一定的認識,51單片機編程就更是如此,因它的開發應用是不可與(yu) 硬件脫節的,所以我們(men) 先要來初步認識一下51苾片的結構和引腳功能。MSC51架構的芯片種類很多,具體(ti) 特點和功能不盡相同(在以後編寫(xie) 的附錄中會(hui) 加入常用的一些51芯片的資料列表),在此後的教程中就以Atmel公司的AT89C51和AT89C2051為(wei) 中心對象來進行學習(xi) ,兩(liang) 者是AT89係列的典型代表,在愛好者中使用相當的多,應用資料很多,價(jia) 格便宜,是初學51的首選芯片。嘿嘿,口水多多有點賣廣告之嫌了。


圖2-1 AT89C51和AT89C2051引腳功能圖

AT89C51

AT89C2051

4KB可編程Flash存儲(chu) 器(可擦寫(xie) 1000次)

2KB可編程Flash存儲(chu) 器(可擦寫(xie) 1000次)

三級程序存儲(chu) 器保密

兩(liang) 級程序存儲(chu) 器保密

靜態工作頻率:0Hz-24MHz

靜態工作頻率:0Hz-24MHz

128字節內(nei) 部RAM

128字節內(nei) 部RAM

2個(ge) 16位定時/計數器

2個(ge) 16位定時/計數器

一個(ge) 串行通訊口

一個(ge) 串行通訊口

6個(ge) 中斷源

6個(ge) 中斷源

32條I/O引線

15條I/O引線

片內(nei) 時種振蕩器

1個(ge) 片內(nei) 模擬比較器

表2-1 AT89C51和AT89C2051主要性能表

圖2-1中是AT89C51和AT89C2051的引腳功能圖。而表2-1中則是它們(men) 的主要性能表。以上可以看出它們(men) 是大體(ti) 相同的,由於(yu) AT89C2051的IO線很少,導致它無法外加RAM和程序ROM,片內(nei) Flash存儲(chu) 器也少,但它的體(ti) 積比AT89C51小很多,以後大家可根據實際需要來選用。它們(men) 各有其特點但其核心是一樣的,下麵就來看看AT89C51的引腳具體(ti) 功能。
1.電源引腳
Vcc 40 電源端
GND 20 接地端
*工作電壓為(wei) 5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。

2.外接晶體(ti) 引腳

圖2-2 外接晶體引腳
XTAL1 19
XTAL2 18
XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鍾發生器對振蕩脈衝二分頻,如晶振為12MHz,時鍾頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。
*型號同樣為AT89C51的芯片,在其後麵還有頻率編號,有12,16,20,24MHz可選。大家在購買和選用時要注意了。如AT89C51 24PC就是最高振蕩頻率為24MHz,40P6封裝的普通商用芯片。

3.複位 RST 9
在振蕩器運行時,有兩(liang) 個(ge) 機器周期(24個(ge) 振蕩周期)以上的高電平出現在此引腿時,將使單片機複位,隻要這個(ge) 腳保持高電平,51芯片便循環複位。複位後P0-P3口均置1引腳表現為(wei) 高電平,程序計數器和特殊功能寄存器SFR全部清零。當複位腳由高電平變為(wei) 低電平時,芯片為(wei) ROM的00H處開始運行程序。常用的複位電路如圖2-3所示。
*複位操作不會(hui) 對內(nei) 部RAM有所影響。

圖2-3 常用複位電路
4.輸入輸出引腳
(1) P0端口[P0.0-P0.7] P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅動8個TTL。
對內部Flash程序存儲器編程時,接收指令字節;校驗程序時輸出指令字節,要求外接上拉電阻。
在訪問外部程序和外部數據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,訪問期間內部的上拉電阻起作用。
(2) P1端口[P1.0-P1.7] P1是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。
對內部Flash程序存儲器編程時,接收低8位地址信息。
(3) P2端口[P2.0-P2.7] P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。
對內部Flash程序存儲器編程時,接收高8位地址和控製信息。
在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。
(4) P3端口[P3.0-P3.7] P2是一個帶有內部上拉電阻的8位雙向I/0端口。輸出時可驅動4個TTL。端口置1時,內部上拉電阻將端口拉到高電平,作輸入用。
對內部Flash程序存儲器編程時,接控製信息。除此之外P3端口還用於一些專門功能,具體請看表2-2.。
*P1-3端口在做輸入使用時,因內部有上接電阻,被外部拉低的引腳會輸出一定的電流。

P3引腳

兼用功能

P3.0

串行通訊輸入(RXD

P3.1

串行通訊輸出(TXD

P3.2

外部中斷0INT0

P3.3

外部中斷1INT1

P3.4

定時器0輸入(T0)

P3.5

定時器1輸入(T1)

P3.6

外部數據存儲(chu) 器寫(xie) 選通WR

P3.7

外部數據存儲(chu) 器寫(xie) 選通RD

表2-2 P3端口引腳兼用功能表
呼!一口氣說了那麽多,停一下吧。嗯,什麽?什麽叫上拉電阻?上拉電阻簡單來說就是把電平拉高,通常用4.7-10K的電阻接到Vcc電源,下拉電阻則是把電平拉低,電阻接到GND地線上。具體說明也不是這裏要討論的,接下來還是接著看其它的引腳功能吧。
5.其它的控製或複用引腳
(1) ALE/PROG 30 訪問外部存儲器時,ALE(地址鎖存允許)的輸出用於鎖存地址的低位字節。即使不訪問外部存儲器,ALE端仍以不變的頻率輸出脈衝信號(此頻率是振蕩器頻率的1/6)。在訪問外部數據存儲器時,出現一個ALE脈衝。對Flash存儲器編程時,這個引腳用於輸入編程脈衝PROG
(2) PSEN 29 該引是外部程序存儲器的選通信號輸出端。當AT89C51由外部程序存儲器取指令或常數時,每個機器周期輸出2個脈衝即兩次有效。但訪問外部數據存儲器時,將不會有脈衝輸出。
(3) EA/Vpp 31 外部訪問允許端。當該引腳訪問外部程序存儲器時,應輸入低電平。要使AT89C51隻訪問外部程序存儲器(地址為0000H-FFFFH),這時該引腳必須保持低電平。對Flash存儲器編程時,用於施加Vpp編程電壓。Vpp電壓有兩種,類似芯片最大頻率值要根據附加的編號或芯片內的特征字決定。具體如表2-3所列。

 

Vpp =12V

Vpp =5V

 

印刷在芯片麵上的型號

AT89C51

xxxx

YYWW

AT89LV51

xxxx

YYWW

AT89C51

xxxx-5

YYWW

AT89LV51

xxxx-5

YYWW

 

片內(nei) 特征字

030H=1EH

030H=1EH

030H=1EH

030H=1EH

031H=51H

031H=61H

031H=51H

031H=61H

032H=FFH

032H=FFH

032H=05H

032H=05H

表2-3 Vpp與芯片型號和片內特征字的關係
看到這您對AT89C51引腳的功能應該有了一定的了解了,引腳在編程和校驗時的時序我們在這裏就不做詳細的探討,通常情況下我們也沒有必要去撐握它,除非你想自己開發編程器。下來的課程我們要開始以一些簡單的實例來講述C程序的語法和編寫方法技巧,中間穿插相關的硬件知識如串口,中斷的用法等等。
Tags:單片機,c語言教程,51芯片  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢