📄 v.lst
字号:
C51 COMPILER V7.50 V 07/21/2007 16:03:31 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE V
OBJECT MODULE PLACED IN v.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE v.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REGX52.H>
2 #include<absacc.H>
3 unsigned code table[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
4 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
5 long int n[4]={0},j;
6 double i=0.;
7 unsigned int m;
8
9 void main()
10 {
11 1 IT1=0;
12 1 EX1=1;
13 1 IT0=0;
14 1 EX0=1;
15 1 EA=1;
16 1 // PX1=1;
17 1 for(;;);
18 1 }
19 void loop0()interrupt 2 using 0
20 {
21 1 P2=0x90; //P2.4接OE,置高,允许转换;P2.0、P2.1、P2.2接adc的地址a0、a1、a2,这里选择 IN0
22 1 P2=0x98; //P2.3接ALE 给一上升沿锁存地址;
23 1 P2=0xb8; //p2.5接start,给一上升沿,使内部逐次逼近寄存器复位
24 1 P2=0x98; //start下降沿,开始转换;
25 1 }
26 //转换结束后,eoc触发外部中断0
27 void loop()interrupt 0 using 0
28 {
29 1
30 1 m=P1; //读取转换结果
31 1 i=m;
32 1 i=(i*10000)/255;
33 1 n[3]=((int)i)/10000;
34 1 n[2]=((int)i%10000)/1000;
35 1 n[1]=((int)i%1000)/100;
36 1 n[0]=((int)i)%100/10;
37 1 XBYTE[0xffec]=table[n[3]]; //输出显示
38 1 XBYTE[0xffed]=table[n[2]+10];
39 1 XBYTE[0xffee]=table[n[1]];
40 1 XBYTE[0xffef]=table[n[0]];
41 1 for(j=0;j<=255;j++); //显示延迟
42 1 P2=0x10; //p2.7接p3.3,触发外部中断1,开始下一轮转换
43 1 }
44
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 418 ----
CONSTANT SIZE = 40 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V7.50 V 07/21/2007 16:03:31 PAGE 2
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -