環境描述: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語言文件嗎?
這個問題一直困擾著我,不過今天算是解決了。通過這種方式可以將一個很大的工程項目分為幾個子模塊,然後對模塊一個個進行測試,哪裡有問題,就會有針對性的進行調試,提高了整體效率。