📄 1011.lst
字号:
C51 COMPILER V8.05a 1011 11/11/2008 11:15:59 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 1011
OBJECT MODULE PLACED IN 1011.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1011.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <math.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define ON 0
6 #define OFF 1
7 sbit PWM=P3^5;
8 sbit MP=P3^4;
9 bit FLAG=0;
10 uchar code dispbit[6]={0x20,0x10,0x08,0x04,0x02,0x01};
11
12 uchar code seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
13 //0,1,2,3,4,5,6,7,8,9
14 uchar disbuf[6]={0,0,0,0,10,10};
15 uint temp[6];
16 uint discount=0;
17 uint timecount=0;//定时的次数
18 uint T0count=0;
19 uint hus=0;
20 uint k=60;
21 uint Vc;
22 uint Vs;
23 uint tm=3000;
24 uint x;
25 void t0_serv() interrupt 1
26 { T0count++;
27 1 }
28 void t1_serv() interrupt 3
29 {
30 1 PWM=1;
31 1 TH1=(65536-tm)/256;
32 1 TL1=(65536-tm)%256;
33 1 hus++;
34 1 if(hus==tm)
35 1 { PWM=0;
36 2 TH1=(25536+tm)/256;
37 2 TL1=(25536+tm)%256;
38 2
39 2 }
40 1 timecount++;
41 1 if(timecount==250)
42 1 {
43 2 //FLAG=1;
44 2 TR0=0;
45 2 hus=0;
46 2 timecount=0;
47 2 Vc=T0count*65536+TH0*256+TL0;
48 2 Vs=144;
49 2 if(abs(Vc-Vs)>5)
50 2 { tm=abs(k*(Vc-Vs));
51 3 T0count=0;
52 3 TR0=1;
53 3 TR1=1;
54 3 ET0=1;
55 3 ET1=1;
C51 COMPILER V8.05a 1011 11/11/2008 11:15:59 PAGE 2
56 3 EA=1;
57 3 }
58 2 FLAG=1;
59 2 TR0=0;
60 2 timecount=0;
61 2 }
62 1 P0=dispbit[discount];
63 1 P1=seg[disbuf[discount]];
64 1 discount++;
65 1 if(discount==6)
66 1 { discount=0;
67 2 }
68 1 }
69 void main()
70 { uint i;
71 1 TMOD=0x15;
72 1 TH0=0;
73 1 TL0=0;
74 1 TH1=(65536-tm)/256;
75 1 TL1=(65536-tm)%256;
76 1 TR0=1;
77 1 TR1=1;
78 1 ET0=1;
79 1 ET1=1;
80 1 EA=1;
81 1 while(1)
82 1 { if(FLAG==1)
83 2 { FLAG=0;
84 3 x=T0count*65536+TH0*256+TL0;
85 3 for(i=0;i<6;i++)
86 3 {temp[i]=0;
87 4 }
88 3 i=0;
89 3 while(x/10)
90 3 {
91 4 temp[i]=x%10;
92 4 x=x/10;
93 4 i++;
94 4 }
95 3 temp[i]=x;
96 3 for(i=0;i<6;i++)
97 3 {
98 4 disbuf[i]=temp[i];
99 4 }
100 3
101 3 timecount=0;
102 3 T0count=0;
103 3 TH0=0;
104 3 TL0=0;
105 3 T0count=0;
106 3 TR0=1;
107 3
108 3 }
109 2 }
110 1
111 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 632 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
C51 COMPILER V8.05a 1011 11/11/2008 11:15:59 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = 36 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -