标题:
使用Proteus学习单片机系列教程-点亮LED
[打印本页]
作者:
11166
时间:
2021-1-22 22:27
标题:
使用Proteus学习单片机系列教程-点亮LED
获取本项目代码以及仿真文件
https://github.com/Lighter-z/51-Single-chip
基于Proteus学习单片机系列(一)——点亮LED
基于Proteus学习单片机系列(二)——驱动数码管
基于Proteus学习单片机系列(三)——按键
基于Proteus学习单片机系列(四)——中断
基于Proteus学习单片机系列(五)——定时器实现电子表
基于Proteus学习单片机系列(六)——I2C总线AT24C04
基于Proteus学习单片机系列(七)——实时时钟DS1302
基于Proteus学习单片机系列(八)——AD转换及其应用--TLC549
基于Proteus学习单片机系列(九)——DA转换及其应用--TLC5615
基于Proteus学习单片机系列(十)——LCD1602
基于Proteus学习单片机系列(十一)——LCD12864
1、LED电路设计
0000.png
(16.84 KB, 下载次数: 51)
下载附件
2021-1-22 22:28 上传
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闪烁的目的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1