【單片機期末】接口及應用

一、C51語言基礎

【考點】存儲類型

data是低128字節
code是ROM

idata是高128字節

pdata是外部RAM可以用R0 R1尋址的,也叫頁

xdata是外部RAM,可以用DPTR尋址或總線擴展
其中data、code、idata、pdata、xdata均為字節類型的,bdata是對位尋址的

【考點】數據類型

char是單字節,unsigned char是無符號單字節
int是雙字節,是有符號的,即有正負

【考點】中斷服務程序的寫法

返回值必須是 void 類型,傳遞參數也必須是 void 類型

ISR 是中斷服務程序,是inter interrupt server routine的縮寫

xx需要寫具體的中斷名字

interrupt是關鍵字,是C51語言中特有的

第一個2 代表中斷號 51單片機有5個中斷(S表示串行口)

第二個2 代表工作寄存器組

【考點】指針

p是指針,聲明的時候前面需要加*,表明這是一個指針類型

&x 表示取x的地址,& 為取地址符

【考點】數組的應用

在定義數組時,加 [ ] ,用來區分數組和普通變量
C語言編譯器會自動在 [ ] 中填入數組元素的個數

【考點】與運算

與上0001 1111B,為零的地方會被清掉,只保留了1的部分

【考點】循環語句的用法

非零即真

unsigned char是單字節類型,范圍是00H~FFH

初始值為1,也就是說 i 從1開始加到255,255再加1為0

【考點】STC單片機

模擬輸入接AD轉換器

推挽輸出:頂天立地

開漏輸出:導通時相當于接地,輸出為0V

關斷時,引腳和三極管(或MOS管)沒有關系,此時不能輸出高電平

若要輸出高電平,可以在芯片外面接一個上拉電阻,此時可以輸出高電平1

二、請逐行解釋keil編譯后輸出的提示信息



【考點】對編譯器的理解

啟動文件優先于主函數main運行

C語言需要先生成匯編語言再翻譯為機器碼

匯編語言需要翻譯成機器碼

啟動文件和C文件經過處理后會變成兩大段機器碼,這兩大段機器碼的順序由鏈接器來決定,最終形成所要用的機器碼

無論是變量還是機器碼都要放到存儲器中

51單片機中有4KB個字節

Objects是指目標文件

0錯誤,0警告僅代表程序在語法上沒有問題

三、鍵盤掃描驅動設計

注意時間是計數值*時間

開始連續時間為(80-30)*10ms

自動連續時間為(100-80)*10ms

按鍵按下時相當于接地,即為0,注意右側為高位

四、模擬交通燈設計

五、LED數碼管設計

CD4094_Data_L代表CD4094 Data = 0

先發送最高位D7

位驅動和段碼驅動都是通過4094實現的

用4094實現數碼管的驅動不需要消隱,因為其位碼和段碼是同時輸出的

六、串行口基于循環緩沖區的發送驅動程序

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

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

相關文章

C#迭代器

文檔 C# Iterators 關鍵內容 普通接口 public interface IEnumerable {IEnumerator GetEnumerator(); }public interface IEnumerator {object Current { get; }bool MoveNext();void Reset(); }泛型接口 public interface IEnumerable<out T> : IEnumerable {IEnum…

Java多線程:為什么wait()必須用循環而非if?

在Java多線程編程中&#xff0c;調用wait()方法時應使用**循環結構&#xff08;while循環&#xff09;**而非if塊&#xff0c;這是由線程同步的特性和潛在風險決定的。以下是具體原因和實現規范&#xff1a; 一、正確調用方式 synchronized (lockObject) {while (!condition) …

Fiori 初學記錄----怎么調用后端系統odata 服務實現簡單的CURD

1.對上面的內表做一個簡單的增刪改查的操作 SEGW 創建odata 項目&#xff0c;實現增刪改查方法。如下圖 2.odata 準備完畢后&#xff0c;打開vscode 下一步等待項目生成 把下面這個目錄的視圖&#xff1a;替換一下&#xff1a; View1.view.xml 代碼&#xff1a; <…

OpenCV CUDA模塊圖像變形------對圖像進行GPU加速的仿射變換函數warpAffine()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于對圖像進行 GPU 加速的仿射變換&#xff08;Affine Transformation&#xff09;&#xff0c;是 cv::warpAffine 的 CUDA 版本。支持平…

語音增強方法

一、音量增強 音量增強&#xff0c;顧名思義就是音量的調大和調小&#xff0c;通過對音量進行增強可以使得模型更好的泛化。防止數據只有小音量時&#xff0c;當有大音量傳入時模型不能很好的進行識別。 下面是我對音量增強生成頻譜圖進行可視化的結果 上面的一個圖片是音量…

內網滲透測試技巧與利用操作手冊(SMB / MSSQL / LDAP)

SMB 枚舉與利用清單 &#x1f50d; SMB 枚舉與連接 # 嘗試空會話連接&#xff08;Null Session&#xff09; smbclient -N -U "" -L \\<IP> smbclient -N -U "test" -L \\<IP> smbclient -N -U "Guest" -L \\<IP># 下載共享…

ADB(Android Debug Bridge)Android官方調試工具及常用命令

ADB的定義 ADB&#xff08;Android Debug Bridge&#xff09;是Android官方提供的調試工具&#xff0c;屬于Android SDK的一部分。它通過命令行與Android設備通信&#xff0c;支持安裝應用、調試、文件傳輸、日志抓取等功能&#xff0c;適用于開發、測試及高級用戶場景。 ADB工…

再現重大BUG,微軟緊急撤回Win 11六月更新

BUG年年有&#xff0c;今年特別多&#xff01; Windows 11發布這近4年來&#xff0c;咱們算是一路見證了其「要么在修復BUG&#xff0c;要么在修復BUG路上」這么一件壯舉。 最新的6月Windows 11 24H2更新&#xff08;版本號KB5060842&#xff09;&#xff0c;微軟帶來了多項改…

ROS2 工作空間中, CMakeLists.txt, setup.py和 package.xml的作用分別是?

提問 ROS2 工作空間中, CMakeLists.txt&#xff0c; setup.py和 package.xml的作用分別是&#xff1f; 回答 在一個 ROS 2 包&#xff08;package&#xff09;里&#xff0c;這三個文件各司其職&#xff1a; package.xml 作用&#xff1a;聲明包的元信息和依賴關系&#xff…

Untiy打包安卓踩坑

Untiy 版本&#xff1a;unity6.1 運行環境&#xff1a;Win11 報錯一&#xff1a; Assembly ‘Assets/ExternalDependencyManager/Editor/1.2.183/Google.IOSResolver.dll’ will not be loaded due to errors: 解決方法&#xff1a;通過在 Unity Hub 中下載 iOS 包來解決 報錯…

2025最新版!Windows Python3 超詳細安裝圖文教程(支持 Python3 全版本)

大家好&#xff0c;我是你們的編程搬磚工~ 今天給大家安排一篇超級詳細、超接地氣、純小白友好的《Python 安裝教程 for Windows》&#xff0c;從下載到安裝&#xff0c;從環境變量到驗證&#xff0c;手把手帶你裝好 Python&#xff0c;不管你是 Python3.7、3.9、3.10 還是 3.1…

【IEEE/EI/Scopus檢索】2025年第五屆機器學習與大數據管理國際會議 (MLBDM 2025)

2025年第五屆機器學習與大數據管理國際會議 (MLBDM 2025) 2025 5th International Conference on Machine Learning and Big Data Management(MLBDM 2025)會議地點&#xff1a;南京&#xff0c;中國 時間&#xff1a;2025年12月26日- 28日 ● 會議簡介 2025年第五屆機器學習…

前端實現ios26最新液態玻璃效果!

先看效果圖 實現步驟 先定義玻璃元素和液態濾鏡 <!--玻璃容器--> <div class"glass-container"><!--使用液態濾鏡--><div class"glass-filter"></div><!--邊沿效果--><div class"glass-specular">…

麒麟系統集成開發環境Kylin-IDE初體驗,菜鳥小白入門教程

一、安裝Kylin-IDE 1、打開應用商店&#xff0c;轉到“軟件”->“開發”頁面&#xff0c;找到“Kylin-IDE”&#xff0c;點下載。&#xff08;也可以在搜索欄搜索Kylin-IDE&#xff09; 2、等待Kylin-IDE下載并自動安裝完成。 3、雙擊桌面的Kylin-IDE圖標。 4、自動彈出“開…

Python爬蟲實戰:研究Bleach庫相關技術

一、引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡上的數據量呈爆炸式增長。網絡爬蟲作為一種自動獲取網頁內容的技術,能夠高效地從互聯網上收集所需信息,為數據分析、信息檢索、輿情監測等應用提供基礎。然而,爬取到的網頁內容往往包含大量的 HTML 標簽、JavaScri…

分布假設學習筆記

文章目錄 分布假設學習筆記自然語言處理中的分布假設應用場景適用范圍 Word2vec、BERT和GPTWord2vecBERTGPT 假設成立嗎 分布假設學習筆記 自然語言處理中的分布假設 分布假設&#xff08;Distributional Hypothesis&#xff09;是指&#xff1a;詞語在相似上下文中出現&…

提升開發思維的設計模式(上)

1. 設計模式簡介 [設計模式]&#xff08;Design pattern&#xff09; 是解決軟件開發某些特定問題而提出的一些解決方案也可以理解成解決問題的一些思路。通過設計模式可以幫助我們增強代碼的[可重用性]、可擴充性、 可維護性、靈活性好。我們使用設計模式最終的目的是實現代碼…

LINUX613計劃測put

FTP put ┌────────────────────────────────────────────────────────────────────┐│ ? MobaXterm 20.0 ? ││ (SSH client, X-serv…

NB-IoT-下行同步、廣播信道和信號

這一篇主要講解以下NPSS/NSSS/NPBCH信號的具體細節。還是依然先分析時頻資源&#xff0c;再分析具體信號細節。 1、NPSS信道和信號 NPSS信號總是在每個無線幀的子幀5上。使用符號為3~13個OFDM符號&#xff0c;子載波使用0~10號&#xff08;11個子載波&#xff09;。如果部署為…

Java TCP網絡編程核心指南

Java網絡編程中TCP通信詳解 TCP (Transmission Control Protocol) 是互聯網中最核心的傳輸層協議&#xff0c;提供可靠的、面向連接的字節流傳輸服務。在Java網絡編程中&#xff0c;TCP通信主要通過Socket和ServerSocket類實現。 一、TCP核心特性與Java實現 特性描述Java實現…