单片机源程序如下:
- /*******************************************************************************
- * 文件名称:LED闪烁实验
- * 实验目的:1.掌握单片机IO口操作的基本方法
- * 2.掌握软件延时函数的设计方法
- * 程序说明:LED以0.2S为间隔亮灭
- * 硬件环境:IAP15F2K61S2单片机,单片机内部振荡器频率:11.0592M
- *******************************************************************************/
- #include "reg52.h" //定义51单片机特殊功能寄存器
- #include "intrins.h"
- //关闭外设
- void cls_buzz(void)
- {
- P2 = (P2&0x1F|0xA0);
- P0 = 0x00;
- P2 &= 0x1F;
- }
- //延时函数
- void delay() //@11.0592MHz
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 9;
- j = 104;
- k = 139;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- //主函数
- void main(void)
- {
- cls_buzz();
-
- while(1)
- {
- P2 = ((P2&0x1f)|0x80);
- P0 = 0xff; //LED熄灭
- P2 &= 0x1f;
- delay();
-
- P2 = ((P2&0x1f)|0x80);
- P0 = 0x00; //LED点亮
- P2 &= 0x1f;
- delay();
- }
- }
复制代码
所有资料51hei提供下载:
LED亮灭.docx
(12.81 KB, 下载次数: 11)
|