嵌入式學習的第四十天-51單片機

一、基本框架

第一階段: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)索引寄存器:程序運行時用于更改運算對象地址。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918231.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918231.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918231.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux(17)——Linux進程信號(上)

目錄 一、信號速識 ??生活中的信號 ??技術上的信號 ??信號的發送和記錄 ??信號處理概述 二、產生信號 ??通過終端產生信號 ??通過函數發送信號 ??通過軟件產生信號 ??通過硬件產生信號 一、信號速識 ??生活中的信號 你在網上買了很多件商品&…

使用pytest對接口進行自動化測試

上篇博客中講述了什么是接口測試&#xff0c;已經自動化接口測試流程&#xff0c;這篇博客總結如何實現接口自動化測試&#xff08;一&#xff09;requestsrequests庫是Python對HTTP通信的一個工具&#xff0c;將http協議操作封裝成簡單的接口&#xff0c;能夠讓我們高效的編寫…

信息安全及防火墻總結

1.1 信息安全現狀及挑戰信息安全概述 信息安全&#xff1a;防止任何對數據進行未授權訪問的措施&#xff0c;或者防止造成信息有意無意泄漏、破壞、 丟失等問題的發生&#xff0c;讓數據處于遠離危險、免于威脅的狀態或特性。 網絡安全&#xff1a;計算機網絡環境下的信息安全。…

20250808組題總結

A - A Pak Chanek 有一個包含 nnn 個正整數的數組aaa。由于他正在學習如何計算兩個數字的向下取整平均值&#xff0c;他希望在他的數組 aaa 上進行練習。當數組 aaa 至少有兩個元素時&#xff0c;Pak Chanek 將執行以下三步操作&#xff1a; ?\bullet?選擇兩個不同的索引 ii…

【Python 語法糖小火鍋 · 第 5 涮 · 完結】

一、糖味一句話 Python 3.10 的 match-case 把「類型 值 嵌套」一次性拆開&#xff0c; 可讀性 10&#xff0c;bug 數 10&#xff0c;if-elif 可以安心退休了。二、1 行示例 3 連發 # ① 值匹配 match status:case 200: msg "ok"case 404: msg "not found&q…

寫 SPSS文件系統

寫入 SPSS 系統文件&#xff08;.sav、.zsav&#xff09; 以下為相關的 SPSS 命令&#xff08;以大寫形式 CAPS 呈現&#xff09; savFileName : str SPSS 數據文件的文件名 以 .sav 結尾的文件使用舊版壓縮方案壓縮。 以 _uncompressed.sav 結尾的文件不壓縮&#xff0c;這在需…

云服務器--阿里云OSS(1)【阿里云OSS簡單介紹以及環境準備】

一、阿里云OSS簡介 定義&#xff1a;阿里云OSS&#xff08;Object Storage Service&#xff09;是阿里云提供的對象存儲服務&#xff0c;支持海量數據的存儲和管理。 存儲方式&#xff1a;基于“對象存儲”&#xff0c;文件以對象形式存儲&#xff0c;無需管理文件系統結構。 …

R語言代碼加密(1)

1、使用Compiler包library(compiler) cmpfile("1.R")#實現對R腳本的整體加密 compiler::loadcmp("1.Rc")#調用R腳本存在問題是&#xff0c;該方法僅對腳本進行加密。在加載生成的Rc文件后&#xff0c;腳本內具體函數&#xff0c;是可以看到具體內容的。針對…

【面試場景題】通過LinkedHashMap來實現LRU與LFU

文章目錄一、LRU與LFU的概念1. LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;2. LFU&#xff08;Least Frequently Used&#xff0c;最不經常使用&#xff09;二、LinkedHashMap的特性三、用LinkedHashMap實現LRU實現代碼&#xff1a;原理說明&…

第5章 Excel公式與函數應用指南(2):數學函數

5.2 數學函數 Excel作為強大的數據處理工具,其內置的數學函數體系為用戶提供了豐富的計算能力。從基礎的四則運算到復雜的指數對數計算,從簡單的數值舍入到專業的矩陣運算,Excel的數學函數幾乎可以滿足各類計算需求。 本節將重點為您解析七個常用且實用的數學函數:求和函…

mysql復制連接下的所有表+一次性拷貝到自己的庫

1.導出鏈接下的所有數據mysqldump -h 地址 -u 數據庫名 -p --all-databases --single-transaction --master-data2 > all_dbs.sql2.導入自己的庫mysql -h 127.0.0.1 -u root -p < all_dbs.sql3.指定導出某些庫mysqldump -u root -p --databases db1 db2 db3 > /path/t…

開發手札:UnrealEngine和Unity3d坐標系問題

最近把一套網絡模塊和一套組件模塊從u3d改造到ue4。網絡模塊通用性很高&#xff0c;畢竟協議都是通用網絡協議&#xff0c;改造后沒啥問題。但是改造組件模塊的時候就遇到了問題。首先&#xff0c;unity3d的坐標系是標準左手坐標系&#xff0c;如下&#xff1a;同時自己的幾何算…

QML 鼠標穿透

事件&#xff1a; 有一個輸入框(TextField)&#xff0c;需要實現鼠標懸浮時改變邊框顏色&#xff0c;鼠標移出后恢復原來邊框顏色&#xff1b; 這時如果需要實現此功能&#xff0c;就得使用到MouseArea&#xff0c;鼠標操作區域填充滿整個TextField。 然后實現鼠標移入移入出的…

VR 設備 PCB 怎樣憑借高頻材料達成高速傳輸

VR 設備的沉浸式體驗依賴于高分辨率圖像與低延遲交互&#xff0c;這要求設備內部數據傳輸速率達到 10Gbps 以上&#xff0c;而印制線路板&#xff08;PCB&#xff09;作為信號傳輸的核心載體&#xff0c;其材料性能直接決定傳輸效率。高頻材料憑借低介電常數&#xff08;Dk&…

Oracle字段操作

1. 新增字段 -- 新增字段 ALTER TABLE MES.WT_SUPPLEMENT_RECORD ADD (PAR_ATTR3 NUMBER DEFAULT NULL);2. 修改字段類型 -- 修改字段類型 ALTER TABLE MES.WT_SUPPLEMENT_RECORD MODIFY (PAR_ATTR3 VARCHAR2(32));3. 刪除字段 -- 刪除字段 ALTER TABLE MES.WT_SUPPLEMENT_RECO…

【原創】基于 Flask 的簡單文件收集器

在單位內網環境中&#xff0c;我經常需要收集 pdf 格式的記錄表。于是我基于 ai ide&#xff0c;開發了一個基于 Flask 開發的輕量級文件上傳服務項目&#xff0c;部署在單位飛騰芯的銀河麒麟系統上&#xff08;當然由于 python 的跨平臺&#xff0c;在 windows 和 mac 上也可部…

學習Java的Day28

今天在昨天完成的留言板項目基礎上&#xff0c;我進一步開發了一個酒店房型管理系統。該系統采用MVC架構&#xff0c;主要功能是對酒店房型信息進行增刪改查操作。數據庫設計方面&#xff0c;我創建了hotel_room_type表&#xff0c;包含以下字段&#xff1a;id&#xff1a;主鍵…

Leetcode——556. 下一個更大元素 III

題目鏈接&#xff1a;556. 下一個更大元素 III &#xff08;由于圖片上傳失敗&#xff0c;不貼原題目了&#xff0c;有需要可以前往力扣查看&#xff09; 本文給出該題的單調棧做法&#xff0c;同時繞過所有庫函數&#xff0c;所有邏輯均自行實現。 本題的思路就是從右向左按…

Idea打包可執行jar,MANIFEST.MF文件沒有Main-Class屬性:找不到或無法加載主類

背景&#xff1a;IDEA傳統方法【Project structure】-->artifact---->build的模式&#xff0c;打包【Maven】項目&#xff0c;發現生成的可執行jar包&#xff0c;顯示【找不到或無法加載主類】。但是用【Maven】的Assembly可以正常生成。期望用傳統方法實現打jar包方法&a…

檢索增強生成:RAG(Retrieval Augmented Generation)

什么是 RAG&#xff1f;為什么使用 RAG&#xff1f;LLM 微調 和 RAG&#xff1f;實戰什么是 RAG&#xff1f; RAG 在論文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中被引入&#xff0c;原論文是這樣描述的&#xff1a; 探索了一種 通用的 檢索增…