找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1539|回复: 0
打印 上一主题 下一主题
收起左侧

使用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电路设计
2、程序设计

  1. #include<reg51.h>
  2. sbit LED = P0^0;                  //LED接P0.0
  3. void delay(unsigned int x)        //延时函数
  4. {
  5.     while(x--);
  6. }
  7. void main()                          //主函数
  8. {
  9.     while(1)
  10.     {
  11.         LED=0;                          //P0.0输出低电平,LED灭
  12.         delay(5000);                  //调用延时函数,延时一段时间
  13.         LED=1;                          //P0.0输出高电平,LED亮
  14.         delay(5000);                //调用延时函数,延时一段时间
  15.     }
  16. }  
复制代码

(1)单片机程序顺序执行程序,先执行主函数,在主函数内可以调用子函数,子函数不可以调用主函数。单片机程序从主函数入口依次执行每一条指令,执行完后回到主函数进行下次循环。
(2)延时函数,延时就是单片机执行了一个延时函数。单片机执行延时函数的每一条指令时都会浪费一些时间,浪费的时间就是调用延时函数所获得的时间,但是延时函数不能精确延时。
(3)利用位定义让LED等价于P0^0。LED等于0,先让P0^0为低电平关掉LED,延时一段时间再让P0^0为高电平开启LED,在延时一段时间,一直循环达到LED闪烁的目的

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表