日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

keil proteus

第一個51程序 :讓一個發(fā)光二極管閃爍

這是一篇超級詳細的C51教程。1

單片機就是一個小型CPU,在電子領域應用廣泛,電視、冰箱、洗衣機、空調等產品中都能見到他們的身影。它是一個可編程的mcu,根據(jù)代碼的不同可實現(xiàn)非常多功能

首先介紹兩個軟件
1、keil uvision4:這是一個單片機開發(fā)軟件,用于調試,生成可執(zhí)行文件HEX文件
2、proteus7.8:電路仿真軟件

一、首先,到網(wǎng)上下載一個keil uVision4開發(fā)環(huán)境(用來編寫C語言程序)

二、下載好之后百度keil4的安裝教程,開始按百度步驟安裝

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

一定要嚴格按照百度教程安裝

安裝成功后打開軟件,看到如下界面:

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

三、安裝軟件:Proteus 7.8

這是一個電路仿真軟件,非常實用,用來繪制原理圖和仿真

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

四、下面開始用Proteus建立硬件環(huán)境

把led接在P1.0上,因為我們是初學者,晶振與電源可以先省略,電路一樣可以工作。

點擊P:

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

然后搜索需要的元器件:AT89C51、RES、LED

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

找到之后雙擊添加:左邊元件欄里可以看到添加的元件

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

繼續(xù)添加:

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

添加完成后開始布置元器件:

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

接地符號在這里:

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

元件布置完后開始接線:點擊兩個點就可以連接起來

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

連接完成。。。點擊保存。

五、上面兩個軟件都安裝成功后開始我們的第一個工程的建立,參考以下代碼 ,代碼作用: 讓一個led閃爍

#include<regx51.h>void delayms(unsigned int t)//延時函數(shù){ int a,b; for(a=0; a<t; a ) for(b=0; b<120; b );}void main(void){ P1_0 = 0; //讓P1.0口輸出0 delayms(500); //延時500ms P1_0 = 1; //讓P1.0口輸出1 delayms(500); //延時500ms}

下面開始建立工程,打開keil,點擊新建工程

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

文件名改為“第一個51程序”,點擊保存

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

找到ATMEL公司的AT89S51

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

點擊OK,然后新建一個文本文件

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

點擊保存,文件名后綴為.c,生成一個c文件

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

寫下代碼

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

添加C語言文件到工程:把剛剛寫的c文件添加到工程

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

*代碼解讀

1、

#include<regx51.h>
包含頭文件<regx51.h>,為什么要包含頭文件?因為要編寫的是51程序,最終代碼是要在51單片機里運行,所以要包含一個51頭文件,這個文件包含了51所有寄存器的一些定義,怎么查看它呢,編譯的時候會出現(xiàn)在你的工程文件中,在keil4的左邊工程文件就可以查看了

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

2、

void delayms(unsigned int t)//延時函數(shù)
{

int a,b;for(a=0; a<t; a ) for(b=0; b<120; b );123

}
延時函數(shù)就是讓CPU反復執(zhí)行一條空指令來消耗時間,這段時間CPU仍然在工作,各寄存器的值保持不變。

3、

void main(void)
這是主函數(shù),程序從這里開始執(zhí)行

4、

P1_0 = 0; //讓P1.0口輸出0delayms(500); //延時500msP1_0 = 1; //讓P1.0口輸出1delayms(500); //延時500ms1234

P1_0是什么?P1_0是在reg51.h頭文件定義的,沒有頭文件寫P1_0編譯是通不過的。P1_0的本質是一個位寄存器,存儲了1bit數(shù)據(jù),可以存儲0或1,P1_0的值決定了P1_0引腳上輸出的電平
P1_0 = 0;就是讓P1_0輸出0V
delayms(500);寄存器的值不變,P1_0持續(xù)500ms低電平
P1_0 = 1; 就是讓P1_0輸出5V(實際達不到5V),
delayms(500);寄存器的值不變,P1_0持續(xù)500ms高電平,循環(huán)執(zhí)行,led就會以1HZ的頻率閃爍了
另外,51單片機不用循環(huán)語句while,也會循環(huán)執(zhí)行main函數(shù)中的內容

完整內容及代碼資料可進群免費領取。

嵌入式物聯(lián)網(wǎng)的學習之路非常漫長,不少人因為學習路線不對或者學習內容不夠專業(yè)而錯失高薪offer。不過別擔心,我為大家整理了一份150多G的學習資源,基本上涵蓋了嵌入式物聯(lián)網(wǎng)學習的所有內容。點擊下方鏈接,0元領取學習資源,讓你的學習之路更加順暢!記得點贊、關注、收藏、轉發(fā)哦!

點擊這里找小助理0元領取:掃碼進群領資料

51單片機教程 第一個51程序 -點亮一個發(fā)光二極管(51單片機發(fā)光二極管原理圖)

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
宜黄县| 芦山县| 安塞县| 广州市| 松溪县| 上栗县| 永寿县| 绍兴市| 林甸县| 祥云县| 琼海市| 弥渡县| 吉木萨尔县| 嘉祥县| 庆阳市| 沽源县| 平原县| 光泽县| 黔西| 广河县| 锦屏县| 曲靖市| 嘉鱼县| 广元市| 汝城县| 周口市| 内乡县| 嘉鱼县| 墨竹工卡县| 灵石县| 肃宁县| 息烽县| 陕西省| 定西市| 烟台市| 松阳县| 卢龙县| 崇州市| 平湖市| 荃湾区| 淄博市|