❶ 單片機的結構
一、單片機的外部結構
拿到一塊晶元,想要使用它,首先必須要知道怎樣連線,我們用的一塊稱之為89C51的晶元,下面我們就看一下如何給它連線。 1、 電源:這當然是必不可少的了。單片機使用的是5V電源,其中正極接40引腳,負極(地)接20引腳。 2、 振蒎電路:單片機是一種時序電路,必須提供脈沖信號才能正常工作,在單片機內部已集成了振盪器,使用晶體振盪器,接18、19腳。只要買來晶振,電容,連上就可以了,按圖1接上即可。 3、 復位引腳:按圖1中畫法連好,至於復位是何含義及為何需要復要復位,在單片機功能中介紹。 4、 EA引腳:EA引腳接到正電源端。 至此,一個單片機就接好,通上電,單片機就開始工作了。
我們的第一個任務是要用單片機點亮一隻發光二極體LED,顯然,這個LED必須要和單片機的某個引腳相連,否則單片機就沒法控制它了,那麼和哪個引腳相連呢?單片機上除了剛才用掉的5個引腳,還有35個,我們將這個LED和1腳相連。
當1腳是高電平時,LED不亮,只有1腳是低電平時,LED才發亮。因此要1腳我們要能夠控制,也就是說,我們要能夠讓1引腳按要求變為高或低電平。即然我們要控制1腳,就得給它起個名字,總不能就叫它一腳吧?叫它什麼名字呢?設計51晶元的INTEL公司已經起好了,就叫它P1.0,這是規定,不可以由我們來更改。
名字有了,我們又怎樣讓它變'高'或變'低'呢?叫人做事,說一聲就可以,這叫發布命令,要計算機做事,也得要向計算機發命令,計算機能聽得懂的命令稱之為計算機的指令。讓一個引腳輸出高電平的指令是SETB,讓一個引腳輸出低電平的指令是CLR。因此,我們要P1.0輸出高電平,只要寫SETB P1.0,要P1.0輸出低電平,只要寫 CLR P1.0就可以了。
現在我們已經有辦法讓計算機去將P10輸出高或低電平了,但是我們怎樣才能計算機執行這條指令呢?總不能也對計算機也說一聲了事吧。要解決這個問題,還得有幾步要走。第一,計算機看不懂SETB CLR之類的指令,我們得把指令翻譯成計算機能懂的方式,再讓計算機去讀。計算機能懂什麼呢?它只懂一樣東西——數字。因此我們得把SETB P1.0變為(D2H,90H ),把CLR P1.0變為 (C2H,90H ),至於為什麼是這兩個數字,這也是由51晶元的設計者--INTEL規定的,我們不去研究。第二步,在得到這兩個數字後,怎樣讓這兩個數字進入單片機的內部呢?這要藉助於一個硬體工具"編程器"。
我們將編程器與電腦連好,運行編程器的軟體,然後在編緝區內寫入(D2H,90H),寫入……好,拿下片子,把片子插入做好的電路板,接通電源……什麼?燈不亮?這就對了,因為我們寫進去的指令就是讓P10輸出高電平,燈當然不亮,要是亮就錯了。現在我們再撥下這塊晶元,重新放回到編程器上,將編緝區的內容改為(C2H,90H),也就是CLR P1.0,寫片,拿下片子,把片子插進電路板,接電,好,燈亮了。因為我們寫入的()就是讓P10輸出低電平的指令。這樣我們看到,硬體電路的連線沒有做任何改變,只要改變寫入單片機中的內容,就可以改變電路的輸出效果。
二、單片機內部結構分析 我們來思考一個問題,當我們在編程器中把一條指令寫進單片要內部,然後取下單片機,單片機就可以執行這條指令,那麼這條指令一定保存在單片機的某個地方,並且這個地方在單片機掉電後依然可以保持這條指令不會丟失,這是個什麼地方呢?這個地方就是單片機內部的只讀存儲器即ROM(READ ONLY MEMORY)。為什麼稱它為只讀存儲器呢?剛才我們不是明明把兩個數字寫進去了嗎?原來在89C51中的ROM是一種電可擦除的ROM,稱為FLASH ROM,剛才我們是用的編程器,在特殊的條件下由外部設備對ROM進行寫的操作,在單片機正常工作條件下,只能從那面讀,不能把數據寫進去,所以我們還是把它稱為ROM。
❷ PIC單片機的基本功能區域包括哪幾部分各有什麼作用
PIC單片機是一種微型計算機,主要由中央處理器、存儲器、輸入輸出介面等組成。其中,基本功能區域主要包消瞎括以下幾個部分:
中央處理器(CPU):是PIC單片機的核心部件,主要負責數據運算和控制指令的執行。
存儲器:包括快閃記憶體(Flash Memory)、EEPROM和隨肆歷機訪問存儲器(RAM),用於存儲程序和數據。
輸入輸出介面:包括數字輸入輸出介面(Digital I/O)、模擬輸入輸出介面(Analog I/O)和串列通信介面(Serial I/O),用於連接外部設備和傳輸數據。
定時器計數器(Timer/Counter):用於生成定時信號和計數器信號,可用於測量時間和控制事件。
中斷控制器(Interrupt Controller):用於處理外部中斷和異常,可在CPU處理其他任務的同時處理來自外部設備的中斷請求。
這些部分各自具有不同的功能和作用,共同組成了PIC單片機的基本功能區域。中央處理器是計算和控制的核心,存儲器提供程序和數據的存儲,輸入輸出介面實現了PIC單片機與外部設備的通信,定時器計數器提供了定時和計數功能,中斷控制器處理外部中斷和異常拿雹空。在實際應用中,這些部分的具體功能和作用會根據需求和應用場景而有所差異。
❸ mcs-51單片機是由哪些部分組成的
mcs-51單片機按照功能劃分是由運算器,控制器,片內存儲器,4個並行i/o口,串列口,定時/計數器,中斷系統,振盪器等功能部件組成。
❹ MCS-51單片機內部結構由哪幾部分組成
單片機與微型計算機都是由CPU、存儲器和輸入/輸出介面等組成的。
單片機(Single-Chip Microcomputer)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能。
集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
特點:
單片機的特點可歸納為以下幾個方 面:集成度高;存儲容量大;外部擴展能力強;控制功能強。
1、從內部的硬體到軟體有一套完整的按位操作系統,稱作位處理器,處理對象不是字或位元組而是位。不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。
2、同時在片內RAM區間還特別開辟了一個雙重功能的地址區間,使用極為靈活,這一功能無疑給使用者提供了極大地方便。
3、乘法和除法指令,這給編程也帶來了便利。很多的八位單片機都不具備乘法功能,作乘法時還得編上一段子程序調用,十分不便。
❺ 51單片機的結構組成
上圖就是我們要研究學習的對象,51單片機摧部結構圖了。大家看看上圖,中間的一條雙橫線就是51單片機的內部匯流排了。其它的部件都是通過內部的匯流排與CPU相聯接的,在第一節課時我們已跟大家講述過,8051單片機是匯流排結構的。下面我們就51單片機內部的單個部件與大家進行講解。
中央處理器(CPU):
剛跟大家講過,需要提醒的是MCS-51的CPU能處理8位二進制數或代碼。CPU是單片機的主要核心部件,在CPU裡麵包含了運算器、控制器以及若干寄存器等部件給成。
內部數據存儲器(RAM):
MCS-51單片機晶元共有256個RAM單元,其中後128單元被專用寄存器佔用(稍後我們詳解),能作為寄存器供用戶使用的只是前128單元,用於存放可讀寫的數據。因此通常所說的內部數據存儲器就是指前128單元,簡稱內部RAM。地址范圍為00H~FFH(256B)。是一個多用多功能數據存儲器,有數據存儲、通用工作寄存器、堆棧、位地址等空間。
內部程序存儲器(ROM):
在前面也已講過,MCS-51內部有4KB/8KB位元組的ROM(51系列為4KB,51系列為8KB),用於存放程序、原始數據或表格。因此稱之為程序存儲器,簡稱內部RAM。地址范圍為0000H~FFFFH(64KB)。
定時器/計數器
51系列共有2個16位的定時器/計數器(52系列共有3個16位的定時器/計數器),以實現定時或計數功能,並以其定時或計數結果對計算機進行控制。定時時靠內部分頻時鍾頻率計數實現,做計數器時,對P3.4(T0)或P3.5(T1)埠的低電平脈沖計數。
並行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3)以實現數據的輸入輸出。具體功能在後面章節中將會詳細論述。
串列口
MCS-51有一個可編程的全雙工的串列口,以實現單片機和其它設備之間的串列數據傳送。該串列口功能較強,既可作為全雙工非同步通信收發器使用,也可作為移位器使用。RXD( P3.0)腳為接收埠,TXD(P3.1)腳為發送埠。
中斷控制系統
MCS-51單片機的中斷功能較強,以滿足不同控制應用的需要。51系列有5個中斷源(52系列有6個中斷源),即外中斷2個,定時中斷2個,串列中斷1個,全部中斷分為高級和低級共二個優先順序別,優先順序別的設置我們也將在後面進行詳細的講解。
定時與控制部件
MCS-51單片機內部有一個高增益的反相放大器,基輸入端為XTAL1輸出端為XTAL2。MCS-51晶元的內部有時鍾電路,但石英晶體和微調電容需外接。時鍾電路為單片機產生時鍾脈沖序列。
❻ 單片機基本結構
單片機,全稱單片微型計算機,又稱微控制器,是把中央處理器、存儲器、定時/計數器、各種輸入輸出介面等都集成在一塊集成電路晶元上的微型計算機。 單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。
基本結構
1.運算器
運算器由運算部件——算術邏輯單元(Arithmetic&Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。例如,兩個數6和7相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執行加法指令時,ALU即把兩個數相加並把結果13存入累加器,取代累加器原來的內容6。
運算器有兩個功能:
(1) 執行各種算術運算。
(2) 執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
2.控制器
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:
(1) 從內存中取出一條指令,並指出下一條指令在內存中的位置。
(2) 對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
(3) 指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
3.主要寄存器
(1)累加器A
圖1-2 單片機組成框圖
累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用於保存一個操作數;運算後,用於保存所得的和、差或邏輯運算結果。
(2)數據寄存器DR
數據寄存器通過數據匯流排向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在解碼的指令,也可以保存正在送往存儲器中存儲的一個數據位元組等等。
(3)指令寄存器IR和指令解碼器ID
指令包括操作碼和操作數。
指令寄存器是用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存中取到數據寄存器中,然後再傳送到指令寄存器。當系統執行給定的指令時,必須對操作碼進行解碼,以確定所要求的操作,指令解碼器就是負責這項工作的。其中,指令寄存器中操作碼欄位的輸出就是指令解碼器的輸入。
(4)程序計數器PC
PC用於確定下一條指令的地址,以保證程序能夠連續地執行下去,因此通常又被稱為指令地址計數器。在程序開始執行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執行指令的地址。
(5)地址寄存器AR
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那麼當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。
❼ 單片機電子鍾原理圖,幫我大概解釋一下這個圖的工作原理就可以了,謝謝。帶圖!5分
本電子鍾採用PIC16C55單片機控制,適於溫室的定時恆溫或自來水的定時定壓控制等。PIC16C55單片機工作電壓為2.5~6.25V,功耗低、驅動能力強。本電子鍾可以控制一路負載在24小時內的3次開/關;一個雙限觸發的定時輸出口,既可接傳統的功率保持型繼電器,也可接脈沖繼電器。本機用四位LED數碼管掃描式顯示,還有消隱(省電)工作方式,使用起來非常靈活、方便。
一、 電子鍾工作原理
電子鍾電路見圖1。RB7口是定時指示端,在定時開期間輸出高電平,驅動V1發光,該口也可經緩沖作定時輸出口;RB6是雙限觸發控制的定時輸出口,其工作方式是:在RB7高電平期間,若RB1為高電平,則RB6輸出高電平;若RB0為高電平,RB6輸出低電平;若RB1、RB0同為低電平,RB6保持原態; 同為高電平時,RB6輸出低電平。RB5、RB4用於驅動脈沖繼電器,RB6上升沿觸發RB5輸出高電平開脈沖;在RB6下降沿觸發RB4時,RB4端輸出高電平關脈沖,開/關脈沖的持續時間均為125ms。
圖 1
RB3是消隱控制器,接高電平(即SK1閉合)時,顯示屏及秒閃正常;否則,顯示消隱。顯示消隱時,時鍾及各控制邏輯都正常運行,如忽略RB4至RB7各口的驅動電流,則在3V供電時,整機電流不足20μA,即兩節5號電池可用數月!RB2選擇數碼管極性,RB2為低電平,使用共陰LED;RB2為高電平,則用共陽LED。數碼管的極性是在上電初始化時,根據 RB2口狀態確定的,工作過程中改變RB2的電平則不起作用。
本機設S1~S4四個按鍵,S1是功能選擇鍵,S2是小時增量調整,S3是分鍾增量,S4用於分鍾減量調節,其使用方法為:
上電時,RB5至RB7均為低電平,RB4端送出一個關脈沖,使SK1閉合,整機正常顯示、工作,RC7口送出秒閃脈沖,RC6~RC0送欄位碼。RA3~RA0分別為10時、時、10分、分位的位碼輸出。這時,按一下S2或S3(時增量/ 分增量鍵),可使RB7端置位或復位。
在正常走時期間,秒閃正常;在校對或設置定時時,秒停閃。例如:在正常走時期間,按一下S1鍵,秒閃停止,屏幕顯示J-,表示可以校對時間。這時再按S2~S4中任一鍵,屏幕顯示現在時間,但秒不閃,此刻可按S2~S4校對時鍾。再次按S1,屏幕顯示 1∪,表示可以設定第一次開時間,此時按S2~S4對時間進行查看及設置。繼續按S1,系統顯示1∩,表示可設置第一次關時間……依次進行。設置好系統及 3次開關時間後,整機回到正常顯示狀態,秒閃恢復。
如欲取消某次開/關定時,只需把該次的開與關時間設置成相同值即可。
筆者曾把該時鍾用於定時定壓供水控制系統,RB6端用於驅動繼電器(也可用RB5與RB4兩端驅動脈沖繼電器),RB1端接水壓(水位)的低限輸入,RB0 端接高限輸入,設置好定時,一個簡易的定時定壓自動供水系統即告完成。
二、 編程技巧
PIC16C55單片機程序存儲器只有512位元組,加上採用外接32768Hz晶體振盪方式,時鍾速度較低,因此,統籌好系統的工作時序與人機界面之間的關系是軟體設計成敗的關鍵。本機編程採用如下方案:軟體工作流程見附圖2。
圖 2
PIC16C55單片機的一個機器周期是4個時鍾周期,不難算出,本系統中每秒有8192個機器周期。在編制軟體時,先設定單片機內部定時計數器F1的計數方式為機器周期的64分頻。這樣,每當F1溢出時,系統遞加2秒。平時,系統每128個機器周期內用RC口與RA口驅動掃描一次顯示屏,可保證每秒內掃描64次顯示屏,基本上無閃爍感。而 128個機器周期正是F1的第0位(為便於敘述以下簡記為F1?0)每次下降沿的間隔時間,我們可以編一段程序,當F1?0的下降沿到來時,掃描一次顯示屏,每當F1的低4位為全0時(125ms一次)使系統檢測一次RB口與按鍵狀態,並進行相關處理,部分相關程序如下:
WAIT BTFSC 1,0 ;等待F1?0的下降沿,編程時
GOTO WAIT ;要保證每次下降沿前到此
MOVFW 1
SKPNZ
GOTO CLOCK ;F1=0,滿2秒,轉時鍾處理
ANDLW 0FH ;屏蔽F1高4位
SKPZ
GOTO DISPLAY;F1低4位不為0,轉顯示
MOVLW 0C0H ;滿125mS,使RB口脈沖復位
ANDWF 6,1
MOVLW 0FH ;檢測按鍵
TRIS 7
MOVFW 7
ANDLW 0FH ;保留按鍵數據
SKPZ
GOTO AN;有鍵值,轉按鍵處理
DISPLAY …… ;顯示掃描,定時管理RB口
CLOCK …… ;時鍾,定時處理程序
AN …… ;按鍵管理程序
❽ 單片機的內部組成結構
單片機的內部組成結構如下:
運算器:用於實現算術和邏輯運算。計算機的運算和處理都在這里進行。
控制器:是計算機的控制指揮部件,使計算機各部份能自動協調的工作。
存儲器:用於存放程序和數據;(又分為內存儲器和外存儲器,內存儲器就如我們電腦的硬碟,外存儲器就如我們的U盤)。
輸入設備:用於將程序和數據輸入到計算機(例如我們電腦的鍵盤、掃描儀)。
輸出設備:輸出設備用於把計算機數據計算或加工的結果以用戶需要的形式顯示或保存(例如我們的列印機)。
單片機硬體特徵
(1)單片機的體積比較小, 內部晶元作為計算機系統,其結構簡單,但是功能完善,使用起來十分方便,可以模塊化應用。
(2)單片機有著較高的集成度,可靠性比較強,即使單片機處於長時間的工作也不會存在故障問題。
(3) 單片機在應用時低電壓、低能耗,是人們在日常生活中的首要選擇, 為生產與研發提供便利。
(4)單片機對數據的處理能力和運算能力較強,可以在各種環境中應用,且有著較強的控制能力。
❾ 單片機有哪些結構-單片機的基本結構
單片機有哪些結構-單片機的基本結構
單片機誕生以來,人們對其研究就從未中斷過,經過多年的發展,單片機的性能不斷完善,加上單片機具有價格便宜、使用便捷、功能強大等優點,目前已被廣泛應用在各個生產領域中。下面,我為大家分享單片機的基本結構,希望對大家有所幫助!
控制器
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的“決策機構”,即協調和指揮整個微機系統的操作。其主要功能有:
(1) 從內存中取出一條指令,並指出下一條指令在內存中的位置。
(2) 對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
(3) 指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
運算器
運算器由運算部件——算術邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。
ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。例如,兩個數6和7相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執行加法指令時,ALU即把兩個數相加並把結果13存入累加器,取代累加器原來的內容6。
運算器有兩個功能:
(1) 執行各種算術運算。
(2) 執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
主要寄存器
(1)累加器A
累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用於保存一個操作數;運算後,用於保存所得的和、差或邏輯運算結果。
(2)數據寄存器DR
數據寄存器通過數據匯流排向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在解碼的指令,也可以保存正在送往存儲器中存儲的一個數據位元組等等。
(3)指令寄存器IR和指令解碼器ID
指令包括操作碼和操作數。
指令寄存器是用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存中取到數據寄存器中,然後再傳送到指令寄存器。當系統執行給定的指令時,必須對操作碼進行解碼,以確定所要求的操作,指令解碼器就是負責這項工作的。其中,指令寄存器中操作碼欄位的`輸出就是指令解碼器的輸入。
(4)程序計數器PC
PC用於確定下一條指令的地址,以保證程序能夠連續地執行下去,因此通常又被稱為指令地址計數器。在程序開始執行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執行指令的地址。
(5)地址寄存器AR
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那麼當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。
;