微控制器入門基礎篇(一):Keil基本操作
阿新 • • 發佈:2019-02-10
Keil基本操作 文/阿丘 2018/3/28
一、概述 工欲善其事必先利其器。Keil uVersion 4.0(後文簡稱為Keil 4.0)是微控制器程式開發的整合開發環境(IDE),集成了C編譯器、巨集彙編、聯結器、庫管理和一個功能強大的模擬偵錯程式。 本節以點亮一個LED為例,演示如何通過Keil新建工程、新增原始檔、編譯等基本操作。二、Keil基本操作——以點亮一個LED專案為例 本專案通過8051微控制器的P2.0管腳控制一個紅色LED, 支援兩種控制模式:長亮模式和閃爍模式。電路圖如下圖所示,由圖可知,P3.0輸出低電平時,LED點亮;輸出低電平時,LED熄滅。 專案程式由一個.c和一個.h組成,其中,LedCtrl.c為主程式,演示LED的兩種控制模式;led.h為LED控制實現,定義了長亮函式LED_lit(bit flag)、閃爍函式LED_flash(unsigned int interval)和軟體延時函式LED_delayMS(unsigned int ms)。 下面演示基於Keil完成本專案的開發過程。 1. 新建工程。 (1) 執行Keil uVision4。 (2)選擇選單【Project>New μVersion Project】,開啟Create New Project對話方塊。 (3)設定工程儲存路徑和工程名稱。注意,建議一個工程對應一個資料夾,方便管理。 (4)設定微控制器型號。 在Select a CPU Data Base File對話方塊選擇Generic Data Base,然後彈出的對話方塊中選擇ATMEL>AT89C51,單擊【OK】按鈕。 (5)單擊【否 】按鈕,選擇不復制8051啟動程式碼到工作檔案。 到此,空白工程已經建好,如下圖所示。 sbit led_red = P3^0; //定義led_red變數控制P3.0引腳: //輸出0時(低電平),LED亮,輸出1時,LED滅。/*******************************函式:LED_lit*功能:點亮/熄滅led_red*引數:bit flag: flag = 1, 點亮;flag = 0,熄滅*返回:無*****************************/void LED_lit(bit flag){ led_red = ~flag; //不用if語句,控制輸出與flag為相反,直接取反操作即可。}/*******************************函式:delayMS*功能:ms級延時函式@12MHz晶振*引數:unsigned int: 延時時間,單位ms*返回:無*****************************/void LED_delayMS(unsigned int ms){ unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<150;j++);}/*******************************函式:LED_flash*功能:led_red閃爍:亮->滅>亮>滅...*引數:unsigned int: 閃爍間隔,單位ms*返回:無*****************************/void LED_flash(unsigned int interval){ lit(1); delayMS(interval); lit(0); delayMS(interval);} (5)編寫LEDCtrl.c,程式碼如下:#include "led.h"/*******************************函式:main*功能:程式入口,演示:1. LED長亮10s; 2. LED閃爍10次.*引數:無*返回:無*****************************/void main(){ unsigned char flash_times = 10; unsigned char i; while(1) { LED_lit(1); LED_delayMS(10000); for(i=0;i<flash_times;i++) { LED_flash(1000); } } } (6)新增LEDCtrl.c和led.h到當前工程。 a. 在工程瀏覽區雙擊Target 1下的Source Group1,開啟新增對話方塊。 b. 再新增對話方塊中先選擇檔案型別(.h或.c),再雙擊要新增的檔案即可。新增的檔案會出現在工程資源瀏覽區下,如下圖所示。
一、概述 工欲善其事必先利其器。Keil uVersion 4.0(後文簡稱為Keil 4.0)是微控制器程式開發的整合開發環境(IDE),集成了C編譯器、巨集彙編、聯結器、庫管理和一個功能強大的模擬偵錯程式。 本節以點亮一個LED為例,演示如何通過Keil新建工程、新增原始檔、編譯等基本操作。二、Keil基本操作——以點亮一個LED專案為例 本專案通過8051微控制器的P2.0管腳控制一個紅色LED, 支援兩種控制模式:長亮模式和閃爍模式。電路圖如下圖所示,由圖可知,P3.0輸出低電平時,LED點亮;輸出低電平時,LED熄滅。 專案程式由一個.c和一個.h組成,其中,LedCtrl.c為主程式,演示LED的兩種控制模式;led.h為LED控制實現,定義了長亮函式LED_lit(bit flag)、閃爍函式LED_flash(unsigned int interval)和軟體延時函式LED_delayMS(unsigned int ms)。
- 編寫程式碼
- 編譯程式。
https://github.com/happyicefish/mcu8051.git
https://github.com/happyicefish/mcu8051.git