学习本文之前,首先得会使用Protues,keil,STC-isp- 等软件。
本文程序以及仿真下载
1. Protuess 设计电路
2.程序设计
#include<reg51.h> sbit LED = P0^0; //LED接P0.0 void delay(unsigned int x) //延时函数 { while(x--); } void main() //主函数 { while(1) { LED=0; //P0.0输出低电平,LED灭 delay(5000); //调用延时函数,延时一段时间 LED=1; //P0.0输出高电平,LED亮 delay(5000); //调用延时函数,延时一段时间 } }
(1)单片机程序顺序执行程序,先执行主函数,在主函数内可以调用子函数,子函数不可以调用主函数。单片机程序从主函数入口依次执行每一条指令,执行完后回到主函数进行下次循环。
(2)延时函数
延时就是单片机执行了一个延时函数。单片机执行延时函数的每一条指令时都会浪费一些时间,浪费的时间就是调用延时函数所获得的时间,但是延时函数不能精确延时。
(3)利用位定义让LED等价于P0^0。LED等于0,先让P0^0为低电平关掉LED,延时一段时间再让P0^0为高电平开启LED,在延时一段时间,一直循环达到LED闪烁的目的