Keil5MDK が C51 プロジェクトを作成する
1。概要
前回の記事では Keil5MDK と C51 ツールのインストールを紹介しましたが、この記事ではツールの使用方法を紹介し、まず 51 マイコン プロジェクトを作成し、デモ プログラムを作成し、コンパイルしてマイコンに書き込む方法を紹介します。
最初のインストール ツール記事のアドレス: https://blog.csdn.net/m0_38039437/article/details/134599013
2. 51個のマイクロコントローラープロジェクトを作成する
2.1.プロジェクトの作成
1. プロジェクトを作成し、
Keil ツールを開き、Project
「選択」をクリックします。New uVision Project
2. プロジェクト名を入力し
、プロジェクトを保存するフォルダーを作成し、フォルダーにプロジェクト名を付けます。
作成したプロジェクトフォルダーに入り、プロジェクト名を入力します
3. プロジェクトで使用するマイコンのモデルを選択します。
私は国産の STC12C2052 マイコンを使用しています。Keil ソフトウェアは海外製なので、そのようなモデルはありません。ここでは、51 のマイコンに共通のモデルである AT89C55 を選択できます。 。
4. マイクロコントローラーの初期化
8051 スタートアップ コードをプロジェクトにコピーし、マイクロコントローラーの起動時に初期化します。ここではどれを選択しても問題はありません。今回は選択です。
5. プロジェクトの作成が完了し、
ウィンドウ左側に作成したプロジェクトディレクトリが表示されます。
プロジェクト ディレクトリを表示して、作成されたファイルを表示します
2.2.ファイルの作成
1.新しいファイルを作成し
、File
「選択」をクリックします。New
2. ファイルを保存します。
プロジェクト パスの下の保存パスを選択しC51PJT
、ファイル名をカスタマイズします。接尾辞は でなければなりません.c
。これは C 言語ファイルです。
3. ファイルをプロジェクトに追加します。
右Source Group1
クリックして を選択しますAdd Existing File to Group 'Source Group1'
。中国語では、既存のファイルをSource Group1
グループに追加することを意味します。
led.c
ファイルを選択し、 Add
「追加」ボタンをクリックして、 をクリックしてClose
ウィンドウを閉じます。
led.c
ファイルがプロジェクトに追加されました。
4. コンパイル出力形式を設定します。
をクリックしTarget魔法棒log图标
、 をクリックしOutput
、選択します。Create HEX File
クリックしOK
てウィンドウを閉じます。
5. エンコード形式を設定します。
コードを記述するときに中国語の文字化けを避けるために、以下のエンコード形式を中国語をサポートするように設定します。アイコンを
クリックし、 を選択し、でエンコード形式を選択します。设置
Editor
Encoding
UTF-8
3. デモプログラムの開発
1. プログラムコード
LED 点滅のデモ プログラムを以下に提供しますので、コードをled.c
ファイルにコピーします。
/*************************************************************
* 程序名 * 点亮LED灯
* 编写人 * Bruce
* 日 期 * 2023-11-24
/*************************************************************/
/*************************************************************
* 头文件定义 *
/*************************************************************/
#include <AT89X52.h>
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED = P1 ^ 7; //定义P1.7为LED控制口,低电平使能
/*************************************************************
* 毫秒级延时函数 *
调用函数必须给延时函数一个0~65535的延时值对应0MS到65535MS
/*************************************************************/
void Delay (unsigned int a){
//需要输入变量值0~65535
unsigned int i;
while( --a != 0){
//i 从0加到600,CPU大概就耗时1毫秒
for(i = 0; i < 600; i++); //空指令循环
}
}
/*************************************************************
* 主函数 *
实验板上连接到单片机上的LED闪烁程序
/*************************************************************/
void main (void){
//
while(1){
//无限循环以下程序
LED = ~LED; //取LED相反状态
Delay(250); //修改这里的数值看看会有什么变化
} //(0~65535之间)
}
[コンパイル] ボタンをクリックし、コンパイル出力列にエラー メッセージが表示されなければ、ファイルは正常にコンパイルされています。
2.回路原理
LED ライトの正極をマイクロコントローラーの 20 番ピン VCC に挿入し、負極を 19 ピン IO ポートに挿入します。
3.実験結果
1. STC-ISP ツールを開き、コンパイルされたc.hex
ファイルを選択して、マイクロコントローラーに書き込みます。