📄 pp.lst
字号:
C51 COMPILER V7.01 PP 06/30/2007 11:42:52 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE PP
OBJECT MODULE PLACED IN PP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PP.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "PP.h"
2 #include "System.h"
3 #include "LCD.h"
4 #include "menu.h"
5
6 bit disflag=0;
7 unsigned char ADDAParaList[]={0,1,12,20,30,40,16,0};
8 unsigned char PPSendBuf[256];
9 unsigned char PPReceBuf[257];
10 unsigned char data PSendCnt;
11 unsigned char data PReceCnt;
12 unsigned int data RecvTotal;
13
14 unsigned char code SinTable[]={ //一周期256点sin值表(幅度:0~255)
15 128, 131, 134, 137, 140, 143, 146, 149, 152, 156,
16 159, 162, 165, 168, 171, 174, 176, 179, 182, 185,
17 188, 191, 193, 196, 199, 201, 204, 206, 209, 211,
18 213, 216, 218, 220, 222, 224, 226, 228, 230, 232,
19 234, 236, 237, 239, 240, 242, 243, 245, 246, 247,
20 248, 249, 250, 251, 252, 252, 253, 254, 254, 255,
21 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
22 254, 254, 253, 252, 252, 251, 250, 249, 248, 247,
23 246, 245, 243, 242, 240, 239, 237, 236, 234, 232,
24 230, 228, 226, 224, 222, 220, 218, 216, 213, 211,
25 209, 206, 204, 201, 199, 196, 193, 191, 188, 185,
26 182, 179, 176, 174, 171, 168, 165, 162, 159, 156,
27 152, 149, 146, 143, 140, 137, 134, 131, 128, 124,
28 121, 118, 115, 112, 109, 106, 103, 99, 96, 93,
29 90, 87, 84, 81, 79, 76, 73, 70, 67, 64,
30 62, 59, 56, 54, 51, 49, 46, 44, 42, 39,
31 37, 35, 33, 31, 29, 27, 25, 23, 21, 19,
32 18, 16, 15, 13, 12, 10, 9, 8, 7, 6,
33 5, 4, 3, 3, 2, 1, 1, 0, 0, 0,
34 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
35 2, 3, 3, 4, 5, 6, 7, 8, 9, 10,
36 12, 13, 15, 16, 18, 19, 21, 23, 25, 27,
37 29, 31, 33, 35, 37, 39, 42, 44, 46, 49,
38 51, 54, 56, 59, 62, 64, 67, 70, 73, 76,
39 79, 81, 84, 87, 90, 93, 96, 99, 103, 106,
40 109, 112, 115, 118, 121, 124,};
41
42 ///////////////////////////////////////////////////////////
43 //并口传输试验设置界面
44 void PPSetUp()
45 {
46 1 bit PaintFlag=1; //绘制曲线标志位
47 1 bit MovHand=1; //绘制光标标志位
48 1 char data ItemSel=1; //光标所在行
49 1 Clear(0,240);
50 1 dprintf(10,0,"并口传输实验设置");
51 1 dprintf(2,16*1,"选择波形:");
52 1 if(ADDAParaList[0])
53 1 dprintf(2,16*2,"妚正弦波 盅梯形波");
54 1 else
55 1 dprintf(2,16*2,"盅正弦波 妚梯形波");
C51 COMPILER V7.01 PP 06/30/2007 11:42:52 PAGE 2
56 1 dprintf(2,16*3,"波形示例:");
57 1 dprintf(0,16*12,line);
58 1 dprintf(0,16*13,"选择项目 改变参数");
59 1 dprintf(1,16*14, "芗 兦 戛 戋");
60 1 dprintf(35,16*14, "确定");
61 1
62 1 while(1)
63 1 {
64 2 if(CheckKeyF==1) //键盘检测
65 2 {
66 3 CheckKey();
67 3 CheckKeyF=0;
68 3 }
69 2
70 2 if(MovHand)
71 2 {
72 3 int i;
73 3 for(i=0;i<12;i++)
74 3 {
75 4 if(ItemSel==i)
76 4 dprintf(0,i*16,"贲");
77 4 else
78 4 dprintf(0,i*16," ");
79 4 }
80 3 MovHand=0;
81 3 }
82 2
83 2 if(PaintFlag)
84 2 {
85 3 int data i;
86 3 PaintFlag=0;
87 3 Clear(16*4,16*9);
88 3 //横轴
89 3 drawline(32,16*9-8,288,16*9-8);
90 3 //纵轴
91 3 drawline(32,16*9-9,32,16*4+4);
92 3 if(ADDAParaList[0]==0) //正弦波
93 3 {
94 4 for(i=0;i<256;i++)
95 4 PPSendBuf[i]=SinTable[i];
96 4 }
97 3 else //梯形波
98 3 {
99 4 i=0;
100 4 for(;i<ADDAParaList[3]*2.56;i++) //上升沿
101 4 PPSendBuf[i]=(unsigned char)(0xFF*i/(ADDAParaList[3]*2.56));
102 4 for(;i<(ADDAParaList[3]+ADDAParaList[4])*2.56;i++) //高电平
103 4 PPSendBuf[i]=0xFF;
104 4 for(;i<(ADDAParaList[3]+ADDAParaList[4]+ADDAParaList[5])*2.56;i++) //下降沿
105 4 PPSendBuf[i]=0xFF-(unsigned char)(0xFF*(i-(ADDAParaList[3]+ADDAParaList[4])*2.56)/(ADDAParaList[5]*2.5
-6));
106 4 for(;i<256;i++) //低电平
107 4 PPSendBuf[i]=0;
108 4 }
109 3 for(i=0;i<255;i++)
110 3 Point(i+32,16*9-8-PPSendBuf[i]/4);
111 3 }
112 2
113 2 if(Key[0].pressed==1) //检测到上键
114 2 {
115 3 Key[0].pressed=0;
116 3 switch(ItemSel)
C51 COMPILER V7.01 PP 06/30/2007 11:42:52 PAGE 3
117 3 {
118 4 case 1:
119 4 break;
120 4 case 9:
121 4 ItemSel=1;
122 4 break;
123 4 default:
124 4 ItemSel--;
125 4 break;
126 4 }
127 3 MovHand=1;
128 3 }
129 2
130 2 if(Key[1].pressed==1) //检测到下键
131 2 {
132 3 Key[1].pressed=0;
133 3 switch(ItemSel)
134 3 {
135 4 case 1:
136 4 if(ADDAParaList[0]==1) ItemSel=9;
137 4 break;
138 4 case 11:
139 4 break;
140 4 default:
141 4 ItemSel++;
142 4 break;
143 4 }
144 3 MovHand=1;
145 3 }
146 2
147 2 if(Key[2].pressed==1) //检测到-键
148 2 {
149 3 Key[2].pressed=0;
150 3 switch(ItemSel)
151 3 {
152 4 case 1:
153 4 if(ADDAParaList[0]==1)
154 4 {
155 5 ADDAParaList[0]=0;
156 5 dprintf(2,16*2,"盅");
157 5 dprintf(12,16*2,"妚");
158 5 PaintFlag=1;
159 5 Clear(16*9,16*12);
160 5 }
161 4 break;
162 4 case 9:
163 4 if(ADDAParaList[3]>0)
164 4 {
165 5 ADDAParaList[3]-=10;
166 5 putufig(9,16*9, ADDAParaList[3],3,0,' ');
167 5 PaintFlag=1;
168 5 }
169 4 break;
170 4 case 10:
171 4 if(ADDAParaList[4]>0)
172 4 {
173 5 ADDAParaList[4]-=10;
174 5 putufig(9,16*10, ADDAParaList[4],3,0,' ');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -