📄 lsd.lst
字号:
C51 COMPILER V8.02 LSD 04/01/2009 20:23:17 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LSD
OBJECT MODULE PLACED IN lsd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lsd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************************
-*********/
2 /*罗列快乐*/
3 /*网站地址:http://2099.5d6d.com*/
4 /*模块名:流水灯模块 流水灯型号:红光LED*/
5 /*创建人:张东 日期:2009-3-23*/
6 /*修改人:张东 日期:2009-4-1*/
7 /*功能描述:1.P1口所有LED间隔1000ms闪烁
8 2.P1口所有LED呈交替流水状
9 3.P1口流水灯-左移,循环3次
10 4.P1口流水灯-右移,循环3次
11 5.P1口由两边向中间流水,循环3次
12 6.P1口由中间向两边流水,循环3次*/
13 /*其他说明:*/
14 /*版本:*/
15 #include"reg51.h" //包含头文件
16 #include <intrins.h> //包含有左右循环移位子函数的库
17 #define uchar unsigned char
18 #define uint unsigned int
19 void delay(uint);
20 void main()
21 {
22 1 while(1)
23 1 {
24 2 uchar i,j,k;
25 2 for(i=3;i>0;i--)
26 2 {
27 3 P1=0x00; //点亮P1口所有LED,延时1000ms
28 3 delay(1000);
29 3 P1=0xff; //熄灭P1口所有LED,延时1000ms
30 3 delay(1000);
31 3 }
32 2 for(i=3;i>0;i--) //奇偶交替成流水灯状态
33 2 {
34 3 P1=0x55;
35 3 delay(1000);
36 3 P1=0xaa;
37 3 delay(1000);
38 3 }
39 2 P1=0xff;
40 2 delay(300);
41 2 for(i=3;i>0;i--) //P1口单灯左移流水,循环3次
42 2 {
43 3 k=0xfe;
44 3 for(j=0;j<8;j++)
45 3 {
46 4 P1=k;
47 4 delay(200);
48 4 k=_crol_(k,1);
49 4 }
50 3 }
51 2 P1=0xff;
52 2 delay(300);
53 2 for(i=3;i>0;i--) //P1口单灯右移流水,循环3次
54 2 {
C51 COMPILER V8.02 LSD 04/01/2009 20:23:17 PAGE 2
55 3 k=0xfe;
56 3 for(j=0;j<8;j++)
57 3 {
58 4 P1=k;
59 4 delay(300);
60 4 k=_cror_(k,1);
61 4 }
62 3 }
63 2 P1=0xff;
64 2 delay(300);
65 2 for(j=0;j<3;j++) //P1口由两边向中间流水,循环3次
66 2 {
67 3 P1=0x7e;
68 3 delay(300);
69 3 P1=0xbd;
70 3 delay(300);
71 3 P1=0xdb;
72 3 delay(300);
73 3 P1=0xe7;
74 3 delay(300);
75 3 }
76 2 P1=0xff;
77 2 delay(300);
78 2 for(j=0;j<3;j++) //P1口由中间向两边流水,循环3次
79 2 {
80 3 P1=0xe7;
81 3 delay(300);
82 3 P1=0xdb;
83 3 delay(300);
84 3 P1=0xbd;
85 3 delay(300);
86 3 P1=0x7e;
87 3 delay(300);
88 3 }
89 2 P1=0xff;
90 2 delay(300);
91 2 k=0xfe; //赋初值
92 2 for(j=0;j<8;j++)
93 2 {
94 3 for(i=0;i<8-j;i++) //左移
95 3 {
96 4 P1=k; //点亮小灯
97 4 delay(200); //延时200毫秒
98 4 k=_crol_(k,1); //将a变量循环左移一位
99 4 }
100 3 k=_crol_(k,j); //补齐,方便下面的左移一位
101 3 P1=0xff; //全部关闭
102 3 k=k<<1; //左移一位让多一个灯点亮
103 3 }
104 2 }
105 1 }
106
107 void delay(uint xms) //延时函数
108 {
109 1 uint i,j;
110 1 for(i=xms;i>0;i--) //外层for中变量为多少,就延时约多少ms
111 1 for(j=110;j>0;j--); //当内层for语句中变量恒定值为110时
112 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 368 ----
C51 COMPILER V8.02 LSD 04/01/2009 20:23:17 PAGE 3
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -