看到一個程序,在main函數之后是很正常的初始化,但這之前怎么又是void KeyScan();如圖上紅色標注的這些,這些子函數程序后面已經寫了,為什么前面還要再調用#include "STC15.H"
#include "oled.h"
#include "ds18b20.h"
#define ADC_POWER 0x80 //ADC電源控制位
#define ADC_FLAG 0x10 //ADC完成標志
#define ADC_START 0x08 //ADC起始控制位
#define ADC_SPEEDLL 0x00 //540個時鐘
sbit LEDG = P5^5;
sbit BUZZ = P1^3;
sbit RELAY = P3^7; //0開1關
//定義按鍵IO
sbit KEY1 = P3^6;
sbit KEY2 = P3^3;
sbit KEY3 = P3^2;
//按鍵碼,為0時沒有鍵按下
char KeyCode = 0;
//水位百分比,分0%-20%-40%-60%-80%-100%
int WaterLev = 0;
//設置的水溫
int TempSet = 300;
int Flag1s = 0;
int FlagBuzz = 0;
void Timer0Init();
void KeyScan();
void KeyAction();
void STC15AdcInit(uchar ch);
void STC15AdcStart(uchar ch);
void main()
{
OledInit();
OledShowStr(32, 0, "Temp Box");
OledShowStr(0, 2, "Temperature:");
OledShowStr(0, 4, "Water Level:");
OledShowStr(24, 6, "Set Temp:");
OledShowTemp(96, 6, TempSet);
Start18B20();
STC15AdcInit(5);
STC15AdcStart(5);
Timer0Init();
|