分享

8051单片机快速入门我的第一盏灯

 山峰云绕 2021-11-10


学习单片机之前呢,给大家推荐一本单片机学习的书籍《爱上单片机》,内容结构浅显易懂,实践性很强,非常容易上手,好了,废话不多说,直接上干活,带你快速入门单片机;

一、位定义原理

定义方法:sbit 位名=特殊功能寄存器^位置;

sbit LED1 = P2^0;

符号'^'前面是特殊功能寄存器的名字,后面的数字定义的可寻址位在特殊功能寄存器中的位置,取值必须是0~7

P2是连接LED的IO口,P2^0到7分别对应LED1到8

二、代码实现

#includ<reg51.h>//以AT8951单片机为例//对八个LED分别进行位定义sbit LED1 = P2^0;sbit LED2 = P2^1;void main(){//LED为共阳极低电平LED亮LED1 = 0;LED2 = 0;}

三、引脚定义

8051单片机的40个引脚大致可分为4类:电源块、时钟块、控制块和I/O引脚。

⒈ 电源:

⑴ VCC :芯片电源,接+5V电源(一般情况下规定应该是5到12V);

⑵ VSS :接地端GND;

⒉ 时钟:XTAL1、XTAL2 :晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根(入门单片机时这一块暂时不用重点去看)

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲

① ALE功能:用来锁存P0口送出的第8位地址

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端(用于搭建复位电路)。

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

以上内容单片机入门时学会使用32个I/O引脚以及时钟电路,复位电路即可,其余在单片机进阶学习过程中可以重点了解学习。

⒋ I/O接口:

拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。

(1)电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。通过晶体振荡器组成时钟电路。需要电子元件有一个晶振,两个30pF的电容。

(2)振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18(XTAL1)、19脚(XTAL2);如下图:

(3)复位管脚:如下图所示,至于复位是何含义及为何需要复要复位,在之后的单片机功能中会有介绍。

(4)EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。如下图点亮一个LED灯:

代码如下:

#include <reg51.h> //调用库sbit k1 = P3^0; //定义开关按键sbit L1 = P1^0; //定义LED链接管脚void main(void){while(1) //循环闪烁{if(k1 == 0){L1 = 0; //低电平有效,输入0led灯点亮}else{L1 = 1; //否则熄灭}}}

如上就是我们的第一个任务,要用单片机点亮一只发光二极管LED,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,我们用1.0管脚与LED相连。

按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。同时我们还通过按键控制这个led,即按键摁下,led发光,松开熄灭。

(5)仿真教程

  • 导入事先准备好的Hex文件,双击8051单片机芯片

  • 导入Hex文件,点击仿真按钮

如上图所示,开始仿真后,因为代码的编写的原因,该电路图是当开关按下led熄灭,修改方法即将if语句进行进行改动即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多