📄 dac.lst
字号:
C51 COMPILER V7.06 DAC 07/01/2005 16:20:11 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DAC
OBJECT MODULE PLACED IN dac.OBJ
COMPILER INVOKED BY: c:\KEIL\C51\BIN\C51.exe dac.c DB OE
stmt level source
1 #include "c8051f020.h"
2 #include <intrins.h>
3
4
5 sfr16 DAC0 = 0xd2; // DAC0 data
6 extern unsigned int SaveMotorCount;
7 extern unsigned int SetSpeed;
8 extern unsigned char KeyValue;
9
10 #define NOSELECT7279 P5 |= 0x80 //SPICS4(P57)=1
11 #define SELECT7279 P5 &= ~(0x80) //SPICS4(P57)=0;
12
13 void Delay1ms(unsigned char T);
14 void DispLED(char *DispBuf,char ShowDot); //ShowDot 显示小数点位
15 void FlashLED(unsigned char No); //关闪烁
16 void Send7279Byte(unsigned char ch);
17 char GetKeyValue(void);
18 void WaitKeyOff(void);
19 extern unsigned int iDAC0;
20
21
22 void TestMotor(bit LoopFlag)
23 {
24 1 char KeyValue ;
25 1 char buf[6];
26 1 int SD1;
27 1 SetSpeed=2000/20; // 设定稳定转速
28 1 DAC0=iDAC0;
29 1 Delay1ms(25); //等待25ms复位时间
30 1 Send7279Byte(0xA4); //发复位指令
31 1 NOSELECT7279; //置CS高电平
32 1 if (LoopFlag==0) return;
33 1
34 1 while(1)
35 1 {
36 2 FlashLED(8); //关闪烁
37 2 for (;;)
38 2 {
39 3 KeyValue=GetKeyValue();
40 3 if(KeyValue!=-1)
41 3 {
42 4 NOSELECT7279;
43 4 WaitKeyOff();
44 4 if(KeyValue==0)
45 4 { // 设定键'0'按下显示设定转速状态
46 5 buf[0]='E';
47 5 buf[1]=' ';
48 5 buf[2]=' ';
49 5 buf[3]=' ';
50 5 buf[4]=' ';
51 5 buf[5]=' ';
52 5 DispLED(buf,0);
53 5 break;
54 5 }
55 4 }
C51 COMPILER V7.06 DAC 07/01/2005 16:20:11 PAGE 2
56 3 buf[0]='F'; // 无键按下显示转速
57 3 buf[1]=' ';
58 3 buf[2]=(SaveMotorCount%10000)/1000; //取千位
59 3 buf[3]=(SaveMotorCount%1000)/100; //取百位
60 3 buf[4]=(SaveMotorCount%100)/10; //取十位
61 3 buf[5]=(SaveMotorCount%10); //取个位
62 3 DispLED(buf,0);
63 3 }
64 2 for (;;) // 设定千位
65 2 {
66 3 KeyValue=GetKeyValue();
67 3 if(KeyValue!=-1)
68 3 {
69 4 NOSELECT7279;
70 4 WaitKeyOff();
71 4 if(KeyValue%16<=9)
72 4 {
73 5 buf[2]=KeyValue%16;
74 5 DispLED(buf,0);
75 5 break;
76 5 }
77 4 }
78 3 }
79 2 for (;;) // 设定百位
80 2 {
81 3 KeyValue=GetKeyValue();
82 3 if(KeyValue!=-1)
83 3 {
84 4 NOSELECT7279;
85 4 WaitKeyOff();
86 4 if(KeyValue%16<=9)
87 4 {
88 5 buf[3]=KeyValue%16;
89 5 DispLED(buf,0);
90 5 break;
91 5 }
92 4 }
93 3 }
94 2 for (;;) // 设定十位
95 2 {
96 3 KeyValue=GetKeyValue();
97 3 if(KeyValue!=-1)
98 3 {
99 4 NOSELECT7279;
100 4 WaitKeyOff();
101 4 if(KeyValue%16<=9)
102 4 {
103 5 buf[4]=KeyValue%16;
104 5 DispLED(buf,0);
105 5 break;
106 5 }
107 4 }
108 3 }
109 2 for (;;) // 设定个位
110 2 {
111 3 KeyValue=GetKeyValue();
112 3 if(KeyValue!=-1)
113 3 {
114 4 NOSELECT7279;
115 4 WaitKeyOff();
116 4 if(KeyValue%16<=9)
117 4 {
C51 COMPILER V7.06 DAC 07/01/2005 16:20:11 PAGE 3
118 5 buf[5]=KeyValue%16;
119 5 DispLED(buf,0);
120 5 break;
121 5 }
122 4 }
123 3 }
124 2 for (;;) // 按F键确认
125 2 {
126 3 KeyValue=GetKeyValue();
127 3 if(KeyValue!=-1)
128 3 {
129 4 NOSELECT7279;
130 4 WaitKeyOff();
131 4 if(KeyValue==0x0f)
132 4 {
133 5 SD1 = buf[2]*1000+buf[3]*100+buf[4]*10+buf[5];
134 5 if ((SD1<=2700)&&(SD1>=600))// 运转速度在1200至2700转之间较适合
135 5 SetSpeed = SD1/20; // 更新运转速度
136 5 break;
137 5 }
138 4 }
139 3 }
140 2 }
141 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 529 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
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 + -