07 LED闪烁

单片机STC89C52学习——07 LED闪烁

汇总:00 单片机STC89C52学习
参考教程:普中科技

1 编程预备知识

  1. typedef重定义:为了避免定义时需要输入很长的类型名
typedef unsigned char u8;// Keil中占1个字节
typedef unsigned int u16;// Keil中占2个字节
  1. while循环
  2. 延时函数
void delay (u16 i)// i = 1时,约延时10μs,这种延时不精确。精确延时可使用单片机内部定时器
{
   while (i --);
}

2 程序:LED闪烁——1个LED闪烁

#include "reg52.h"
typedef unsigned char u8;// Keil中占1个字节
typedef unsigned int u16;// Keil中占2个字节

sbit led = P2^0;// D1。给单片机某个引脚取名:sbit 变量名 = 地址值

void delay (u16 i)
{
    while (i --);
}
void main()
{
    while (1)
    {
        led = 0;// 低电有效,D1亮
        delay (50000);// 约450ms
        led = 1;// D1灭
        delay (50000);
    }
}

效果:D1闪烁

如何查看仿真时间:

  1. 按照开发板的晶振频率,更改软件仿真晶振频率


  2. 左端双击设置几个断点 -> 仿真 -> 复位将sec清零 -> 继续运行 -> 看sec
    (断点是还没有运行本行)


    仿真,按一下开始,再按一下结束

    复位
    运行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容