51单片机 04 编程
一、模块化编程
.c文件:函数、变量的定义
.h文件:可被外部调用的函数、变量的声明
函数在调用前必须有定义或者声明。
预编译:以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译)
在这里使用inndef/define是为了防止重复编译
<> 是在安装目录里面寻找 “”是在自己的程序目录里面寻找。
宏定义中不能包含 .
(点号),例如 #define __NIXIE.H__是不合法的。
二、LCD1602调试工具(用6-1改过的)
RC板子液晶屏幕会卡住,这一节无实操。
注释:第一行第一列显示 'A';showstring:在指定行列起始位置显示字符串; 其余的地方在lcd.c文件中有注释。
main.c
#include <REGX52.H>
#include "LCD1602.h" //包含LCD1602头文件
#include "Delay.h" //包含Delay头文件
int Result=0;
void main()
{
LCD_Init();
while(1)
{
Result++; //Result自增
Delay(1000); //延时1秒
LCD_ShowNum(1,1,Result,3); //在LCD的1行1列显示Result,长度为3位
}
}
delay.c
void Delay(unsigned int xms)
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
delay.h
#ifndef __DELAY_H__
#define __DELAY_H__
void Delay(unsigned int xms);
#endif