STC15系列單片機學習之LED點燈


本系列教程開始學習STC15系列單片機的C語言編程,讀者需要有C語言的基礎知識。

一、開發軟件准備

1. 安裝編程軟件:Keil

clip_image001

2. 下載軟件STC_Isp

3. 配置keil下的STC單片機編程環境

 clip_image003

點擊添加信號和頭文件到Keil中,為 keil軟件添加STC系列單片機器件的支持,以及后面要用到的仿真器。

二、STC15F2K60S單片機IO分配

clip_image004

如上圖所示,STC15F2K60S 系列塊單排及共有5組管腳:

 

管腳組名稱

可用位數

P0

8bit (P0.0-P0.7)

P1

8bit (P1.0-P1.7)

P2

8bit (P2.0-P2.7)

P3

8bit (P3.0-P3.7)

P4

8bit (P3.0-P3.7)

P5

2bit(P5.4-P5.5)

 

STC15系列單片機每個管腳都有個IO口模式配置寄存器,可用配置任何一個管腳的輸出模式。

 clip_image006

每位管腳模式有以下四種: (默認為00,即准雙向口)

clip_image008

三、程序編寫

在了解了以上STC單片機的IO特性后,我們來嘗試編寫程序,控制開發板上的LED燈閃爍,其所在管腳為P5.5

clip_image009

1.Keil 新建項目

• 先在keil 的 Project 菜單下選擇new uVision Project...創建新項目,並命名。

clip_image011

• Select a CPU Data Base File 中選擇 STC MCU Database,創建STC系列單片機項目

clip_image012

• 根據板子類型,為項目選擇CPU型號。我這選的是STC15F2K60S2

clip_image014

• 添加main.c文件

clip_image015

2.編寫程序

程序代碼如下:

//************************************
//STC_XGboard 51單片機學習板
//author:Kimiyang
//OneLEDFlash
//實現單個LED閃爍
//20170109
//************************************
// NAME Pin
// LED P55
#include <STC15F2k60S2.H> //單片機寄存器資源頭文件
#include <intrins.h> //使用_nop_();空操作函數時必須包含此頭文件
#define LED P55 //定義LED管腳號
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
//************************************
//*函數名稱:delay
//*函數功能:延時函數
//*參 數:Dtime:延時時間mS
//*返 回 值:無
//************************************
void delay_nMs(unsigned int Dtime)
{
unsigned int i; //255
for(i=0;i<Dtime;i++) // 10us
{
Delay1ms(); //1s
}
}
//************************************
//*函數名稱:main
//*函數功能:主函數,程序開機運行的第一個函數
//*參 數:無
//*返 回 值:無
//************************************
int main(void)
{
LED = 1; //燈滅
while(1) //重復執行下面大括號中的4行程序
{
LED = 0; //點亮LED
delay_nMs(500); //延時約為0.5s
LED = 1; //熄滅LED
delay_nMs(500);
}
}

3. 程序的編譯

• 設置生成可下載文件-'hex'文件

clip_image017

• 使用Keil軟件工具條上的Rebuild圖標按鈕對程序編譯

clip_image018

• 編譯后觀察keil軟件底下的Build output窗口,了解編譯信息錯誤或警告: 0 Error,0 Warning

clip_image019

四、固件下載

• 編譯成功后(0 Error,0 Warning),使用STC_isp軟件,通過單片機的串口下載hex程序到單片機內,觀察運行現象。

clip_image021

• 開發板運行效果

總結

clip_image022

• STC單片機頭文件STC15F2K60S.h中對管腳的位定義為 管腳組名+管腳bit號,如P15代表的是P1口的第5位。

• #define LED P55 使用#define 定義P55名稱為 LED,在下面程序中可用LED 代表P55管腳。對程序閱讀比較有幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM