零基础入门单片机(2)学会控制IO引脚你就入门啦

发布时间:2022-12-07  

【一】单片机引脚介绍

1.电源引脚
●VSS:接地。
●VCC:外接5V电源。
2.外接晶振引脚
●XTAL1:当单片机使用内部振荡电路时,接外部晶体的一端和微调电容。当单片机采用外部时钟信号时,此引脚接地。
●XTAL2:当单片机使用内部振荡电路时,接外部晶体的一端和微调电容。当单片机采用外部时钟信号时,用来输入时钟脉冲。
3.控制引脚
●RST/VPD:复位信号输入端,高电平有效。当此引脚保持两个机器周期的高电平时,进行复位操作。该引脚的第二功能是备用电源。
●ALE/PROG:地址锁存允许信号端。当MCS-51单片机上电后,ALE引脚不断向外输出振荡器频率fosc 1/6的正脉冲信号。此引脚具有第二功能PROG,其作为对带有片内可编程ROM单片机进行固化程序写入操作时的编程脉冲输入端。
●EA/VPP:外部程序存储器地址允许输入端。当EA引脚接高电平时,CPU先访问片内程序存储器并执行其中的指令,然后再访问外部程序存储器。当EA引脚接低电平时,CPU只访问外部程序存储器并执行其中的指令,此时并不管该单片机是否具有片内程序存储器。该引脚的第二功能是作为对 EPROM 型单片机进行编程时的编程电源。
●PSEN:程序存储允许输出信号端。在访问片外程序存储器时,该引脚输出负脉冲作为读片外存储器的选通信号。在CPU从外部程序存储器取指令期间,PSEN信号在每个机器周期中两次有效。
4.输入/输出引脚
●P0口:8位漏极开路型双向I/O口,能驱动8个LS TTL负载。当访问外部存储器时,分时传送低字节和数据。
●P1口:带有内部上拉电阻的8位准双向I/O口,能驱动4个LS TTL负载。
●P2口:带有内部上拉电阻的8位准双向I/O口,能驱动4个LS TTL负载。当访问外部存储器时,输出高8位地址。
●P3口:带有内部上拉电阻的8位准双向I/O口,能驱动4个LS TTL负载。此外还具有第二功能,见表2.5。

【2】C51的程序结构

C51的程序也是由各个函数组成的。其中最重要的是main()函数,它也是必须存在的一个函数。作为程序的入口,程序每次执行均从main()函数开始,每次调用完其他函数后都将返回到main()函数,而当执行完main()函数中的所有代码后,结束整个程序。整个过程并不关心函数的排列顺序。


一个函数一般由两部分组成:函数说明部分和函数体部分。


函数说明部分包括函数名、函数类型、函数属性、函数参数。函数名后紧跟一个圆括号(),函数参数列于其中。一个函数也可以没有参数。


在函数说明部分后边紧跟的就是函数体部分。函数体的全部内容在一个大括号 {} 中,其中还包括变量说明和执行代码,函数运行时依次执行其中的代码。


一个标准的C51函数的格式如下所示。

函数类型 函数名(函数参数表)

{

变量说明部分;

执行代码部分;

}

下面是一个C51函数的实际例子,该函数的功能为完成一次加法运算。

int fun plus(int A,int B)

{

int result;

result=A+B;

return(result);

}

对于用户来说,C51函数可以使用标准库函数,或者自定义函数。

标准库函数在C51库文件中已经定义好,并在相关的头文件中也已加以说明,用户只需要直接调用即可。

自定义函数是用户根据自己的需要自己定义并调用的一类函数。

下边是一个完整的C51程序结构例子。

# include <reg52.h>       //包含头文件

void main(void)         //主函数部分

{

    sbit P1.0=P1^0;       //P1端口位定义

    sbit P1.1=P1^1;

    P1.0=1;          //给位定义的变量赋初值

    P1.1=1;

    delay();          //调用延时子程序

    while(1)           //P1.0、P1.1交替赋值,实现LED交替闪烁的效果

    {

        P1.0=0;

        P1.1=1;

        delay();

        P1.0=1;

        P1.1=0;

        delay();

    }

}

void delay(void)         //延时子程序部分

{

    uint i;

    for(i=0;i <256;i++);

}


对于用户来说,只需要将两个LED的正极接高电平,串联一个电阻后分别连接到MCS-51单片机的P1^0和P1^1引脚,利用上述代码即可实现LED交替闪烁的效果。

这是个很小的成功的C51程序,可以看到,它清楚地包括头文件和程序主题。头文件中包含了硬件信息,并给外部模块提供可使用的函数和变量说明。程序代码中sbit P1.0=P1^0的P1^0便是在头文件reg52.h定义的。该程序函数包括main()函数和自定义子函数delay()。在main()函数运行过程中曾多次调用子函数实现延时功能,这样,LED的闪烁不至于快到人肉眼无法分辨的程度。

该程序对应的单片机电路如图4.1所示。

利用Keil来进行MCS-51单片机C51程序的开发,通常使用项目来进行管理。

项目一般分为两大块:C文件块和头部文件块。将不同功能写在不同的C文件中,依靠项目的管理,最后将所有文件连接,从而得到可以刻录的HEX文件或BIN文件。在所有这些C文件中,有且只有一个main()函数,头文件将各个C文件互相连接。

图4.1 LED交替闪烁单片机电路图



文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    就可以出去找工作了。 学习单片机,第一步要先学习单片机C语言基础,如果是零基础,大概1-2周就可以掌握C语言基础知识。 C语言相关的知识单片机入门的时候只需要学习单片机C语言基础知识就可以了,指针......
    教程在网上也很多的学习资料,大家可以选择一个适合自己的教程和方法学习。 3.买个开发板,开始学习单片机基础知识 学习单片机,大家还是要做一些投资的,花钱买个开发板。 开发板不一定要功能特别丰富,选择那种带教程的,价格......
    有很多用途。   三、单片机基础知识   说到单片机的基本知识,我们必须了解单片机的各个组件,这些组件包括:中央处理器(CPU),随机存取存储器(RAM),只读存储器(ROM),输入/输出端口定时器,计数......
    程序开发?先学什么?如何入门? 1.首先,学习单片机C语言基础 C语言是单片机程序开发的基础,所以首先是学习单片机C语言的基础知识。 有人问,单片机汇编语言,要不要学习? 汇编语言是最接近单片机......
    STM32单片机架构详解;今天打算继续总结stm32单片机的基础知识,巩固基础。这里呢,声明一下,《stm32单片机基础知识总结》主要基于stm32f1及stm32f4两个系列来做的。原因......
    ,从最基础的51单片机入门学习,可以为我们后面学习STM32、ARM微控器等其微控制器的学习奠定知识基础和积攒一定的经验,给自己的大学及以后的职业道路增加一丝色彩。 二、首先了解什么是单片机......
    这3种电路图能看懂并会接线,常见继电故障通吃无难事 踩坑又给项目埋雷,这RS485自动收发电路设计 硬件电路设计基础知识详解(比较器、二三极管、MOS管) ......
    的学习,大概需要1-2周的时间。 掌握了单片机C语言的基础知识之后,大家就可以直接入手51单片机的学习了。 第一步: 先搭建单片机的的开发环境,掌握单片机程序的编译和烧录方法等 第二步:学习单片机的外设,包括......
    单片机有前景吗?单片机入门基础知识;任何一个行业,都难免会看到一群喷子,喷行业辣鸡,喷职业苦逼。 最近看到很多喷单片机这个行业的,说这个行业工资低,学的东西又多,没前途。 还不如去学习纯软件,收入......
    板一般都带有配套的教程,大家可以跟着教程敲代码,学理论,做实验,掌握单片机开发的基础知识。 第五: 开始项目实战 相信很多兄弟,跟着开发板学完之后,就不知所措了,不知道自己是否单片机入门了?还是不知道怎么用单片机......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>