找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8628|回复: 0
收起左侧

51单片机基础操作 控制LED灯的亮灭控制以及位移控制程序

[复制链接]
ID:261221 发表于 2017-12-13 20:10 | 显示全部楼层 |阅读模式
单片机源程序如下:
  1. /*******************************************************************************  
  2. * 文件名称:LED闪烁实验
  3. * 实验目的:1.掌握单片机IO口操作的基本方法
  4. *           2.掌握软件延时函数的设计方法
  5. * 程序说明:LED以0.2S为间隔亮灭
  6. * 硬件环境:IAP15F2K61S2单片机,单片机内部振荡器频率:11.0592M
  7. *******************************************************************************/

  8. #include "reg52.h"  //定义51单片机特殊功能寄存器
  9. #include "intrins.h"

  10. //关闭外设
  11. void cls_buzz(void)
  12. {
  13.         P2 = (P2&0x1F|0xA0);
  14.         P0 = 0x00;
  15.         P2 &= 0x1F;
  16. }

  17. //延时函数
  18. void delay()                //@11.0592MHz
  19. {
  20.         unsigned char i, j, k;

  21.         _nop_();
  22.         _nop_();
  23.         i = 9;
  24.         j = 104;
  25.         k = 139;
  26.         do
  27.         {
  28.                 do
  29.                 {
  30.                         while (--k);
  31.                 } while (--j);
  32.         } while (--i);
  33. }

  34. //主函数
  35. void main(void)
  36. {
  37.         cls_buzz();
  38.        
  39.     while(1)
  40.     {
  41.         P2 = ((P2&0x1f)|0x80);
  42.                 P0 = 0xff;  //LED熄灭
  43.                 P2 &= 0x1f;
  44.         delay();
  45.         
  46.         P2 = ((P2&0x1f)|0x80);
  47.                 P0 = 0x00;  //LED点亮
  48.                 P2 &= 0x1f;
  49.         delay();
  50.     }
  51. }
复制代码

所有资料51hei提供下载:
LED亮灭.docx (12.81 KB, 下载次数: 11)


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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