51单片机个人小结

  • 先来看看51的引脚配置图

上面的图应该就能很好的理解51是具有4个8位并行I/O口了,

主要包括P0、P1、P2、P3口(大多数端口具有复用功能如P3.0、P3.1是I/O与串口的复用),还有读写使能输出和时钟输入端等。

然后上面的51板是8位的CPU,片内有128位的RAM数据存储器4KB的ROM程序存储器,而外部数据存储器地址空间程序存储器地址空间都是64KB

这是51的最基本配置,当然我们还得看看它的复位电路时钟电路。

复位电路:

51单片机需要一个硬件复位电路,用于用户的手动复位,并且51单片机是高电平复位有效,上图就是最简单的一个复位电路了。

时钟电路:

在引脚XTAL1XTAL2之间接一个晶振两个电容就构成了内部震荡方式,而加上在单片机内部的一个高增益反相放大器,外接一个晶振后,就构成了自激振荡器并产生震荡时钟脉冲,上面就是简单的电路图了。

单片机最小系统:

那么这里有一个概念,什么是单片机最小系统呢?

它是指以51系列单片机作为核心,再附带一些使单片机能够运行的最小资源,主要包括时钟电路复位电路扩展接口电路等部分就构成了单片机的最小系统。

介绍了这些,学过C语言的话,你就能实现一个简单的LED灯程序了。当当当~~

  • 点亮第一个灯

#include <reg52.h>   //reg52.h包含52单片机的寄存器库
sbit led = P1^0;   //只有地址可以被8整除的才可以用sbit单独定义某一位,P0——P3口都可以sbit单独定义

int main(void)
{
    led = 1;    //初始化P1^0,使之输出状态
    while(1)
    {
        led = 0;    //将P1^0输出低电平
    }
}

上面的程序应该是很好读懂的,这样其实就入门了。在Protues上的仿真结果

发现P1^0口的灯被点亮了!

  • 延时功能的实现

为了实现LED的闪烁,需要一个延时函数实现一定时间的延时。

#include <reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit led = P1^0;

void delay(u16 num)
{
    u16 x, y;
   
  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值