1.單片機相關概念
1.CPU:中央處理器,數據運算、指令處理,CPU性能越高,完成指令處理和數據運算的速度越快
核心:指令解碼執行+數據運算處理
2.MCU:微控制器,集成度比較高,將所有功能集成到芯片中(CPU、RAM、ROM、定時器、UART、IO),簡單控制,?成本低
核心:高集成度 + 低成本
3.MPU:微處理器,集成度低,只有一塊單獨的CPU,需外接外設、存儲模塊,復雜應用領域,跑Linux操作系統,成本高
核心:高性能 + 低集成度
4.GPU:圖形處理器,圖形處理、圖形渲染,GPU性能越好,圖形顯示的質量越好
核心:圖形渲染+并行數據處理
5.NPU:神經網絡處理器,AI推理、硬件加速,神經網絡處理(卷積運算)->?華為Mate60?達芬奇NPU?AI自動優化照片
核心:高效處理神經網絡運算
6.FPU:浮點數運算單元,完成浮點數的運算和處理(完全遵循IEEE?754),大部分集成在CPU內部
核心:高精度處理小數運算
7.SOC:片上系統,集成度比較高,將多個芯片集成到一塊芯片上(存儲芯片、外設芯片)
核心:多模塊高度整合
2.RAM和ROM
1.外存:主要存放程序、代碼、指令,掉電數據不丟失,讀寫速度慢,價格便宜(移動硬盤?1T?300)
2.內存:主要存放程序運行過程中的臨時變量、掉電數據丟失,讀寫速度快,價格昂貴(內存條??16G??300)
3.ROM:Read-Only?Memory,只讀存儲器,存放單片機程序,指令,掉電數據不丟失
4.RAM:Random??Access?Memory,隨機訪問存儲器,存放臨時變量、臨時數據,掉電數據丟失
3.單片機芯片內部結構
1.CPU(中央處理器)
單片機的 “大腦”,負責解析和執行程序指令,處理數據運算(如加減、邏輯判斷),協調其他模塊工作。例如控制傳感器數據的讀取時機、判斷按鍵是否按下。
2.RAM(隨機存儲器)
臨時存儲數據的 “工作臺”,用于存放程序運行中產生的臨時變量(如傳感器采集的實時溫度值)、中間結果。斷電后數據會丟失,類似電腦的 “內存”。
3.ROM(只讀存儲器)
固化程序的 “倉庫”,用于存儲用戶編寫的程序代碼(如控制 LED 閃爍的邏輯)和固定參數(如校準值)。斷電后數據不丟失,類似電腦的 “硬盤”(單片機中常用 Flash 替代傳統 ROM,可重復擦寫)。
4.Timer(定時器)
精確計時的 “時鐘”,通過內部計數實現定時功能。例如定時 100ms 觸發一次 LED 閃爍,或記錄傳感器采集的時間間隔。
5.PWM(脈沖寬度調制器)
生成可調占空比脈沖的模塊,通過改變高低電平的時間比例控制外設。例如調節 LED 亮度(占空比越高越亮)、控制電機轉速。
6.IO(輸入輸出接口)
單片機與外部設備的 “橋梁”,分為輸入(如讀取按鍵狀態、傳感器信號)和輸出(如驅動 LED、控制繼電器)兩種模式,是實現外部交互的核心。
7.中斷系統
應對緊急事件的 “優先級響應機制”,當外部事件(如按鍵按下、定時器溢出)發生時,暫停當前程序,優先處理中斷服務,完成后再返回原程序。例如緊急停車信號優先于正常運行邏輯。
8.UART(通用異步收發傳輸器)
實現串行通信的模塊,通過兩根線(TX 發送、RX 接收)與其他設備(如電腦、傳感器)交換數據。例如單片機將溫度數據發送到電腦顯示,或接收上位機的控制指令。
9.三大總線
地址總線:用來尋找RAM中的地址,所能尋址的最大范圍2^8,256byte,單向
數據總線:通過地址總線去獲取數據,數據交互雙向
控制總線:時序控制、IO控制、中斷
4.原理圖
1.MCU單片機芯片:
STC89C52RC、DIP40?封裝:雙列直插式,40個引腳,劃分成4組(端口?寄存器?unsigned?char?P2;)
2.網絡編號:在實際電路中的一個編號,避免物理連線,相同網絡的編號的引腳在實際電路中是彼此互通
3.LED模塊:
發光二極管:具有單向導通性,分為共陽極和共陰極二極管
共陽極發光二極管的特性:
將所有發光二極管的陽極接到電源正極(VCC),陰極接到單片機的引腳。此時發光二級管陽極會輸出高電平(VCC?5V),如果發光二級陰極輸出一個低電平(0V),?陽極和陰極之間會形成一個正向的電壓差,滿足發光二極管的單向導通性,所以電流就會從陽極流向陰極,發光二級就被點亮
5.位運算
1.|:將二進制中的對應位的bit進行比較,如果有一個bit為1,結果為1;如果都為0,結果為0;
應用場景:指定位置1
unsigned?char?t?=?0x64;
將bit0和bit7置1:
t?|=?(1?<<?0)?|?(1?<<?7);
2.?&:將二進制中的對應位的bit進行比較,如果全為1,結果為1;如果有一個0,結果為0;
應用場景:指定位清0
unsigned?char?t?=?0xFF;
將bit?0?和?bit7?清0:?
t?&=?~(1?<<?0);
t?&=?~?(1?<<?7);
3、^:??將對應位的bit進行比較,相同為0,相異為1
6.數碼管
51單片機搭載一個4位共陰極數碼管,每一位數碼管可以顯示一些獨立數值,數碼管同一時刻只能顯示一位
位選:選中某一位數碼管(將P1寄存器對應bit位置1)
段選:靜態顯示、動態顯示