看到一个程序,在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();
|