单片机STC89C52学习——07 LED闪烁
汇总:00 单片机STC89C52学习
参考教程:普中科技
1 编程预备知识
-
typedef重定义
:为了避免定义时需要输入很长的类型名
typedef unsigned char u8;// Keil中占1个字节
typedef unsigned int u16;// Keil中占2个字节
- while循环
- 延时函数
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闪烁
如何查看仿真时间:
-
按照开发板的晶振频率,更改软件仿真晶振频率
-
左端双击设置几个断点 -> 仿真 -> 复位将sec清零 -> 继续运行 -> 看sec
(断点是还没有运行本行)