📄 2he1.lst
字号:
C51 COMPILER V8.08 2HE1 05/07/2008 17:04:42 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE 2HE1
OBJECT MODULE PLACED IN 2he1.OBJ
COMPILER INVOKED BY: D:\Keilc51V808a\C51\BIN\C51.EXE 2he1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<intrins.h>
3
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 sbit LEDdata=P1^0;
8 sbit LEDclk=P1^1;
9 sbit LEDmr=P1^2;
10
11 /*延时*/
12 void delay(uint time){
13 1 uchar k;
14 1 while(time--){
15 2 for(k=0;k<125;k++);
16 2 }
17 1
18 1 }
19 /*传送LED数据*/
20 void display(uchar num){
21 1
22 1
23 1 if (num&0x80) {
24 2 LEDdata=1;
25 2 }
26 1 else{
27 2 LEDdata=0;
28 2 }
29 1 num=_crol_(num,1);//左移一位
30 1
31 1 LEDclk=0;//写入数据
32 1 _nop_();
33 1 _nop_();
34 1 LEDclk=1;
35 1
36 1
37 1 }
38
39 void delay_ms(unsigned short ms)
40 {
41 1 unsigned short i;
42 1 unsigned char j;
43 1 for(i=0;i<ms;i++)
44 1 {
45 2 for(j=0;j<200;j++);
46 2 for(j=0;j<102;j++);
47 2 }
48 1 }
49 void display_two(){
50 1 unsigned char led_contrl; //指示灯控制字节
51 1 unsigned char i ; //循环变量
52 1 unsigned char contrl1,contrl2; //指示灯移位变量
53 1 //模式一:按次序闪烁灯
54 1
55 1 P0 = 0xff; //熄灭所有指示灯
C51 COMPILER V8.08 2HE1 05/07/2008 17:04:42 PAGE 2
56 1 led_contrl=0x01; //初始化指示灯控制字节
57 1 delay_ms(300); //延时300MS
58 1 for(i=0;i<8;i++)
59 1 {
60 2 P0=~led_contrl; //点亮控制字节相应指示灯
61 2 delay_ms(250);
62 2 if(led_contrl<0x80){led_contrl<<=1; } //控制字节移位操作
63 2 else {led_contrl=0x01; }
64 2 }
65 1
66 1 //模式二:依次点亮所有指示灯
67 1
68 1 P0=0xff;
69 1
70 1 //熄灭所有指示灯
71 1 led_contrl=0xff; //初始化指示灯控制字节
72 1 contrl1=0xfe; //初始化移位变量1
73 1 delay_ms(300);
74 1 for(i=0;i<8;i++)
75 1 {
76 2 P0=led_contrl&contrl1; //点亮控制字节相应的指示灯
77 2 delay_ms(250);
78 2 contrl1<<=1; //移位变量左移1位
79 2 }
80 1
81 1 //模式三:交叉闪烁指示灯
82 1 P0=0xff; //熄灭所有指示灯
83 1 contrl1=0x02; //初始化移位变量1
84 1 contrl2=0x80; //初始化移位变量2
85 1 delay_ms(300);
86 1 for(i=0;i<8;i++)
87 1 {
88 2
89 2 led_contrl=contrl1|contrl2;
90 2 P0=~led_contrl; //点亮控制字节相应指示灯
91 2 delay_ms(250);
92 2 contrl1<<=1; //移位变量1左移1位
93 2 contrl2>>=1; //移位变量2右移1位
94 2 }
95 1
96 1 }
97 void main(){
98 1 uchar n,temp;
99 1 P1=0xff;
100 1 LEDclk=0;
101 1 LEDmr=0;
102 1 delay(1);
103 1 LEDmr=1;
104 1
105 1 while(1) {
106 2 temp=0xfe; //显示的初值
107 2 for (n=23;n>0;n--){
108 3 display(temp);//写入数据,并显示
109 3 delay(200);
110 3 temp=_crol_(temp,1);
111 3 temp=temp|0x01;
112 3 }
113 2 display(0xff); //关闭显示
114 2 delay(400);
115 2 display_two();
116 2 }
117 1 }
C51 COMPILER V8.08 2HE1 05/07/2008 17:04:42 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 267 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -