闪烁灯光实验
1. 软硬件条件
- 单片机型号:STC89C52RC
- 开发环境:Keil4
- 烧入软件:istc-sp
2. 原理图
由51单片机基础1——点亮LED实验可以知道(当然,由原理图也能看出来)只要给P3.7,P3.6低电平就可以使LED点亮。只要交替的给LED高低电平就能就可以使LED忽亮忽灭,同时需要避免人眼的视觉暂留,需要在亮灭交替的过程中给定一个延时500ms。
3. 延迟产生
延迟可以用软件延迟计时器产生
使用stc-isp 计算软件延迟,stc89c52使用STC-Y1指令集
4. 代码
#include "reg52.h"
sbit led_1 = P3^7;
// exercise ÉÁ˸Á½ÕµµÆ
sbit led_2 = P3^6;
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
// _nop_();
i = 4;
j = 129;
k = 119;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void init(){
led_1 = 1;
led_2 = 0;
Delay500ms();
}
void main(){
init();
while(1){
Delay500ms();
led_1 = !led_1;
led_2 = !led_2;
}
}
其中,在reg52.h 中定义了单片机的引脚