(學習筆記)手把手教你學51微控制器:點亮你的LED
2.1 微控制器內部資源
三大資源:
Flash:程式儲存空間
RAM:資料儲存空間
SFR:特殊功能暫存器
2.2微控制器最小系統
三要素:電源、晶振、復位電路
2.3LED小燈
限流:5~20mA(限流電阻阻值計算) 自身壓降2V
2.4程式程式碼編寫
2.4.1特殊功能暫存器和位定義
eg:sfr P0=0x80; //sfr 關鍵字,定義一個微控制器特殊功能暫存器
sbit LED=P0^0;//為P0^0口賦名LED
注意:寫sfr必須根據手冊中的暫存器的地址(Add)寫,寫sbit的時候可以直接將一個其中某一位(eg:P0^0、P0^1…)取出來寫。
2.4.2 新建工程
2.4.3編寫點亮小燈的程式
/*總LED燈閃爍*/ #include<reg52.h>
sbit LED=P0^0; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit ADDR3=P1^3; sbit ENLED=P1^4;
void main() { /*以下宣告部分*/ unsigned int i=0; //以下為執行部分 ENLED=0; //U3 U4 兩片74HC138總使能 ADDR3=1; //使能U3使之正常輸出
ADDR2=1; //經U3的Y6輸出開開啟三極體Q16 ADDR1=1; ADDR0=0;
while(1) { LED=0; //點亮小燈 for(i=0;i<3000;i++);//延時一段時間 LED=1; //熄滅小燈 for(i=0;i<3000;i++);//延時一段時間 } }
/*總LED燈閃爍*/ #include<reg52.h>
sbit LED=P0^0; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit ADDR3=P1^3; sbit ENLED=P1^4;
void main() { /*以下宣告部分*/ unsigned int i=0; //以下為執行部分 ENLED=0; //U3 U4 兩片74HC138總使能 ADDR3=1; //使能U3使之正常輸出
ADDR2=1; //經U3的Y6輸出開開啟三極體Q16 ADDR1=1; ADDR0=0;
while(1) { LED=0; //點亮小燈 for(i=0;i<3000;i++);//延時一段時間 LED=1; //熄滅小燈 for(i=0;i<3000;i++);//延時一段時間 } }
2.5程式下載
選擇微控制器型、建程式、選com口(預設波特率)冷啟動(先關電源 點選下載 上電)