单片机源程序如下:
- /*******************************************************************************
- * 实 验 名 : LED流水灯实验
- * 实验说明 : 软件延时实现LED流水灯效果
- * 连接方式 : 见仿真图
- * 注 意 :
- *******************************************************************************/
- ORG 0000H ;程序从000H地址开始运行
- AJMP MAIN ;跳转到 MAIN程序
- ORG 030H ;MAIN程序从030H开始运行
- MAIN:
- MOV P1,#0FEH
- ACALL DEL ;调用延时子程序
- MOV P1,#0FCH
- ACALL DEL ;调用延时子程序
- MOV P1,#0F8H
- ACALL DEL
- MOV P1,#0F0H
- ACALL DEL
- MOV P1,#0E0H
- ACALL DEL
- MOV P1,#0C0H
- ACALL DEL
- MOV P1,#080H
- ACALL DEL
- MOV P1,#000H
- ACALL DEL
- MOV P1,#0FFH
- AJMP MAIN ;跳转到MAIN程序
- ; 延时子程序
- DEL: MOV R5,#02H
- DEL1: MOV R6,#0F0H
- DEL2: MOV R7,#0F0H
- DEL3: DJNZ R7, DEL3
- DJNZ R6, DEL2
- DJNZ R5, DEL1
- RET
- END
复制代码
- /*******************************************************************************
- * 实 验 名 : 流水灯实验
- * 实验说明 : 软件延时实现LED流水灯效果
- * 连接方式 : 见仿真图
- * 注 意 :
- *******************************************************************************/
- //--包含你要使用的头文件
- #include <reg52.h> //此文件中定义了51的一些特殊功能寄存器
- #include <intrins.h>
- //--声明全局函数--//
- void Delay10ms(unsigned int c); //延时10ms
- /*******************************************************************************
- * 函 数 名 : main
- * 函数功能 : 主函数
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- main()
- {
- unsigned char LED;
- LED = 0xfe; //0xfe = 1111 1110
- while (1)
- {
- P1 = LED;
- Delay10ms(25); //延时250ms
- LED = LED << 1; //循环左移1位,点亮下一个LED ,"<<"为左移
- if (P1 == 0x00) //当它全亮的时候,重新赋值
- {
- LED = 0xfe; // 0xfe = 1111 1110
- }
-
- }
- }
- /*******************************************************************************
- * 函 数 名 : Delay10ms
- * 函数功能 : 延时函数,延时10ms
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void Delay10ms(unsigned int c) //误差 0us
- {
- unsigned char a, b;
- //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
- for (;c>0;c--)
- {
- for (b=38;b>0;b--)
- {
- for (a=130;a>0;a--);
- }
-
- }
- }
复制代码
所有资料51hei提供下载:
LED流水灯.rar
(80.38 KB, 下载次数: 89)
|