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