單片機——keil5

文章目錄

    • 安裝教程
    • 使用介紹
    • 案例展示

接下來進行keil5軟件的相關學習使用

安裝教程

參考視頻鏈接bilibili 51單片機 大約在8分鐘位置處

使用介紹

  1. 首先新建project
  2. 選擇對應的芯片型號(例如:STC89C52 —— 由于STC系列是國產,keil5軟件不支持,改用AT系列即可 AT89C52)
  3. 創建C語言main.c文件
#include <REGX52.H>void main()
{while (1){// 設置P2端口的信號值8位,由于C語言中會將8位2進制數視為10進制,所以將信號值表示為16進制形式//點亮最后一個燈P2 = 0xFE; //1111 1110 }
}
  1. 軟件界面介紹
    在這里插入圖片描述
    1處是 build按鈕,用于編譯項目文件
    2處是設置編譯目標文件,點擊2處,得到以下界面
    在這里插入圖片描述
    勾選Create HEX File,生成.hex文件,用于燒錄進單片機

  2. 通過STC-ISP軟件下載/編程將.hex文件燒錄進單片機,再通過冷啟動后,即可執行程序
    在這里插入圖片描述

  3. 設置延時函數
    在這里插入圖片描述
    再STC-ISP中設置對應頻率、延時時間等,生成對應的函數,復制到main.c中使用,需要引用 #include <INTERINS.H>

  4. 數據運算
    這也是C語言中常見的運算符,包括單目運算符和雙目運算符等,其中要區別邏輯運算符和位運算符之間的區別,例如&&&
    在這里插入圖片描述

  5. 基本語句
    C語言常見的語句形式:條件語句、循環語句、選擇語句
    在這里插入圖片描述

    int i;
    for(i=1; i<-8; i++)
    {fprint(i);
    }
    
  6. 數據類型
    在這里插入圖片描述
    這里補充一個C語言中的知識:

    • char:它的具體類型由編譯器來決定,可能是有符號的,也可能是無符號的。在大多數編譯器環境中,char 會被當作 signed char 來處理,但你不能對這一點進行假設。
    • unsigned char:這是無符號類型,其取值范圍是 0 到 255(以 8 位為例)。
    • signed char:屬于有符號類型,采用補碼形式表示數值,取值范圍為 -128 到 127(以 8 位為例)
      在這里插入圖片描述
      在這里插入圖片描述

案例展示

在這里插入圖片描述
在這里插入圖片描述

  1. 獨立按鍵控制LED移位,通過原理圖可以看到,LED模塊對應P2接口,獨立按鈕對應P3_0-P3_3接口
#include <REGX52.H>
void Delay(unsigned int xms);  \\延時函數,延時xms毫秒
unsigned char LEDNum;void main()
{P2 = ~0x01;  \\ 初始化右側第一個燈亮while(1){if(P3_1 == 0)  \\ 實現左移{Delay(20);  \\延遲是因為獨立按鍵模塊需要調節穩定時間,大約是20ms,不進行延時科恩那個回導致多次觸發while(P3_1 == 0);  \\ 檢測松手,按鍵開關松開Delay(20);LEDNum++;if(LEDNum >=  8)LEDNum = 0;P2 =~(0x01<<LEDNum);}if(P3_0 == 0)  \\ 實現右移{Delay(20);while(P3_0 == 0);Delay(20);if(LEDNum == 0)LEDNum = 7;elseLEDNum--;P2 =~(0x01<<LEDNum);}}
}void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do {while (--j);}while (--i);}
}

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

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

相關文章

計算機網絡相關發展以及常見性能指標

目錄 一、因特網概述 1.1 基本概念 1.2 因特網發展的三個階段 1.3 英特網服務提供者ISP 1.4 英特網的標準化工作 1.5 因特網的組成 1.6 簡單總結 二、3種交換方式 2.1 電路交換&#xff08;Circuit Switching&#xff09; 2.2 分組交換&#xff08;Packet Switching&…

Java 面試實錄:從Spring到微服務的技術探討

在一個明亮的會議室里&#xff0c;嚴肅的面試官與搞笑的程序員謝飛機正進行一場關于Java技術棧的面試。場景設定在一家知名互聯網大廠&#xff0c;他們的對話充滿了技術性與娛樂性。 第一輪&#xff1a;Spring框架與數據庫 面試官&#xff1a;“謝飛機&#xff0c;能解釋一下…

OpenCV CUDA模塊圖像過濾------創建一個 Scharr 濾波器函數createScharrFilter()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于創建一個 Scharr 濾波器&#xff08;基于 CUDA 加速&#xff09;&#xff0c;用于圖像的一階導數計算。它常用于邊緣檢測任務中&#…

yolov8分割任務的推理和后處理解析

文章目錄 一、前言二、分割模型的前向推理1. 檢測結果&#xff1a;來自Detect類的輸出2. 分割結果&#xff08;最終&#xff09;3. 與Detect的主要區別4. 工作流程 三、后處理1. 非極大值抑制&#xff08;NMS&#xff09;過濾檢測框2. 分割原型&#xff08;Mask Prototypes&…

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一個模塊&#xff0c;專門用于處理結構化數據。它引入了DataFrame這一編程抽象&#xff0c;DataFrame是帶有Schema信息的分布式數據集合&#xff0c;類似于關系型數據庫中的表。用戶可以通過SQL、DataFrames API和Datasets API三種方式操作結構化數據…

華為OD機試真題——書籍疊放(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 200分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

尚硅谷redis7 63-69 redis哨兵監控之理論簡介

63 redis哨兵監控之理論簡介 什么是哨兵 master掛了如何辦?從機原地待命。此時數據只能讀取不能更新。因此需要&#xff1a; 吹哨人巡查監控后臺master主機是否故障,如果故障了根據投票數自動將某一個從庫轉換為新主庫, 哨兵的作用 1、監控redis運行狀態,包括master和slave…

word文檔格式規范(論文格式規范、word格式、論文格式、文章格式、格式prompt)

文章目錄 prompt prompt [格式要求] - 字體&#xff1a;中文宋體小四&#xff1b;英文Times New Roman 12pt&#xff1b;標題黑體 - 行距&#xff1a;1.5倍&#xff08;段前段后0行&#xff09; - 邊距&#xff1a;A4默認&#xff08;上下2.54cm&#xff0c;左右3.17cm&…

SpringBoot+tabula+pdfbox解析pdf中的段落和表格數據

一、前言 在日常業務需求中&#xff0c;往往會遇到解析pdf文件中的段落或者表格數據的需求。 常見的做法是使用 pdfbox 來做&#xff0c;但是它只能提取文本數據&#xff0c;沒有我們在文件頁面上面的那種結構化組織&#xff0c;文本通常是散亂的包含各種換行回車空格等格式&a…

【Elasticsearch】stored_fields

在 Elasticsearch 中&#xff0c;stored_fields 是一個非常重要的概念&#xff0c;主要用于控制文檔存儲和檢索時的行為。以下是對 stored_fields 的詳細解釋&#xff1a; 1\. stored_fields 的作用 stored_fields 用于指定在檢索文檔時需要返回的字段。默認情況下&#xff0c;…

計算機網絡 | 1.1 計算機網絡概述思維導圖

附大綱&#xff1a; 計算機網絡的概念 一個通過通信設備與線路把不同計算機系統連接起來&#xff0c;實現資源共享和信息傳遞的系統 計算機網絡的組成 從組成成分上 硬件&#xff1a;主機、通信鏈路、交換設備、通信處理機軟件&#xff1a;網絡操作系統、聊天軟件等協議&…

HOW - 簡歷和求職面試寶典(三)

文章目錄 1. 面試邀約2. 開始面試和自我介紹第一、面試前的準備工作第二、如何全面地介紹自己1. 面試邀約 第一、先認識日常HR 的工作流程 首先,電話溝通是 HR 核心工作內容的一部分。電話溝通分為兩種:一種是電話預約;另外一種是電話確認。 電話預約很清晰,就是確認面試…

Java基礎 Day24

一、進程和線程 1、進程 &#xff08;1&#xff09;概念 進程 (Process) 是計算機中的程序關于某數據集合上的一次運行活動 是系統進行資源分配的基本單位 簡單理解&#xff1a;程序的執行過程&#xff08;正在運行的應用程序&#xff09; &#xff08;2&#xff09;特性…

C#學習:基于LLM的簡歷評估程序

前言 在pocketflow的例子中看到了一個基于LLM的簡歷評估程序的例子&#xff0c;感覺還挺好玩的&#xff0c;為了練習一下C#&#xff0c;我最近使用C#重寫了一個。 準備不同的簡歷&#xff1a; 查看效果&#xff1a; 不足之處是現實的簡歷應該是pdf格式的&#xff0c;后面可以…

git怎么合并兩個分支

git怎么合并分支代碼 注意: 第一步你得把當前分支合到遠程分支去才能有下面的操作 另外我是將develop分支代碼合并到release分支去 git 命令 查看本地所有分支 git branch切換分支 例如切換到release分支 git checkout release拉取代碼 git pull up release 合并分支 …

Android-kotlin協程學習總結

Kotlin協程實戰對話? ?真題1&#xff1a;協程與線程的本質區別是什么&#xff1f;為什么說協程是輕量級的&#xff1f;?? ?面試官?&#xff1a; “我看你項目中用協程替代了線程池&#xff0c;能說說協程和線程的核心區別嗎&#xff1f;為什么協程更適合高并發&#xf…

uni-app學習筆記十四-vue3中emit的使用

在組件傳值中&#xff0c;無論是props還是slot都是單向數據流&#xff0c;父組件向子組件傳值&#xff0c;子組件不能直接對父組件傳過來的值進行重新賦值。 下面學習子組件向父組件傳值的工具--emit。 在子組件emit設置傳遞的函數名和值 <template><view>子組件…

Java設計模式從基礎到實際運用

第一部分&#xff1a;設計模式基礎 1. 設計模式概述 設計模式(Design Pattern)是一套被反復使用、多數人知曉的、經過分類編目的代碼設計經驗的總結&#xff0c;它描述了在軟件設計過程中一些不斷重復出現的問題以及該問題的解決方案。設計模式是在特定環境下解決軟件設計問題…

鴻蒙OSUniApp 制作自定義的進度條組件#三方框架 #Uniapp

使用 UniApp 制作自定義的進度條組件 在移動應用開發中&#xff0c;進度條是非常常見的 UI 組件&#xff0c;無論是文件上傳、下載、任務進度還是表單填寫反饋&#xff0c;進度條都能為用戶提供直觀的進度提示。雖然 UniApp 提供了一些基礎的進度條能力&#xff0c;但在實際項…

Python爬蟲實戰:研究Beautiful Soup框架相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡上的數據量呈爆炸式增長。如何從海量的網頁數據中高效提取有價值的信息,成為信息科學領域的重要研究課題。網絡爬蟲作為一種自動獲取網頁內容的技術,能夠按照預設規則遍歷互聯網并采集數據,為信息檢索、輿情分析、商…