📄 51init.lst
字号:
C51 COMPILER V7.50 51INIT 09/13/2007 21:34:42 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 51INIT
OBJECT MODULE PLACED IN 51init.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 51init.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <regX51.h>
2 #include "intrins.h"
3
4 unsigned int Ri=0;//pwm脉冲宽度 |R_PWM
5 unsigned int Rj=0;//pwm低电平宽度, |R_PWM
6 unsigned int Ro=0;//pwm |R_PWM
7 unsigned int Rp=0;//pwm |R_PWM
8
9 unsigned int Gi=0;//pwm脉冲宽度 |G_PWM
10 unsigned int Gj=0;//pwm低电平宽度, |G_PWM
11 unsigned int Go=0;//pwm |G_PWM
12 unsigned int Gp=0;//pwm |G_PWM
13
14 unsigned int Bi=0;//pwm脉冲宽度 |B_PWM
15 unsigned int Bj=0;//pwm低电平宽度, |B_PWM
16 unsigned int Bo=0;//pwm |B_PWM
17 unsigned int Bp=0;//pwm |B_PWM
18
19 unsigned int r=0;//t1 led闪烁时间
20 unsigned char senddata=0x00;
21
22 unsigned char CLN=0;
23
24 sfr Wd=0xa6;//定义89s51看门狗寄存器
25
26
27 sbit R_led=0xa0;
28 sbit G_led=0xa1;
29 sbit B_led=0xa2;
30
31 bit R_led_zt=1;
32 bit G_led_zt=1;
33 bit B_led_zt=1;
34
35 /********************************************************************
36 定时计数器0
37 *********************************************************************/
38 void int_0()interrupt 1
39 {
40 1 TL0=0x66;//1ms
41 1 TH0=0xfc;
42 1 //RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
43 1 if(Ri>Ro)///////////////j是亮的时间,i-j是灭的时间/////
44 1 {
45 2 if(!R_led_zt)R_led=0; else R_led=1;
46 2 Ri=0;Rj=0;
47 2 }else Ri++;//
48 1
49 1 if(Rj>Rp){R_led=1;}
50 1 else Rj++;///////////////////////////////////////////////
51 1 //RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
52 1
53 1 //GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
54 1 if(Gi>Go)///////////////j是亮的时间,i-j是灭的时间/////
55 1 {
C51 COMPILER V7.50 51INIT 09/13/2007 21:34:42 PAGE 2
56 2 if(!G_led_zt)G_led=0; else G_led=1;
57 2 Gi=0;Gj=0;
58 2 }else Gi++;//
59 1
60 1 if(Gj>Gp){G_led=1;}
61 1 else Gj++;///////////////////////////////////////////////
62 1 //GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
63 1
64 1 //BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
65 1 if(Bi>Bo)///////////////j是亮的时间,i-j是灭的时间/////
66 1 {
67 2 if(!B_led_zt)B_led=0; else B_led=1;
68 2
69 2 Bi=0;Bj=0;
70 2 }else Bi++;//
71 1
72 1 if(Bj>Bp){B_led=1;}
73 1 else Bj++;///////////////////////////////////////////////
74 1 //BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
75 1
76 1 if(r>1000)////led闪光的时间
77 1 {
78 2 //ledsszt=!ledsszt;
79 2
80 2
81 2
82 2
83 2 if(CLN<6)CLN++; else CLN=0;
84 2
85 2
86 2 Ro=1;Rp=10;//RRRRRRRRRRRRRRRRRRRRRRR
87 2 Go=1;Gp=1;//RRRRRRRRRRRRRRRRRRRRRRR
88 2 Bo=1;Bp=1;//RRRRRRRRRRRRRRRRRRRRRRR
89 2
90 2 R_led_zt=0;
91 2 G_led_zt=0;
92 2 B_led_zt=0;
93 2
94 2 //P3_5=1;
95 2 //P3_6=1;
96 2 //P3_7=1;
97 2
98 2 r=0;//
99 2 }else r++;//
100 1
101 1
102 1 }
103
104 /********************************************************************
105 定时计数器1
106 *********************************************************************/
107 //void int_1()interrupt 3
108 //{
109 // TL1=0xb0;
110 // TH1=0x3c;
111 //}
112
113 /*----------------------------
114 串口中断
115 ------------------------------*/
116 void serial()interrupt 4 //串口中断子程序 接收到的数据存在datasbuf中
117 {
C51 COMPILER V7.50 51INIT 09/13/2007 21:34:42 PAGE 3
118 1 ES=0;
119 1 if(RI)
120 1 {
121 2 RI=0;
122 2 senddata=SBUF;
123 2
124 2
125 2 }
126 1
127 1 ES=1;
128 1 }
129 void mdelay(unsigned char delay)
130 {unsigned int i;
131 1 for(;delay>0;delay--)
132 1 {for(i=1;i<250;i++)
133 2 {;}
134 2 }
135 1 }
136
137 //void WatchDog()//打开,复位89s51看门狗
138 //{
139 //Wd=0x1e;
140 //Wd=0xe1;
141 //}
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 330 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -