找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在点亮一颗LED灯的基础上让LED灯闪烁 源程序

[复制链接]
跳转到指定楼层
楼主
ID:647532 发表于 2022-6-1 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. /**************************************************************************************
  2. *                              LED灯闪烁实验                                                                                          *
  3. 实现现象:下载程序后D1指示灯点会间隔500MS闪烁一次
  4. 注意事项:无                                                                                                                                                                  
  5. ***************************************************************************************/
  6. //          思路是让LED点亮一段时间,然后让LED熄灭一段时间,点亮的程序是让led=0;熄灭就是让led=1;
  7. //   再加上一个延时函数delay()即可实现LED灯闪烁

  8. #include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器
  9. typedef unsigned int u16;  //类型重定义
  10. void LedOn (void);          //LedOn()函数声明           开灯
  11. void LedOff (void);         // 关灯
  12. void Delay(u16 i);          //可以向函数内传递一个无符号整型的参数  (0-65535)
  13. sbit led=P2^0;           //将单片机的P2.0端口定义为led

  14. /*******************************************************************************
  15. * 函 数 名       : main
  16. * 函数功能                 : 主函数
  17. * 输    入       : 无

  18. * 输    出             : 无
  19. *******************************************************************************/
  20. void main(void)                        //程序从main函数开始执行                                       
  21. {
  22.         while(1)                        //1表示条件表达式值为真,程序一直循环
  23.         {        
  24.                  LedOn();  //函数调用
  25.                 Delay(50000);
  26.                 LedOff();
  27.                 Delay(50000);
  28.         }
  29. }

  30. /*******************************************************************************
  31. * 函 数 名       : LedOn
  32. * 函数功能                 : 点亮一颗LED灯
  33. * 输    入       : 无

  34. * 输    出             : 无
  35. *******************************************************************************/
  36. void LedOn(void)
  37. {
  38.   led=0;                                 led=0;        //P2.0端口设置为低电平

  39. }

  40.   /*******************************************************************************
  41. * 函 数 名       : LedOff
  42. * 函数功能                 : 让LED灯熄灭
  43. * 输    入       : 无

  44. * 输    出             : 无
  45. *******************************************************************************/
  46. void LedOff(void)
  47. {
  48.   led=1;                                 led=1;        //P2.0端口设置为高电平

  49. }

  50.   /*******************************************************************************
  51. * 函 数 名       : Delay
  52. * 函数功能                 : 延时一段时间,i=1时大约延时10us,程序使用12MHZ晶振调试的延时时间
  53. * 输    入       : 0-65535

  54. * 输    出             : 无
  55. *******************************************************************************/
  56. void Delay(u16 i)
  57. {
  58.   while(i--);                                 
  59. }
复制代码





评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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