我的89c51单片机入门并不是在大学期间学习的。作为一个涉猎广泛的电子爱好者,单片机入门是郭天祥讲解的89C51单片机。我从接触他的课程至发稿前几天都无法理解c语言函数的功能。我们为什么不能直接把功能写进主函数而非要写多个函数反复调用,这样不仅乱而且还麻烦。每写一个函数都要申明、调用不是很理解。
就在前几天我在写c脚本的时候才知道我们都是写单独个函数然后再和主函数链接起来成为一个可用的函数,那么接下来我就以郭天祥讲解的LED灯闪烁为例来写一个关于多函数编译的hex文件,抛砖引玉供大家学习。
首先编写主函数:如下图,D1_1和D1_2是两个LED。
观察主函数发现我们调用了一个delay函数,但是这个函数并没有在我们的主函数中出现,那么我们新建一个延迟函数
此时延迟函数和主函数都有一个自己编写的头文件delay.h
这个就是申明,好比我们c语言中函数调用申明。
那么接下来我们就写申明头文件
#ifndef是ifnotdefine意思是如果没定义就定义无符号整型
既然有if那么一定要有end
编译后无报错
放入单片机后正常运行。
程序及proteus仿真程序。
https://download.csdn.net/download/qq_43161960/78474287
上一篇:89c51单片机精确1s时间LED灯闪烁
下一篇:51单片机基础(1) -外部中断
设计资源 培训 开发板 精华推荐
- RT9166A 300/600mA、超快速瞬态响应LDO稳压器的典型应用
- 3.3V环境下与USB收发器的下游连接
- 使用 Analog Devices 的 LTC3603EMSE 的参考设计
- LDK120M08R 0.8V低压降稳压器典型应用固定电路
- CMWX1ZZABZ-078 射频收发器 - 应用电路
- 基于ST1S40IPUR的、具有使能开/关功能的、4A峰值800kHz固定频率PWM同步降压演示板
- SP6654高效800mA同步降压稳压器典型应用
- L7815C 具有短路保护的高输出电流的典型应用
- EPM2M-SM-IP,网关是工业级完整蜂窝网关,适用于基于 Dust Networks 智能网状 IP 的无线传感器网络
- L7812C高输入电压电路典型应用(配置1)