?? 測速.lst
字號:
C51 COMPILER V7.06 測速 04/27/2007 16:21:15 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 測速
OBJECT MODULE PLACED IN 測速.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 測速.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <at89x52.h>
2 #include <math.h>
3 #include "TLC5615.H"
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 uchar SetPoint = 90;
9 float Kp=0.02;
10 int Error=0;
11 float DACTemp;
12 uint DAC=0;
13 uint RIn=0;
14
15 uchar n=0,flag=0,High=0,Low=0;
16
17 uchar code tv[ ] = {0x7f, 0xbf, 0xdf, 0xef}; //數碼管片選
18 uchar code a[ ] = {0x3f, 0x06, 0x5b, 0x4f, //數碼管斷選
19 0x66, 0x6d, 0x7d, 0x07,
20 0x7f, 0x6f, 0x00, 0x7c};
21
22 uchar data led[4];
23 unsigned int data i=0; //定義一個全局I型變量
24
25 void ledxianshi(uint tvdata) //顯示函數,也就是數碼管驅動
26 {
27 1 static unsigned char sts = 0;
28 1
29 1 if( flag ){ sts=1; flag=0; }
30 1 switch( sts )
31 1 {
32 2 case 0 : sts=1; break;
33 2 case 1 :
34 2 for( i=0; i<4; i++ )
35 2 {
36 3 led[ i ] = tvdata % 10;
37 3 tvdata /= 10;
38 3 }
39 2 sts = 2;
40 2 break;
41 2 case 2 : P0=a[ led[0] ]; P2=tv[0]; sts=3; break;
42 2 case 3 : P0=a[ led[1] ]; P2=tv[1]; sts=4; break;
43 2 case 4 : P0=a[ led[2] ]; P2=tv[2]; sts=5; break;
44 2 case 5 : P0=a[ led[3] ]; P2=tv[3]; sts=2; break;
45 2 default : sts = 0;
46 2 }
47 1 }
48
49 void int0(void) interrupt 0
50 {
51 1 n++;
52 1 if(n==4)
53 1 {
54 2 TR2=0;
55 2 TF2=0;
C51 COMPILER V7.06 測速 04/27/2007 16:21:15 PAGE 2
56 2 High=TH2;
57 2 Low=TL2;
58 2 TH2=0;
59 2 TL2=0;
60 2 TR2=1;
61 2 n=0;
62 2 flag=1;
63 2 }
64 1 else
65 1 flag=0;
66 1 }
67
68
69 void Timer2Int( void ) interrupt 5
70 {
71 1 TF2 = 0;
72 1 }
73
74 void initail(void)
75 {
76 1 IT0=1;
77 1 EX0=1;
78 1
79 1 C_T2=0;
80 1 TF2=0;
81 1 TH2 = 0;
82 1 TL2 = 0;
83 1 ET2 = 1;
84 1 TR2=1;
85 1 EA=1;
86 1 }
87
88 void main(void)
89 {
90 1 unsigned long temp=0;
91 1
92 1 initail();
93 1 while(1)
94 1 {
95 2 temp=High*256+Low;
96 2 RIn=1000000/temp;
97 2 ledxianshi(RIn);
98 2
99 2 Error = SetPoint - RIn;
100 2 DACTemp = Error*Kp + DACTemp;
101 2 DAC=DACTemp;
102 2 Dac( DAC );
103 2 }
104 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 361 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 4
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 + -