1. 程式人生 > >51微控制器程式設計簡單入門——點亮實驗板上的LED燈

51微控制器程式設計簡單入門——點亮實驗板上的LED燈

1、使用uVision4建立專案
這裡寫圖片描述
2、選擇MCU的型號:Atmel->AT89C52
這裡寫圖片描述
這裡寫圖片描述
3、是否建立C51啟動檔案,選否。啟動檔案以前彙編常用,現在少用了。
這裡寫圖片描述
4、新建檔案,需指定命名為.c檔案
這裡寫圖片描述
5、雙擊Source Group 1,新增led.c 或 右鍵Add Files to Group ‘Source Group 1’
這裡寫圖片描述

這裡寫圖片描述
  最終將led.c增加到Source Group 1目錄下:
這裡寫圖片描述
6、開始在led.c下編寫c語言程式碼

//微控制器程式設計都要寫上這個標頭檔案
#include <reg52.h> 
//sbit對位操作的宣告,該行表示將P1.0口重新命名為LED1,對p1^0口輸出為0就會發光了,操作第二個燈可設變數sbit LED2 = P1^1;
sbit LED1 = P1^0; void main() { //給LED1賦值0,相當於燈亮。 LED1 = 0; }

  原理圖輔助理解:
這裡寫圖片描述

這裡寫圖片描述
7、點選編譯,程式碼通過
這裡寫圖片描述
8、生成HEX 檔案,用於燒入硬體
這裡寫圖片描述

  再點選編譯,生成成功:
  這裡寫圖片描述
9、啟動stc-isp,選擇開啟程式檔案->test.hex->下載/程式設計,進行燒入
這裡寫圖片描述
操作成功顯示:
這裡寫圖片描述
燈亮了:
這裡寫圖片描述
10、檢視標頭檔案方式:選擇#include->Open document
這裡寫圖片描述

sfr告訴編譯器,暫存器的地址:
這裡寫圖片描述
11、其他程式碼,延時效果

#include<reg52.h>
sbit LED1 = P1^0; unsigned int a; void main() { while(1){ LED1 = 0; //點亮LED1 a = 3000; while(a--); //軟體延時 LED1 = 1; //熄滅LED1 a = 3000; while(a--); //軟體延時 } }