《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 從AT89C51了解單片機
從AT89C51了解單片機
互聯網
摘要: AT89C51是美國ATMEL公司生產的AT89系列單片機中的一種,它與MCS-51系列的許多機種都具有兼容性,并具有廣泛的代...
關鍵詞: 51單片機 MCU 單片機
Abstract:
Key words :
     AT89C51是美國ATMEL公司生產的AT89系列單片機中的一種,它與MCS-51系列的許多機種都具有兼容性,并具有廣泛的代表性。為了便于讀者對“單片機速通教程”以后的系列實例文章的理解,下面,我們先來了解一下AT89C51的硬件結構和CPU的工作原理。
一、 硬件結構
1 內部結構
 
  AT89C51單片機的內部結構與MCS-51系列中的MCS-8051的內部結構基本相同。由圖1可知,AT89C51單片機主要由CPU、片內RAM、片內ROM及4個標準輸入輸出I/O口等組成。片內4KB ROM為程序存儲器,這里面主要存放指揮CPU進行操作的指令代碼。4KB ROM共有4096個存儲單元,每個單元可存放一個字節共8位二進制數字。程序存儲器中的每個單元都有一個確定的地址,4K空間地址范圍為0000H至0FFFH。128B RAM為128個字節的可讀寫數據存儲器,主要放置需頻繁處理的數據。其地址空間為00H至7FH,其中00H至07H這8個單元是一組工作寄存器,由于對它們的操作另有專用指令,所以將這幾個單元又分別記作R0、R1、R2、R3、R4、R5、R6、R7。4個標準輸入輸出I/O口P0、P1、P2、P3與CPU內部的一些特殊功能寄存器,如定時器控制寄存器(TCON)、串行口控制寄存器(SCON)等是統一編址的。這些存儲器離散地分布在80H至FFH地址空間內。其中P0、P1、P2、P3的地址分別是80H、90H、A0H和B0H。有了確定的地址,才能準確無誤地對它們進行操作。比如我們要向P0口送一個數,只要用一個送數指令,將數“寫”到80H這個存儲單元就完成了。也就是說把要送的數存到P0口鎖存器之中,再通過驅動器,就可將數據各位代表的高低電位輸出到P0.0至P0.7的這8條口線引腳上了。
2 引腳功能
  單片機具備了CPU、程序存儲器、數據存儲器和輸入輸出口等硬件資源之后,還需要供電電源、時鐘觸發和復位等控制的支持才能正常工作。而這些輸入都是通過引腳與單片機連接的。圖2是單片機AT89C51的引腳排布圖。由圖2可知,AT89C51是標準的40線雙列直插式封裝(也有其它封裝形式)的集成電路,其引腳與MCS-51系列單片機完全兼容。這40條引腳大致可分為電源(Vcc、Vss、VPP、VPD)、時鐘(XTAL1、XTAL2)、專用控制線(ALE、RST、PROGPSENEA)、通用多功能輸入輸出標準I/O口(P0~P3)等4大部分。該單片機有6條引腳是保證基本工作所必須連接的:40腳Vcc和20腳Vss 為整個芯片提供電源;18腳、19腳是時鐘振蕩引腳,它們的內部連接一個高增益放大器,外部接一晶振選頻產生振蕩脈沖,并可配接一些電容、電感使振蕩更精確。此振蕩脈沖,為整個CPU及其定時等有效操作系統提供時鐘。另外兩條引腳是EA和RST。31腳EA是程序存儲器片內片外選擇腳,如果EA接低電位,CPU不從片內ROM中取指;EA接高電位,CPU先從片內程序存儲器取指。第9腳RST的主要功能是使單片機復位。當單片機接通以上5腳后,只要在第9腳上加一個寬度不小于24個振蕩周期,也就是2個機器周期的正脈沖,它就能使系統復位。系統復位就是意味著CPU里各種寄存器等功能部分有一種標準的、固定的狀態,這樣有利于系統設計。比如系統復位后,能使P0口至P3口的數據為FFH,也就是各口線皆呈高電位,不然就會出現每通一次電,系統就呈現一種不同的狀態,給負載電路的設計帶來困難。系統復位后,還能使程序地址寄存器PC的值為0000H,這就保證系統從程序存儲空間的0000H單元取指,使程序有個起始,保證系統能有條不紊地運行。因此,程序存儲器從第一單元開始一般放一條無條件跳轉指令,指出主程序的入口,引導系統進入主程序運行。


3 I/O口的介紹
  在圖2中,還有P0~P3引腳。這些引腳可以將單片機輸出的高低電位信號傳送給片外的負載,也可將片外其它設備輸出的高低電位號輸入至單片機,因此,在單片機中,這些引腳就叫做輸入輸出端口,簡稱I/O口。一個標準的I/O口一般由8條I/O口線組成。標準I/O口的主要功能相當于一個8位鎖存器,能存儲一個字節的二進制數據,以保持與之相連接的8條口線各自電位的高低狀態。在圖2中,AT89051的第1腳至第8腳相對應的8條口線P1.0至P1.7組成的標準口記作P1口,第10腳至第17腳相對應的口線P3.0至P3.7組成的P3口,第21腳至28腳相對應的8條口線P2.0至P2.7組成了P2口,第32腳至39腳相對應的8條口線P0.0至P0.7組成了P0口。有了這些標準輸入輸出口,使用起來就很方便了。這樣,我們可編制一段程序,向這些標準口中存入一定的數據(這些數據也可叫控制字),各口線引腳就會呈現出不同的高低電位。比如我們向P0、P1、P2、P3口中送入數據#00H,則每個口的各口線電位狀態就會為“0000 0000”,也就是各條口線皆呈低電位。我們再向P0口送入數據#03H。P0.0至P0.7各條口線所呈電位為“0000 0011”,也就是只有P0.0和P0.1兩條口線所對應的引腳呈高電位。另外,還應知道,P0口的P0.0~P0.7的位地址是80H至87H,P1口的P1.0至P1.7的位地址是90H至97H,P2.0至P2.7和P3.0至P3.7的位地址分別是A0H至A7H和B0H至B7H。
4 I/O口結構
  AT89C51單片機或其它與之兼容的單片機,作為初學者還必須掌握它的I/O口結構和電流負載能力。比如AT89C2051口線負載能力達25mA,AT89C51可達15mA等等。下面以P1.0口線為例,談一下I/O口結構,圖3為P1.0口線的內部驅動器電原理圖。由圖可知,驅動器的輸入端是和鎖存器的Q相連接的,驅動器的輸出部分由4只場效應管組成,N型管VT4為下拉管,P型的VT1、VT2、VT3為上拉管。依次為強上拉、弱上拉和中上拉。當我們向P1.0位寫“1”時,Q呈低電位,于是,VT4截止,VT1、VT2、VT3導通。其中VT1導通過程稍復雜一些,圖3中VT1的柵極與Q之間接有一個延時器件F1,此延時器件的導通態維持時間是2個振蕩周期。也就是說,當Q為低電位時,延時器F1導通,VT1也迅速導通,經過兩個振蕩周期以后,延時電路處于開路狀態,于是VT1截止。所以,VT1只是在CPU向P1.0寫“1”后很短的時間內導通,以較強的電流拉動能力將P1.0引腳的電位拉起。經過2個振蕩周期以后,VT1截止,只有VT2和VT3導通。如果此時P1.0引腳的負載不是嚴重超載,P1.0引腳的電位會高于2.1V,此電位高于非門F3的門限電壓,F3的輸出端為低電位,與之相接的VT3的柵極亦為低電位,VT3導通,提供中度的上拉電流,使P1.0輸出的電流達到額定值;如果P1.0引腳嚴重超載,比如被SB1對地短路,P1.0引腳的輸出電位將很低,幾乎為零,此電位低于非門F3的門限電壓,F3的輸出端為高電位,VT3截止,只有VT2提供微安級的弱上拉電流。而當SB1釋放后VT3又重新導通,P1.0引腳的電位和上拉負載能力均恢復。單片機標準口的這種結構,既安全,又可靠。由上述我們不難得出這樣的結論:這些口線不論在什么狀態下都不怕對地短路,但絕不能直接與Vcc相接。因為當口線處于低電位時,VT4導通,如果此時口線直接與Vcc相連接,VT4就可能被燒壞。許多開發者曾用此方法將某些口線燒壞來實現加密。當然這樣是以犧牲單片機的口資源為代價的。


二、 CPU的工作過程
  CPU盡管結構復雜,靠程序的支持來實現其強大的功能,但在運行程序中執行每條指令的過程卻是非常簡單的,就是不斷地從程序存儲器中取出程序代碼,按照代碼所代表的含義去完成一種單一的操作。上述程序存儲器的這4096個存儲單元,就好像4096個小抽屜,而程序代碼就好像放在小抽屜里的工作說明。CPU就像是一個只能依照抽屜里的說明,而且是每次只能完成一條說明的識讀來依次完成簡單操作的弱智人一樣。這個人開始時一定會先打開第1個抽屜,如果第1個抽屜里的紙條上寫著“請到第2個和第3個抽屜里的紙條上所標明的抽屜里去找指定的工作做”,他就會打開第2個和第3個抽屜取出紙條來準確地識讀,確認第3個抽屜的號碼。如果這兩張紙條上分別寫著“10”和“08”,他就會打開第1008個抽屜取出紙條去完成操作。此過程就相當于CPU執行了一條無條件轉移指令,一下子從程序的開始,跳到了第1008個單元去運行主程序。如果第1008個抽屜中的這張紙條上寫著:“把第18#黑板上的會議通知中的時間由下午2點改成下午3點,”這個人就會將第18#黑板上的2擦掉改成3。這18#黑板就好像RAM的第18單元,此次操作相當于CPU執行了一條送數指令。前述向各I/O口送數的過程亦如此。
  單片機只是一個可以讀懂人給予它的命令并能按照這種命令去完成某種操作的高級電路而已,由它構成的各種智能系統的智力在程序中,完成操作的能力在執行設備中。而程序必須由人來編制。所以,我們學習單片機,要在認識它的結構和功能的基礎上學會編程,能夠設計出各種系統的硬件和軟件才行。結合機器碼學習程序便于深刻理解,特別適合于愛好電路制作的電子愛好者,能學到真功夫。但機器碼不容易記憶,在編較長的程序時,會遇到許多不便。所以,當你能熟練地使用一些高級開發設備時,還必須掌握匯編語言。▲

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99xxoo视频在线永久免费观看| 久久精品国产亚洲av无码麻豆| 精品国产一区AV天美传媒| 国产在线五月综合婷婷| 窝窝午夜看片七次郎青草视频 | 极品美女一级毛片| 亚洲日韩在线中文字幕综合| 爱情岛亚洲论坛在线观看| 再深点灬舒服灬太大了69| 老子影院午夜伦手机在线看| 国产亚洲漂亮白嫩美女在线 | 欧美大片在线观看完整版| 亚洲精品乱码久久久久久不卡| www.日日干| 无码av无码天堂资源网| 久久天堂AV综合合色蜜桃网| 极品美女一级毛片| 亚洲人6666成人观看| 欧美日韩亚洲国产一区二区综合| 亚洲色大成网站WWW尤物| 男女同床爽爽视频免费| 全黄裸片一29分钟免费真人版| 精品国产福利片在线观看| 国产精品自产拍在线观看| 97人人模人人爽人人少妇| 大学生情侣在线| chinese帅哥18kt| 奇米影视四色中文字幕| www.日日夜夜| 女人张开腿让男人插| らだ天堂√在线中文www| 宵宫被爆3d动画羞羞漫画| 一本大道高清香蕉中文大在线 | 精品无码国产污污污免费网站国产| 国产a级小龙女乱理片| 色婷婷丁香六月| 国产一区在线观看视频| 色综合色综合久久综合频道| 国产一区二区三区在线影院| 色欲综合久久中文字幕网| 国产一区二区三区不卡在线观看 |