51教程(3)-I/O控制代码分析

库包含

#include <reg51.h>所有51程序都要包含的基本库,里面包含了SFR(特殊寄存器)的映射,例如P2^2按照机器编译的话应该是一个二进制地址,reg51.h内将其封装为对应有序的名字更方便开发者使用,也包括中断向量和定时器资源等。

#include <stdio.h>标准打印输出库,内部包含printf()函数,如果使用该函数需要包含该库,但是单片机尤其是51基本不使用PC的printf()函数,需要重映射fputc()函数,使得其功能映射到串口打印实现和PC一样的打印效果。

#include <intrins.h>目前使用_NOP_时需要添加的库,针对汇编使用的库。

02

位声明

sbit LED=P2^2; 由于reg51库的封装使得所有引脚按照自己的号进行命名当开发者需要将引脚连接到对应外设时,需要记住引脚和外设的对应关系,数量较少时不易出错,但是数量过多时会发生记错翻找的事情,不利于开发效率提高,51可以对位进行操作所以位声明就是一种特殊的引脚映射宏,使得引脚映射更方便记住,也使得编程更加方便快捷。

03

MAIN函数

void main()是程序执行的真正开始,单片机复位后会从这个函数的第一行开始执行,俗称主函数,点亮LED的主函数只有一行就是LED=1;但是为了防止程序跑飞通常每一个单片机程序都要运行在一个死循环里,所以main里是有一个while(1)嵌套的大部分的循环执行的内容都写在while(1)里面,在外面写上一个错误反馈函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值