<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C51 單片機開發(fā)用 Keil 創(chuàng)建工程

          共 2575字,需瀏覽 6分鐘

           ·

          2024-04-11 04:37

          公眾號文章同步閱讀網(wǎng)址: www.netor0x86.com

          上篇文章安裝并注冊了 Keil 這個集成開發(fā)環(huán)境,本篇文章在上篇文章的基礎上來創(chuàng)建一個簡單的工程。這里的工程是 Project,有的翻譯是工程,有的翻譯是項目,別太糾結!

          如果沒有看過上篇文章的話,那么可以進行查看:C51 單片機開發(fā)環(huán)境的安裝


          0x01:創(chuàng)建項目

          首先 “以管理員身份運行” Keil 的開發(fā)環(huán)境,具體需不需要這樣運行,我也不知道,反正我是每次都這么運行,為了給自己省一些不必要的麻煩吧!

          打開以后,就開始創(chuàng)建工程,按照步驟操作就好。

          在菜單欄選擇 "Project" -> "New Vision Project",在打開的 "Create New Project" 窗口中選擇要保存代碼的文件夾。注意:文件夾需要是一個空的文件夾,因為一個工程中有多個文件,這個文件夾最好是專門為一個工程單獨創(chuàng)建的。
          選擇好文件夾以后,在 "文件名" 的位置填入工程的名稱,這里根據(jù)實際的項目填寫即可。填好后點擊 “確定” 按鈕,這樣會在當前的文件夾下生成一個 ".uvproj" 的文件,這個文件是項目管理文件,以后雙擊它就可以通過 Keil 打開這個工程。當然了,我們目前可以不用關心這個文件。
          在填好填入工程名稱并確定以后,會選擇目標設備(這里顯示的是 Select Device For Target 窗口),這里選擇 Atmel 下的 AT89C52,選擇 AT89C51 也可以,如下圖。

          6ffbb402c5e9b6f56ab0a2efa8c0fcc4.webp


          選擇以后點擊 “確定” 按鈕,就是上面圖中的那個 “OK” 按鈕。點擊后會提示是否將啟動代碼加入到工程中,如下圖:


          74d6c0d8ba15a0506872420cb729775e.webp


          這里點擊 “是” 按鈕。此時會在工程目錄中添加一個 STARTUP.A51 的文件,這個是啟動代碼,用來在單片機啟動時完成的一些初始化的工作,有了它應該就省去自己寫很多代碼了!到此,Keil 的工程目錄結構如下:


          09198d16da20f07656d13b76183fbdcd.webp

          到此,用 Keil 就創(chuàng)建了一個空的工程,接下來在該工程中添加一個 C 程序代碼。
          0x02:添加 C 代碼

          上圖中,在 Source Group 1 上點擊右鍵,選擇 "Add New Item to Group 'Source Group 1' ...",如下圖:


          22c9dd9c0dd679cb566a8ac885da4877.webp


          會彈出一個添加源代碼到工程的對話框,這里選擇 .c 文件,并對源代碼命名為 main,如下圖:


          52de50a567c822e29a671973835f662a.webp


          填寫后,點擊 "確定" 按鈕,讓 main.c 加入到工程中。
          然后,寫一段簡單的示例代碼到 main.c 文件中,代碼如下:
                  
                    
                      #include "reg52.h"
                    
                  
                  
                    
                      
          sbit led1 = P3 ^ 7; sbit led2 = P3 ^ 6;
          void main() { led1 = 0;     led2 = 0;
              while (1); }

          代碼的作用無所謂,就是一段示例代碼。
          0x03:工程編譯

          最后編譯代碼,并生成單片機的二進制文件,編譯方法是按 F5 或通過工具來的按鈕編譯,工具欄按鈕如下圖:


          2cdf715333f7dc48b8dd9870cc4dbb37.webp


          編譯完成后,到工程目錄下查看是否有一個 .hex 的文件,如果有就說明生成了,如果沒有,到 Keil 菜單的 "Project" -> "Options for Target" 中進行查看,選擇 "Output" 選項卡,然后檢查是否勾選 "Create Hex File" 選項,如下圖:


          9fabc4ddb1644f6b402b58d1b53037f1.webp


          如果沒有勾選,則將其勾選后,再次進行編譯,則會生成 hex 文件。當然,在 "Build Output" 窗口中也可以看到是否創(chuàng)建 hex 文件的提示。


          ca2765187501dafbc15b2e0465051c46.webp


          在 "Build Output" 窗口的最后一行,可以看到有一個 "0 Error(s), 0 Warning(s)" 的提示,表示代碼中沒有錯誤,也沒有警告,一般這是 C/C++ 程序員最愛看到的結果。一般情況下,如果有 Error 需要修改,有 Warning 可以暫時忽略不管。
          這樣,第一個通過 Keil 創(chuàng)建的 C51 的工程就完成了,生成的 hex 文件就是要燒錄到單片機中的文件,后面的文章會進行介紹。




          我是一個程序員,了解 C、PHP、Java、ASM、Python,有 信安、CISP 證書,寫小白也能看得懂的文章,感謝關注!!!

          我的網(wǎng)站:https://www.netor0x86.com


          我的視頻課程:

          1. 入門級棧溢出分析

          2. WEB端獲取MAC地址真實項目案例

          3. PHP擴展模塊開發(fā)之DLL編寫與調(diào)用

          4. C語言零基礎入門教程

          5. PE 文件結構初識與二進制手寫可執(zhí)行程序



          瀏覽 39
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码在线精品视频 | 自拍偷拍综合网 | 天天爽夜夜爽 | 黄色色片在线观看 | 女人扒开尿口让男人桶 |