環境描述:Keil + Proteus電路仿真
首先在Keil裡創建一個工程,在工程裡建立三個文件,文件名分別是:“頭文件.c”,“delay.c”,“delay.h”
分別在 頭文件.c、delay.c、delay.h 寫入相應內容:(注意不要將 delay.h 文件插入工程文件中)
1 #include<reg51.h>
2 #include"delay.h"
3
4 main()
5 {
6 while(1)
7 {
8 P1 = 0x00;
9 delay();
10 P1 = 0xff;
11 delay();
12 }
13 }
1 #include"delay.h"
2 delay()
3 {
4 int x;
5 for(x = 0;x < 250;x++)
6 ;
7 }
1 #ifndef _DELAY_H_ 2 #define _DELAY_H_ 3 delay(); 4 5 #endif
設置生成Hex文件的目錄:
點擊Rebuild all target files,生成效果如下:
在Proteus仿真軟件中插入一個80C51的單片機芯片,然後將剛生成的Hex文件燒錄進該芯片中:
仿真效果如下:
用模塊寫一個LED燈程序的整個步驟就介紹完畢了。
溫馨提示:
1,delay在程序中起延時的作用。
2,#include<delay.h>與#include"delay.h"的區別
#include<delay.h>存入的是單片機自帶的頭文件目錄中
#include"delay.h"是自定義的函數,存放在自己新建的工作目錄中
3,寫這篇文章的主要目的並不是介紹如何寫一個LED亮滅的單片機程序,而是通過這個小程序,介紹用模塊寫程序的步驟。
曾經我在寫C語言的時候,只會用一個頭文件,外加一個主函數,那時候我就在想,如果以後做工程項目,難道就要像這樣寫一個很長很長的C語言文件嗎?
這個問題一直困擾著我,不過今天算是解決了。通過這種方式可以將一個很大的工程項目分為幾個子模塊,然後對模塊一個個進行測試,哪裡有問題,就會有針對性的進行調試,提高了整體效率。