📄 chuankou.lst
字号:
C51 COMPILER V7.07 CHUANKOU 04/26/2008 03:00:09 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE CHUANKOU
OBJECT MODULE PLACED IN chuankou.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chuankou.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*
2 DAC0832(c编程)
3 [ 2007-7-27 15:59:00 | By: 小刚 ]
4
5 DA0832测试程序
6 用单片机输出一个数字波形输入到DAC里检测DAC硬件
7 P2.7接DAC的CS端,P3.6接WR1, P0口接D
8 \********************************************************/
9 #include <AT89X51.H>
10 #include <intrins.h>
11 #include <absacc.h>
12
13 #define uchar unsigned char
14 #define data_OUT XBYTE[0x7fff] // 数据输出口
15 uchar flag;
16 uchar code table1[]={
17 0 , 0 , 2 ,4 , 7 , 10 , 14 , 18 ,23 ,25 ,25 , 25 , 25 , 22 , 18 , 14 , 10, 6 ,2 ,
18 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,0 , 0 ,0 , 0 , 0 ,0 , 0 , 0 , 1 , 3 , 5 , 7 , 9 ,11,
19 14 , 17 , 20 , 23 , 23, 23 ,23 , 20 ,16 , 12 ,8 , 4 , 0 , 0 , 0 , 1 , 1 , 1 , 2 , 2 ,
20 2 , 6 ,10 ,15 ,20 ,25 , 27 , 27 , 27 ,27 , 25 , 23 ,19 ,15 , 11 ,7 ,3 ,0 , 0,
21 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0 , 0, 2 ,5 ,8 , 12 , 16 , 20 , 25 , 25 , 25 , 25 ,
22 24 ,24 ,22 , 23 ,22 , 21 , 20 , 19 , 18 ,17 , 15 , 14 , 12 , 8 , 4, 0, 0 , 1 , 1 ,2 ,
23 2 , 6 , 9 ,13 ,17 ,21 , 26 ,26 ,26 , 22 , 17 , 12 , 7 ,3 , 0 ,0 , 0 , 0 , 0 ,0 , 2 ,
24 4, 6 , 8 ,8 , 8 , 6 , 4 , 2 , 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0,
25 0 ,0 , 0 , 0 , 0 , 0 ,2 , 5 , 8 ,12, 16 ,20 ,26 ,28 ,28 , 28 ,26 , 24 , 22 ,20 ,
26 18 , 16 , 14 , 11 , 8 ,5 , 3 , 1 , 0 ,0 ,0 , 0, 0, 0 ,0 ,0 , 0 ,0 , 0 , 0 , 0 , 0 ,
27 1 ,3, 5, 8, 11 , 14 ,17 ,20 , 22 , 22 ,22 ,20 , 18 ,16 , 14 ,12 ,10 , 8 , 6 ,4 , 2 ,
28 1,0 , 0 ,0, 0 ,0 , 0, 0 , 0
29 };
30 uchar code table2[]={
31 0 , 1 , 1 , 2 , 2 , 3 ,3 , 4 ,4 , 5 , 5 , 5 ,4 ,4 ,3 ,3 , 2 , 2, 1 , 1, 0 ,0 ,0 ,5 ,10 , 20,
32 30 , 50 , 60 ,60 ,55 , 50 ,38 , 31 , 25 , 17 ,12 , 6 , 0, 0 , 0, 0, 0, 0 ,0, 1 , 1 ,1,
33 1 , 1 , 2 , 2 ,2 ,3 ,3 , 3 , 4 ,4, 4 , 5 , 5 , 5 , 6 , 6 , 7 , 7 ,8 , 8 , 9 ,9 ,10, 10 , 11,
34 11 , 12 , 12 , 13 , 13 , 13 , 13 ,12 ,11 , 10, 9, 8 , 7 , 6 , 5 ,4 , 3 , 3 , 1, 1, 0 , 0 , 0,11
35 };
36
37
38
39 void delay(unsigned int N)
40 {
41 1 unsigned int i;
42 1 for(i=0;i<N;i++);
43 1
44 1 }
45
46
47
48 /****************************数字信号输出*******************/
49 void conversion_once_0832(unsigned char out_data)
50 {
51 1 data_OUT = out_data; //输出数据
52 1 delay(10); //延时等待转换
53 1 }
54
55 /****************************三角波信号(一个周期)**********/
C51 COMPILER V7.07 CHUANKOU 04/26/2008 03:00:09 PAGE 2
56 //void triangle()
57 //{
58 // uchar k;
59 // for(k=0;k<2000;k++)
60 // conversion_once_0832(k);
61 // for(;k>0;k--)
62 // conversion_once_0832(k);
63 //}
64
65 /***************************方波信号(一个周期)***************/
66 //void pulse()
67 //{
68 // conversion_once_0832(0xff);
69 // delay(1000);
70 // conversion_once_0832(0x00);
71 // delay(1000);
72 //}
73
74 void main()
75 {
76 1 TMOD=0x02;
77 1 TH0=0x06;
78 1 TL0=0x06;
79 1 TR0=1;
80 1 ET0=1;
81 1 EA=1;
82 1
83 1
84 1
85 1 while(1)
86 1 {
87 2 if(P1_0==0)
88 2 {
89 3 delay(1000);
90 3 if(P1_0==0)
91 3 { flag++;if(flag==4)flag=1;
92 4
93 4
94 4 while(P1_0==0);
95 4 }
96 3 }
97 2
98 2
99 2 }
100 1 }
101
102 void t0(void) interrupt 1 using 0
103 {
104 1 unsigned int tcnt,i;
105 1 tcnt++;
106 1 if(tcnt==200)
107 1 {
108 2 tcnt=0;
109 2 if(flag==1)
110 2 {P2=0xf5;
111 3 conversion_once_0832(table1[i]);i++;
112 3 if(i==220)i=0;
113 3 }
114 2 if(flag==2)
115 2
116 2 { P2=0x0f;
117 3 conversion_once_0832(table2[i]);i++;
C51 COMPILER V7.07 CHUANKOU 04/26/2008 03:00:09 PAGE 3
118 3 if(i==100)i=0;
119 3 }
120 2
121 2
122 2 }
123 1 }
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 171 ----
CONSTANT SIZE = 334 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
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 + -