📄 ad0809.lst
字号:
C51 COMPILER V8.02 AD0809 08/30/2007 14:49:29 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE AD0809
OBJECT MODULE PLACED IN AD0809.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AD0809.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89X52.H>
2 unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
3 0xef,0xdf,0xbf,0x7f};
4 unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
5 0x6d,0x7d,0x07,0x7f,0x6f,0x00};
6 unsigned char dispbuf[8]={10,10,10,10,1,10,10,10};
7
8 unsigned char dispcount;
9
10 sbit ST=P3^0;
11 sbit OE=P3^1;
12 sbit EOC=P3^2;
13 unsigned char channel=0xbc; //1011 1100,ABC=110选择第三通道同时使ST=0,OE=0输出数据线呈高阻状态,EOC=1。
14 unsigned char getdata;
15 long int i;
16 void main(void)
17 {
18 1 TMOD=0x01;
19 1 TH0=(65536-4000)/256;
20 1 TL0=(65536-4000)%256;
21 1 TR0=1;
22 1 ET0=1;
23 1 EA=1;
24 1 P3=channel;
25 1
26 1 while(1)
27 1 {
28 2 ST=0;
29 2 ST=1;
30 2 ST=0;
31 2 while(EOC==0);
32 2 OE=1;
33 2 getdata=P0;
34 2 OE=0;
35 2 i=getdata*196;
36 2 dispbuf[5]=i/10000;
37 2 i=i%10000;
38 2 dispbuf[6]=i/1000;
39 2 i=i%1000;
40 2 dispbuf[7]=i/100;
41 2 }
42 1 }
43 void t0(void) interrupt 1 using 0
44 {
45 1 TH0=(65536-6000)/256;
46 1 TL0=(65536-6000)%256;
47 1 P2=0xff;
48 1 P1=dispcode[dispbuf[dispcount]];
49 1 P2=dispbitcode[dispcount];
50 1 if(dispcount==5)
51 1 {
52 2 P1=P1 | 0x80;
53 2 }
54 1 dispcount++;
55 1 if(dispcount==8)
C51 COMPILER V8.02 AD0809 08/30/2007 14:49:29 PAGE 2
56 1 {
57 2 dispcount=0;
58 2 }
59 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 228 ----
CONSTANT SIZE = 19 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 15 ----
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 + -