/*****************************************
建议先从main函数看起,可以了解整个程序的架构,本程序采用模块化编程,不同模块分的
很清晰,鉴于设计上的不同,端口的使用需要自己定义,经本人验证,I/O端口不能重复使用,
需要各定义各的
******************************************************************************************/
//程序代码:
//由几个子程序组成文件:
#include "reg52.h"
#include "AD_change.h"
#include "display.h"
#include "shift_key.h"
#include "function.h"
#include "key-scan.h"
//上面的#include是因为原程序建立在不同C文件,现在可以保留也可以不要(个人观点)
/*******************初始化模块*********************/
void Lcd_init() //LCD1602初始化
{
Lcden=0;
Write_com(0x38);
Write_com(0x0c);
Write_com(0x06);
Write_com(0x01);
}
void Time_init_capacitandce() //定时器初始化
{
TMOD=0x01;
EA=1;
ET0=1; //打开中断
TL0=0;
TH0=0;
WaveInput=1; //脉冲引脚
}
/******* main函数 *******************/
void main()
{
Lcd_init(); //lcd初始化
Time_init_capacitandce(); //定时器初始化
while(1) //大循环
{
Key_scan(); //键盘采样
}
}
/**************中断函数************************************/
void Time0() interrupt 1 //计数器/定时器0
{
T0IntCount++; //T0IntCount++
TL0=0; TH0=1;
}
/************显示模块****************************/
Display.h 文件