一、基本框架
第一階段:1980年、Intel英特爾MCS-51系列:8051型號單片機、工業控制領域、由MCU市場->CPU市場。
1、CPU(Central Processing Unit,中央處理單元)?是計算機的核心部件,負責執行計算機指令和處理數據。
2、MCU(Micro Controller Unit,微控制單元)?是一種將中央處理器、內存、輸入輸出接口等多種功能模塊集成在單一芯片上的微型計算機系統。(特殊的CPU重視對外攝的控制而非數據的處理)微控制器->單片機,集成化高、集成到一塊芯片(CPU、RAM、ROM) 外設(GPIO、UART、ADC)。
3、MPU(Microprocessor Unit,微處理器單元)?是一種集成了CPU、外接內存、外設控制器和總線接口等功能的芯片,處理復雜任務(跑操作系統)。
4、GPU(Graphics Processing Unit,圖形處理單元)?是一種專門設計用于快速處理圖像和視頻數據的處理器。
5、SOC(System on Chip,系統級芯片,片上系統)?是將微處理器、模擬IP核、數字IP核、存儲器以及必要的接口電路等多種電子系統功能模塊集成在一個單一的芯片上。特殊的CPU(先進)
6.NPU(Neural network Processing Unit), 即神經網絡處理器。用電路模擬人類的神經,主要是一些算法,是基于神經網絡算法與加速的新型處理器總稱,
7.FPU (Floating Processing Unit) 浮點計算單元,通用處理器中的浮點運算模塊。?
?第二階段:Atmel AT89C51
? ? ? ? ? ? ? ? ? Philips 飛利浦公司 P89V51(增強型51單片機 ISP在線編程)
? ? ? ? ? ? ? ? ? SCT89C51 STC宏晶半導體(USB 下載、串口下載)
三大總線:地址總線? 尋址? 單向
? ? ? ? ? ? ? ? ? ?數據總線? 雙向? 數據交互、傳輸
? ? ? ? ? ? ? ? ? ?控制總線? ? 雙向 控制指令
二、51單片機
HC6800-MS原理圖
1. 存儲器
(1)ROM(非易失性存儲器)又稱只讀存儲器
非易失性存儲器(Non-Volatile Memory, NVM)?是指當電流關閉后,所存儲的數據不會消失的存儲器。這類存儲器在斷電后仍能保持數據,因此常用于需要長期保存數據的場合。非易失性存儲器的典型代表包括ROM(只讀存儲器)、Flash(閃存,包括NAND和NOR類型)、EEPROM(電可擦可編程只讀存儲器)等?。
(2)RAM(易失性存儲器)又稱隨機訪問存儲器
易失性存儲器(Volatile Memory)?是指斷電后存儲的數據會立即消失的存儲器。這類存儲器通常具有較快的存取速度,但無法長期保存數據。易失性存儲器的典型代表有DRAM(動態隨機存取存儲器)和SRAM(靜態隨機存取存儲器)?。?
(3)特點對比
- ?非易失性存儲器?:
- ?數據保留?:斷電后數據不丟失,適合長期數據存儲。
- ?寫入次數有限?:如Flash存儲器有一定的擦寫次數限制。
- ?容量和速度?:EEPROM支持字節級擦寫,但容量較小;Flash存儲器速度較慢,適合大容量數據存儲?。
- ?易失性存儲器?:
- ?數據不保留?:斷電后數據立即消失。
- ?速度快?:如SRAM和DRAM具有較高的存取速度,適合臨時數據存儲和高頻訪問?。
- ?依賴供電?:需要持續供電以保持數據,斷電后數據丟失?。
外存:程序、指令、代碼、掉電數據不丟失、讀寫速度慢、價格便宜(移動硬盤)
內存:臨時數據、變量,掉電數據丟失、讀寫速度快、價格貴(內存條)
2.位運算
?(1)按位或
? ? ? ? 其他位不變,指定位置1
????????reg |= (1<<n)? ?//reg寄存器第n位置1
? ? ??? reg |= (1<<n) | (1<<m)??//reg寄存器第m位和n位置1
????????eg:??P2 |= (7<<2)//連續3個比特位置1
(2)按位與
? ? ? ? 其他位不變,指定位置0
????????reg &= ~(1<<n)??? //reg寄存器第n位清零
? ? ? ??reg &= ~((1<<n) | (1<<m))? ?//reg寄存器第m位和n位清零? ? ? ?
? ? ? ? P2 &= ~(3<<2) ?//連續2個比特位清零偏移2位
? ? ? ? P2 &= ~(7<<2) ?//連續3個比特位清零
? ? ? ? P2 &= ~(0x0F<<2) ?//連續4個比特位清零
? ? ? ? P2 &= ~(0x1F<<2) ?//連續5個比特位清零
?(3)?<< ?左移
?<<:雙目運算符,優先級為5級,結合方向自左至右;
寫法:a<<n ?(表示將a這個數據左移n位 )(C語言中為邏輯左移)
最高位無論是1還是0全丟掉,后面補0;
作用:指定位清零( ~(1 << n));
示例:
0000 0001?
0000 0010
左移1位 ?相當于乘 2 ?
3.數碼管?
共陽極數碼管:所有發光二極管的陽極接到一起形成公共陽極(COM),需要將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段點亮。公共端是接高電平;引腳給誰置0,誰就亮
共陰極數碼管:所有發光二極管的陰極接到一起形成公共陰極(COM),需要將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段點亮?。公共端是接地;引腳給誰置1,誰就亮;
原理:數碼管通過點亮內部的發光二極管來顯示數字。每個數碼管由8個LED組成,分別表示a, b, c, d, e, f, g和dp(小數點)。通過控制這些LED的亮滅,可以顯示不同的數字。
段選:選擇數碼管中某段的亮滅狀況(P0來控制)
位選:選擇哪個數碼管顯示(LEDS1、LEDS2、LEDS3、LEDS4來控制)
4.?51單片機芯片的內部結構
5.寄存器?
(1)寄存器的定義:寄存器是CPU、主存儲器和其他數字設備內部用于存放數據的一些小型存儲區域。
(2)寄存器的組成:一般由多個觸發器構成。可以分為內部寄存器和外部接口寄存器。
(3)寄存器的特點:讀寫速度高、寄存器間傳輸速率快。
(4)P2寄存器本質:地址強轉為指針間接訪問
(5)寄存器可假定為系統提前定義好的全局變量(unsigned char P2;//一個字節8個比特)
6.寄存器的分類
(1)數據寄存器:用于存儲整數數字。累加器是特別的數據寄存器。
(2)地址寄存器:持有存儲器地址,用來訪問存儲器。
(3)通用目的寄存器:可以保存數據或地址,類似數據寄存器與地址寄存器的結合。
(4)特殊目的寄存器:用于存儲CPU內部數據,如程序計數器、堆棧寄存器以及狀態寄存器等。
(5)索引寄存器:程序運行時用于更改運算對象地址。