天天看點

STC89C52單片機學習筆記(一)前言一、STC89C52單片機介紹二、編寫C語言總結

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、STC89C52單片機介紹
  • 二、編寫C語言
    • 1.簡單流水燈程式
    • 2.C51庫函數實作流水燈
  • 總結

前言

單片機C語言好處1、語言簡潔,使用友善、靈活

2、代碼編譯效率高

3、無需深入了解單片機内部結構

4、可進行子產品化開發

5、可移植好

6、可以直接操作硬體

提示:以下是本篇文章正文内容,下面案例可供參考

一、STC89C52單片機介紹

這種·單片機屬于80C51系列,其内部有8KB的Flash ROM和512B的RAM,并且可以通過序列槽進行ISP程式下載下傳,不需要反複插拔晶片,非常适合用于實驗。

二、編寫C語言

1.簡單流水燈程式

代碼如下(示例):

#include<reg52.h>
#define unit unsigned int 
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
void Delay_ms(unit xms)
{
unit i,j;
for(i=xms;i>0;i--)
{
for(j=115;j>0;j--)
{;}
}
}
void main ()
{
while(1)
}
P20=0  //P20腳燈亮
Delay_ms (500); //将實際參數500傳遞給形式參數xms,延時0.5s
....
}
}
           

2.C51庫函數實作流水燈

代碼如下(示例):

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int 
#define uchar unsigned char 
void Delay_ms(uint xms )
{
uint i,j;
for(i=xms;i>0;i--)
    for (j=115;j>0;j--);
}
void main ()
{
unchar led_data = 0xfe;
while (1)
{
    P2 =led_data;
    Delay_ms(500);
    led_data=_crol_( led_data,1);
}
}
           

總結

(1)c程式是由函數構成的,一個c程式至少包括一個函數,一個c源程式有且隻有一個函數名main()的函數,也有可能有其他函數。是以函數是c程式的基本機關。主程式通過直接書寫語句和調用其他函數來實作有關功能,這些其他函數可以是由c語言本身提供給我們的,這樣的函數稱之為庫函數

(2)一個函數由兩部分組成

函數的頂部,即函數的第一行。包括函數名、函數參數等。函數名後面必須跟一對原括号,即使沒有參數也是如此。

(3)一個函數由mian函數開始執行

(4)主函數中的Delay_ms(unit xms)如果寫成delay_ms(unit xms)就會編譯錯誤,是以要注意大小寫之分

(5)c語言書寫格式自由,可以在一行寫多個語句,也可以把一個語句寫在多行

(6)每個語句記得帶分号

(7)可以用注釋使用     

繼續閱讀