一.點(diǎn)亮一個(gè)led教學(xué)目的:本節(jié)主要是keil、proteus使用,以及51單片機(jī)的簡介和最基本操作 點(diǎn)亮一個(gè)led 材料:proteus 7.4、keil3、STC89C51 數(shù)據(jù)手冊、網(wǎng)盤地址:http://pan.baidu.com/s/1sj0WUyp 步驟: 1.單片機(jī)-單芯片微型計(jì)算機(jī)。大家可以看到單片機(jī)上有很多腳(左邊是實(shí)物圖 右邊是管腳圖)。51單片機(jī)是控制類芯片,單片機(jī)在工作時(shí)就是通過控制每個(gè)管腳的電平來操控外部電路的。 2.單片機(jī)管腳的電平只有兩種狀態(tài) 高電平(5v) 低電平(0v),我們通過編程可以控制每一個(gè)管腳是什么狀態(tài)。 3.下面我們創(chuàng)建第一個(gè)工程 點(diǎn)亮一個(gè)led燈。 · 打開keil3,選擇project->new project。 · 選擇保存路徑(最好每個(gè)工程都保存在一個(gè)文件夾) · 輸入工程名字后點(diǎn)保存。 · 4. 然后是選定芯片類型,Atmel->AT89C52 確認(rèn),然后會(huì)彈出一個(gè)框問是否添加啟動(dòng)代碼,選否。
5.然后新建一個(gè).c文件。File->New Ctrl+s保存(注意:后綴名必須是.c)。 添加文件到工程:雙擊Source Group 1 -> 選擇剛才新建的.c文件 -> add -> close
6.設(shè)置工程生成hex文件。hex文件是下載到單片機(jī) 單片機(jī)課直接執(zhí)行的文件。 如圖選擇 把選項(xiàng)勾上。
7.編寫代碼: #include <reg52.h> sbit led = P1^0; void main() { led = 0; while(1); }
8.點(diǎn)擊圖中紅框的按鈕編譯工程。 下面提示框:0警告 0錯(cuò)誤 生成hex文件。 9.最后打開proteus仿真看效果。 雙擊芯片->Program File,選擇剛才建立的keil工程文件夾 選中 .hex 文件 點(diǎn)擊打開,ok。
10.點(diǎn)擊左下角的開始仿真按鈕,仿真的效果很明顯,led燈點(diǎn)亮了。
二.Keil uVision4 51單片機(jī)點(diǎn)亮3個(gè)LED編程 Keil uVision4 51單片機(jī)點(diǎn)亮3個(gè)LED編程
步驟: 1.新建項(xiàng)目,如圖所示。
2.設(shè)計(jì)單片機(jī)端口與LED燈相連。
3.創(chuàng)建C語言主函數(shù)。
4.點(diǎn)亮三個(gè)LED燈。
5.設(shè)置一個(gè)死循環(huán),程序停留。
6.發(fā)布測試。
三.Keil uVision4 51單片機(jī)LED閃爍編程Keil uVision4 51單片機(jī)LED閃爍編程。
步驟:1.新建項(xiàng)目:Keil uVision4 51單片機(jī)LED閃爍編程。
2.設(shè)計(jì)單片機(jī)端口與LED燈相連。
3.創(chuàng)建延遲函數(shù)
4.創(chuàng)建C語言主函數(shù)
5.對輸出取反。
6.調(diào)用延遲函數(shù)。
四.Keil uVision4 51單片機(jī)開關(guān)LED燈編程Keil uVision4 51單片機(jī)LED多路開關(guān)編程,多路開關(guān)狀態(tài)指示。開關(guān)LED燈編程
步驟: 1.新建項(xiàng)目,如圖所示。
2.添加reg51.h頭文件。 #include<reg51.h>
3.sbit s2=P3^0;位定義
4.sbit led1=P1^0;定義燈。
5.創(chuàng)建C主函數(shù)
6.創(chuàng)建循環(huán)效果。
7.選擇效果。 五.Keil uVision4實(shí)例 51單片機(jī)控制流水燈效果 Keil uVision4實(shí)例 51單片機(jī)控制流水燈效果,設(shè)計(jì)內(nèi)容:宏定義、自定義函數(shù)、位移函數(shù),循環(huán)。
步驟: 1.創(chuàng)建項(xiàng)目:51單片機(jī)控制流水燈效果。
2.添加包含51頭文件。
3.包含移位標(biāo)準(zhǔn)庫函數(shù)頭文件。
4.使用預(yù)處理指令,完成宏定義:用“uchar”替換unsigned char #define uchar unsigned char
5.設(shè)置燈的相關(guān)變量: unsigned char LED;
6.自定義延遲函數(shù): 函數(shù)類型 函數(shù)名 (形式參數(shù)表) { 局部變量定義 函數(shù)體語句 }
7.添加程序主體。
8.給變量賦值: LED = 0xf0; P1 = LED; 1110 0010(0代表點(diǎn)亮四盞燈) 大家可以使用計(jì)算器完成,16進(jìn)制與二進(jìn)制的轉(zhuǎn)換。
9.循環(huán)右移:LED = _cror_(LED , 1); 延遲60毫秒。
注意事項(xiàng):字符型循環(huán)左移:_crol_ ; 字符型循環(huán)右移:_cror_ |
|