标题: 在点亮一颗LED灯的基础上让LED灯闪烁 源程序 [打印本页]

作者: qiushuliang    时间: 2022-6-1 14:47
标题: 在点亮一颗LED灯的基础上让LED灯闪烁 源程序
单片机源程序如下:
  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. }
复制代码










欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1