📄 0806c.lst
字号:
C51 COMPILER V8.08 0806C 03/05/2009 10:59:43 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE 0806C
OBJECT MODULE PLACED IN 0806c.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 0806c.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2
3
4 #include <reg51.h> //外接芯片来实现外围电机的选择
5 #include <stdio.h>
6 #define DAC0832Addr0 0X7FFF //0832地址1
7 #define uchar unsigned char //单个字节无符号数
8 #define uint unsigned int // 输出口初始化
9 sbit p10=P1^0 ;
10 sbit p12=P1^2 ;
11 sbit p14=P1^4;
12 sbit p16=P1^6 ;
13 bit flag;
14 uchar keynumber;
15 uchar i,j;
16 void Delay ();
17 void TransformData ( uint DAC0832,uchar c0832data); //转换数据
18 void ST();
19 void TR();
20 //void SQ();
21 //void SIN();
22 main ()
23 {
24 1
25 1 P0=0xff; //端口初始化,其实不用 上电后自动置高
26 1 P1=0xff; //端口初始化,其实不用 上电后自动置高
27 1 P2=0xff; //端口初始化,其实不用 上电后自动置高
28 1 P3=0xff; //端口初始化,其实不用 上电后自动置高
29 1 Delay();
30 1 EX0=1;
31 1 IT0=1;
32 1 EA=1;
33 1 while(1)
34 1 {
35 2 switch(keynumber)
36 2 {
37 3 case 1: ST();
38 3 break;
39 3
40 3
41 3 case 0: TR();
42 3 break;
43 3
44 3 }
45 2 }
46 1 }
47 void ST()
48 {
49 1
50 1 TransformData( DAC0832Addr0,i) ;
51 1 i++;
52 1
53 1
54 1 }
55 /* void TR(void)
C51 COMPILER V8.08 0806C 03/05/2009 10:59:43 PAGE 2
56 {
57 if(~flag)
58 {
59 TransformData( DAC0832Addr0,j) ;
60 j++;
61 if(j==0){j=255;flag=1;}
62 }
63 else if(flag)
64 {
65 TransformData( DAC0832Addr0,j) ;
66 j--;
67 if(j==255){j=1;flag=0;}
68
69 }
70 } */
71 void TR()
72 {
73 1
74 1
75 1 TransformData( DAC0832Addr0,j) ;
76 1
77 1 if((j==255)|( j==0)) //g=关系或
78 1 {flag=~flag;}
79 1 if (flag==1)
80 1 {
81 2 j++;
82 2 }
83 1 if (flag==0)
84 1 {
85 2 j--;
86 2 }
87 1
88 1 }
89
90
91 void int0() interrupt 0 using 0
92 {
93 1
94 1 if (p10==0)
95 1 keynumber=0;
96 1 if (p12==0)
97 1 keynumber=1;
98 1 if (p14==0)
99 1 keynumber=3;
100 1 if (p16==0)
101 1 keynumber=4;
102 1 }
103 void TransformData( uint DAC0832,uchar c0832data)//转换数据
104 {
105 1 *((uchar xdata *)DAC0832)=c0832data; //向0832输出待转换数字量c0832data
106 1 /* 在C语言中 访问外部寄存器时要先进行类型转换。用(uchar xdata *)转化位指针型数据,再间接寻址*/
107 1 }
108 void Delay ()
109 {
110 1 ;
111 1 ;
112 1 }
113
114
115
116
117 /*
C51 COMPILER V8.08 0806C 03/05/2009 10:59:43 PAGE 3
118 #include <reg51.h> //外接芯片来实现外围电机的选择
119 #include <stdio.h>
120 #define DAC0832Addr0 0X7FFF //0832地址1
121 #define uchar unsigned char //单个字节无符号数
122 #define uint unsigned int // 输出口初始化
123 sbit p10=P1^0 ;
124 sbit p12=P1^2 ;
125 sbit p14=P1^4;
126 sbit p16=P1^6 ;
127 bit flag;
128 uchar keynumber;
129 uchar i,j;
130 void Delay ();
131 void TransformData ( uint DAC0832,uchar c0832data); //转换数据
132 void ST();
133 void TR();
134 //void SQ();
135 //void SIN();
136 main ()
137 {
138
139 P0=0xff; //端口初始化,其实不用 上电后自动置高
140 P1=0xff; //端口初始化,其实不用 上电后自动置高
141 P2=0xff; //端口初始化,其实不用 上电后自动置高
142 P3=0xff; //端口初始化,其实不用 上电后自动置高
143 Delay();
144 EX0=1;
145 IT0=1;
146 EA=1;
147 while(1)
148 {
149 if(keynumber==1)
150 {
151 ST();
152
153 }
154 if(keynumber==2)
155 {
156 TR();
157 }
158 }
159
160 }
161 void ST()
162 { uchar i;
163 i=0;
164
165 while(1)
166 {
167
168 TransformData( DAC0832Addr0,i) ;
169 i++;
170 Delay();
171 }
172 }
173 void TR()
174 {
175 uchar i;
176 i=0;
177 flag=0;
178
179
C51 COMPILER V8.08 0806C 03/05/2009 10:59:43 PAGE 4
180 /* while(1)
181 {
182 TransformData( DAC0832Addr0,i) ;
183 if((i==255)|( i==0)) //g=关系或
184 {flag=~flag;}
185 if (flag==1)
186 {
187 i++;
188 }
189 if (flag==0)
190 {
191 i--;
192 }
193 Delay();
194 } */
195
196 //}
197 /*void int0() interrupt 0 using 0
198 {
199
200 if (p10==0)
201 keynumber=1;
202 if (p12==0)
203 keynumber=2;
204 if (p14==0)
205 keynumber=3;
206 if (p16==0)
207 keynumber=4;
208 }
209 void TransformData( uint DAC0832,uchar c0832data)//转换数据
210 {
211 *((uchar xdata *)DAC0832)=c0832data; //向0832输出待转换数字量c0832data
212 /* 在C语言中 访问外部寄存器时要先进行类型转换。用(uchar xdata *)转化位指针型数据,再间接寻址*/
213 // }
214 /*
215 void Delay ()
216 {
217 ;
218 ;
219 }
220 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 130 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -