📄 paralleladc.lst
字号:
C51 COMPILER V8.08 PARALLELADC 07/01/2008 11:05:14 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE PARALLELADC
OBJECT MODULE PLACED IN ParallelADC.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE ParallelADC.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h> //头文件
2 #include <absacc.h>
3 #include <stdio.h>
4
5 #define uchar unsigned char
6 #define adch0 XBYTE[0x0100] //MAX197控制字节
7
8 uchar CHDataL,CHDataH; //转换结果
9 sbit ADINT = P1^0; //MAX197中断输出位
10 sbit HBEN = P2^0; //MAX197数据总线复用控制位
11 sbit CS=P1^7; //MAX197片选信号
12
13 void ADRead(void); //AD转换读取函数声明
14
15 void main() //主函数
16 {
17 1 uchar Select_Menu; //功能选择
18 1
19 1 SCON=0x50; //初始化串行口模式1
20 1 TMOD=0x20; //初始化T1为定时功能,模式2
21 1 PCON=0x80; //设置SMOD=1
22 1 TL1=0xF4; //波特率4800bit/s,初值
23 1 TH1=0xF4;
24 1
25 1 TR1 = 1; //启动T1
26 1 TI = 1; //启动发送
27 1
28 1 while(1)
29 1 {
30 2 printf("A/D Converter MAX197 Control!");
31 2 printf (" Select Control Menu Option\n"); //菜单信息
32 2 printf (" 0. Read Channel 0.\n");
33 2 printf (" 1. Read Channel 1.\n");
34 2 printf (" 2. Read Channel 2.\n");
35 2 printf (" 3. Read Channel 3.\n");
36 2 printf (" 4. Read Channel 4.\n");
37 2 printf (" 5. Read Channel 5.\n");
38 2 printf (" 6. Read Channel 6.\n");
39 2 printf (" 7. Read Channel 7.\n");
40 2 printf (" 8. Enable MAX197.\n");
41 2 printf (" 9. EXIT.\n");
42 2 printf (" Please Input Menu Option:\n");
43 2
44 2 Select_Menu = _getkey(); //从键盘输入选择数字
45 2 switch(Select_Menu)
46 2 {
47 3 case '0': //读取通道0
48 3 printf ("\n You Select 0. ReadChannel 0.\n");
49 3 adch0=0x40; //控制字节
50 3 ADRead(); //AD转换
51 3 printf("Channel 0:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
52 3 break;
53 3 case '1': //读取通道1
54 3 printf ("\n You Select 1. ReadChannel 1.\n");
55 3 adch0=0x41; //控制字节
C51 COMPILER V8.08 PARALLELADC 07/01/2008 11:05:14 PAGE 2
56 3 ADRead(); //AD转换
57 3 printf("Channel 1:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
58 3 break;
59 3 case '2': //读取通道2
60 3 printf ("\n You Select 2. ReadChannel 2.\n");
61 3 adch0=0x42; //控制字节
62 3 ADRead(); //AD转换
63 3 printf("Channel 2:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
64 3 break;
65 3 case '3': //读取通道3
66 3 printf ("\n You Select 3. ReadChannel 3.\n");
67 3 adch0=0x43; //控制字节
68 3 ADRead(); //AD转换
69 3 printf("Channel 3:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
70 3 break;
71 3 case '4': //读取通道4
72 3 printf ("\n You Select 4. ReadChannel 4.\n");
73 3 adch0=0x44; //控制字节
74 3 ADRead(); //AD转换
75 3 printf("Channel 4:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
76 3 break;
77 3 case '5': //读取通道5
78 3 printf ("\n You Select 5. ReadChannel 5.\n");
79 3 adch0=0x45; //控制字节
80 3 ADRead(); //AD转换
81 3 printf("Channel 5:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
82 3 break;
83 3 case '6': //读取通道6
84 3 printf ("\n You Select 6. ReadChannel 6.\n");
85 3 adch0=0x46; //控制字节
86 3 ADRead(); //AD转换
87 3 printf("Channel 6:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
88 3 break;
89 3 case '7': //读取通道7
90 3 printf ("\n You Select 7. ReadChannel 7.\n");
91 3 adch0=0x47; //控制字节
92 3 ADRead(); //AD转换
93 3 printf("Channel 7:CHDataL=%d,ChDataH=%d\n",CHDataL,CHDataH);
94 3 break;
95 3 case '8': //使能MAX197
96 3 printf ("\n You Select 8. Enable MAX197.\n");
97 3 CS=0; //CS低电平有效,使能MAX197
98 3 printf ("\nMAX197 Enabled.\n");
99 3 break;
100 3 case '9': //退出程序
101 3 printf ("\n You Select 9. Exit\n");
102 3 goto Exit; //转向Exit标号处
103 3 break;
104 3 default:
105 3 printf ("\n Error: Please Select Right Menu Option\n");
106 3 break;
107 3 };
108 2 }
109 1 Exit: printf("Exit the program!"); //退出
110 1 }
111
112 void ADRead(void)
113 {
114 1 while (ADINT!=0) //查询MAX197的中断输出,判断是否完成转换
115 1 {
116 2 HBEN = 0; //首先置HBEN=0,即先读低位
117 2 }
C51 COMPILER V8.08 PARALLELADC 07/01/2008 11:05:14 PAGE 3
118 1 CHDataL = P0; //读取A/D转换结果的低位
119 1
120 1 HBEN = 1; //设置HBEN=1,再读高位
121 1 CHDataH = P0; //读取A/D转换结果的高位
122 1 HBEN = 0; //重置HBEN=0
123 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 476 ----
CONSTANT SIZE = 938 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -