📄 main.lst
字号:
C51 COMPILER V8.12 MAIN 11/24/2008 10:34:37 PAGE 1
C51 COMPILER V8.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "p89v51.h"
2 #include "AD7705.h"
3
4 sbit X5645CS = P1^6;
5
6 unsigned char Send_flag; //1未发送完 0发送完成1帧
7 unsigned char send_buf[10]; //发送数组
8 /***********************************************
9 功能: 串口中断
10 ************************************************/
11 void ser_interrupt() interrupt 4 using 2 /*串口中断*/
12 {
13 1 static unsigned char send_byte=0;
14 1
15 1 if(TI)
16 1 {
17 2 TI=0;
18 2 send_byte++;
19 2 if(send_byte>7)
20 2 {
21 3 send_byte=0;
22 3 Send_flag=0;
23 3 }
24 2 else SBUF=send_buf[send_byte];
25 2 }
26 1
27 1 }
28 /************************************************
29 功能:延时 NUM*200uS
30 ************************************************/
31 void delay(unsigned int NUM)
32 {
33 1 unsigned int i;
34 1 unsigned char j;
35 1 for(i=NUM;i>0;i--)
36 1 for(j=200;j>0;j--);
37 1 }
38 /************************************************
39 功能:主函数
40 ************************************************/
41 void main()
42 {
43 1 unsigned char i,stat=0x03;
44 1 unsigned int temp,ADcode1,ADcode2;
45 1
46 1 delay(5);
47 1 PCON=0x80;// 波特率翻倍
48 1 TMOD=0x21;// 定时器0 16位模式 定时器1 为波特率发生器
49 1 TCON=0x55;// 开启定时器
50 1 TH1 =0xFF;// 定时器1波特率为57600 0xFF (11.0592)
51 1 TL1 =0xFF;
52 1 SCON=0x50;// 串行口模式1
53 1 IEN0=0x90;
54 1 X5645CS = 1;
55 1 delay(1000);
C51 COMPILER V8.12 MAIN 11/24/2008 10:34:37 PAGE 2
56 1
57 1 adc_rest();
58 1 adc1_init(ADC_SELF,ADC_GAIN_128,ADC_BIPOLAR,ADC_50);
59 1 adc2_init(ADC_SELF,ADC_GAIN_128,ADC_BIPOLAR,ADC_50);
60 1
61 1 while(1)
62 1 {
63 2 temp = adc1_read_value(1);
64 2 if(temp)
65 2 {
66 3 ADcode1 = temp;
67 3 stat&=0x0e;
68 3 }
69 2 temp = adc2_read_value(1);
70 2 if(temp)
71 2 {
72 3 ADcode2 = temp;
73 3 stat&=0x0d;
74 3 }
75 2 if(Send_flag==0) //如果串口发送空闲
76 2 {
77 3 if(stat==0)
78 3 {
79 4 send_buf[6]=0xaa;
80 4 send_buf[5]=ADcode2;
81 4 send_buf[4]=ADcode2>>8;
82 4 send_buf[3]=ADcode1;
83 4 send_buf[2]=ADcode1>>8;
84 4 send_buf[1]=0x7f;
85 4 send_buf[0]=0xfe;
86 4
87 4 send_buf[7]=0;
88 4 for(i=0;i<7;i++)send_buf[7] += send_buf[i];
89 4
90 4 SBUF=send_buf[0]; //开始发送
91 4 Send_flag=1;
92 4 stat=0x03;
93 4 }
94 3 }
95 2 }
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 221 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 5
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 + -