8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁

最新更新时间:2022-05-13来源: eefocus关键字:单片机  STC89C52RC 手机看文章 扫描二维码
随时随地手机看文章

代码修改如下:


#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;   //对数据类型进行声明定义

typedef unsigned char u8;



sbit led=P2^2; //将单片机的P2.2端口定义为led


/*******************************************************************************

* 函 数 名         : delay

* 函数功能    : 延时函数,i=1时,大约延时10us

*******************************************************************************/

void delay(u16 i)

{

while(i--);

}


/*******************************************************************************

 * 函 数 名       : main

 * 函数功能 : 主函数

 * 输    入       : 无

 * 输    出    : 无

*******************************************************************************/

void main()

{

while(1)

{

led=0;

delay(50000); //大约延时450ms

led=1;

delay(50000); //大约延时450ms

}

}


代码中使用了 typedef 对数据类型进行声明定义,这是C语言的一个语法,这个很好理解,在这里就是使用 u16 代替 unsigned int,在8位单片机中表示16位数据,可以表示从 0 到 65535(2^16-1) 这些数,同理使用 u8 代替 unsigned char。


增加 delay 函数,该函数实现死循环的自减,从而达到延时的目的,以后我们会知道这种方式是不建议使用的,然在这里粗略可实现LED延时约5s闪烁。

关键字:单片机  STC89C52RC 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic571936.html

上一篇:8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯
下一篇:最后一页

推荐阅读

8051单片机实战分析(以STC89C52RC为例) | 06 - 动态数码管驱动
1 动态扫描那什么是动态扫描呢?举个例子:有 2 个数码管,我们要显示“12”这个数字,可以先让高位的位选三极管导通,然后控制段选让其显示“1”,延时一定时间后再让低位的位选三极管导通,然后控制段选让其显示“2”。把这个流程以一定的速度循环运行就可以让数码管显示出“12”,由于交替速度非常快,人眼识别到的就是“12”这两位数字同时亮了。在多个数码管显示数字的时候,我们可以轮流点亮数码管(一个时刻内只有一个数码管是亮的),利用人眼的视觉暂留现象(也叫余辉效应),就可以做到看起来是所有数码管都同时亮了,这就是动态显示,也叫做动态扫描。那么一个数码管需要点亮多长时间呢?也就是说要多长时间完成一次全部数码管的扫描呢(很明显:整体扫描时间=单
发表于 2022-05-12
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 06 - 动态数码管驱动
8051单片机实战分析(以STC89C52RC为例) | 07 - 独立按键驱动
按键是比较常用的也是比较简单的人机交互操作,按键实际上是一个非自锁的轻触开关,按下时触点会闭合,松开是触点断开。1 独立式按键常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自与独立的输入线相连接,如图所示。4 条输入线接到单片机的 IO 口上,当按键 K3 按下时,K3两边的线路将会导通,P32这个单片机IO口直接接到GND,此时P32这个引脚就是低电平了。当松开按键后,当松开按键后,线路断开,就不会有电流通过,那么P32引脚就会是默认的电平状态,是一个高电平,因为被上拉电阻R8拉到了VCC状态。所以我们就可以通过 P32 这个 IO 口的高低电平来判断是否有按键按下。2 按键抖动通常的按键所用开关为机
发表于 2022-05-12
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 07 - 独立按键驱动
8051单片机实战分析(以STC89C52RC为例) | 08 - 矩阵按键驱动
1 矩阵键盘矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。最常见的键盘布局如图所示。一般由16个按键组成,在单片机中正好可以用一个P1实现16个按键功能,这也是在单片机系统中最常用的形式。4*4矩阵键盘的电路如图所示:工作原理:当无按键闭合时,P10~P13与P14~P17之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:① 设置列线P10~P13为输入状态,从行线P14~P17输出低电平,读入列线数据,若某一列线为低电平,则该
发表于 2022-05-12
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 08 - 矩阵按键驱动
8051单片机实战分析(以STC89C52RC为例) | 09 - LED点阵显示数字
1 LED点阵LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。 通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8* 8LED 点阵来做介绍。工作原理:8* 8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平(行所接的是二极管的阳极,所以为高电平),某一列置 0 电平(列所接的是二极管的阴极极,所以为低电
发表于 2022-05-12
8051单片机实战分析(以STC89C52RC为例) | 09 - <font color='red'>LED</font>点阵显示数字
8051单片机实战分析(以STC89C52RC为例) | 10 - 外部中断的使用
1 中断系统结构以下这张图是从中断引脚到中断入口所经过的通道:从图中不难看出INT0与INT1是中断引脚,其中经过了TCON、IE、IP这些寄存器,因此我们在写程序时得把这些寄存器功能配置好,CPU才会按照我们的想法只执行!下面分别对这些寄存器进行介绍(稍微了解一下即可,忘记的时候再查)。1.1 TCON寄存器TCON(Timer Control Register),中文叫定时器/计数器控制寄存器,TCON寄存器是用于中断触发方式设置以及中断标志。各寄存器位的作用如下:TCON寄存器位 作用1.2 IE寄存器IE(Interrupt Enable),中文叫中断允许寄存器,它的作用是控制所有中断源的开放或禁止,以及每个中断源是否被允许
发表于 2022-05-12
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 10 - 外部中断的使用
8051单片机实战分析(以STC89C52RC为例) | 11 - 定时器中断的使用
1 中断系统结构以下这张图是从中断引脚到中断入口所经过的通道:从图中不难看出T0与T1经过了TCON、IE、IP这些寄存器,因此我们在写程序时得把这些寄存器功能配置好,CPU才会按照我们的想法只执行!下面分别对这些寄存器进行介绍(稍微了解一下即可,忘记的时候再查)。1.1 TCON寄存器TCON(Timer Control Register),中文叫定时器/计数器控制寄存器,TCON寄存器是用于中断触发方式设置以及中断标志。各寄存器位的作用如下:1.2 IE寄存器IE(Interrupt Enable),中文叫中断允许寄存器,它的作用是控制所有中断源的开放或禁止,以及每个中断源是否被允许。各寄存器位的作用如下:1.3 IP寄存器IP
发表于 2022-05-12
<font color='red'>8051</font>单片机实战分析(以STC89C52RC为例) | 11 - 定时器中断的使用
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved