📄 da.lst
字号:
C51 COMPILER V6.23a DA 01/05/2004 11:11:46 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE DA
OBJECT MODULE PLACED IN da.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE da.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /************************************************/
2
3 /************************************************/
4 #include <REG52.H>
5 #include <stdio.h>
6
7 #ifdef MONITOR51 /* Debugging with Monitor-51 needs */
char code reserve [3] _at_ 0x23; /* space for serial interrupt if */
#endif /* Stop Exection with Serial Intr. */
10 /* is enabled */
11 const char Ledbuf[18]=/*digit convert table*//* 共阴*/
12 { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,
13 /* 0 1 2 3 4 5 6 7 8 9 */
14 0x77, 0x7C, 0x39, 0x500E, 0x79, 0x71, 0x00, 0x40 };
15 /* a b c d e f - */
16
17 sbit SERIALIN=P0^0;
18 sbit CLOCK=P0^2;
19 sbit LATCH=P0^1;
20 sbit P10=P1^0;
21 sbit P11=P1^1;
22 sbit P12=P1^2;
23 sbit P15=P1^5;
24 sbit P16=P1^6;
25 sbit P17=P1^7;
26 sbit P33=P3^3;
27 sbit P32=P3^2;
28 sbit din=P3^0;
29 sbit clk=P3^1;
30 unsigned int kl=0,kh=0;
31 unsigned int Hout;
32
33 unsigned int da;
34
35
36 void Delay(unsigned int DelayTime)
37 {
38 1 if (DelayTime == 0)return;
39 1 while(DelayTime != 0)
40 1 {DelayTime--; }
41 1 }
42
43 void display(ledtim)
44 char ledtim[4];
45 {unsigned char i,j,temp;
46 1 for (i=0; i<4; i++) {
47 2 temp=ledtim[i];
48 2 for (j=0;j<8;j++){
49 3 temp=temp<<1; SERIALIN=CY; CLOCK=1; CLOCK=0;
50 3 }
51 2 }LATCH=0; LATCH=1;
52 1 }
53
54 void computer(unsigned int dt)
55 { char cledtim[4];
C51 COMPILER V6.23a DA 01/05/2004 11:11:46 PAGE 2
56 1 int dth,dtm;
57 1 cledtim[3]=Ledbuf[dt/1000];
58 1 dth=dt%1000;
59 1 cledtim[2]=Ledbuf[dth/100];
60 1 cledtim[2]|=0x80;
61 1 dtm=dth%100;
62 1 cledtim[1]=Ledbuf[dtm/10];
63 1 cledtim[0]=Ledbuf[dtm%10];
64 1 display(cledtim);
65 1 }
66
67
68
69 void main()
70 { CLOCK=0;
71 1 LATCH=1;
72 1 P1=0x00;
73 1 P33=0;
74 1 clk=0;
75 1 din=0;
76 1 for(;;)
77 1 { unsigned int i;
78 2 unsigned int temp;
79 2
80 2 computer(Hout);
81 2
82 2 if(P10==1){Delay(1000);if(P10==1){Hout++;}}
83 2 if(P11==1){Delay(1000);if(P11==1){Hout--;}}
84 2 P33=1;
85 2 da=Hout;
86 2 temp=da;
87 2 P33=0;
88 2 for(i=0;i<16;i++)
89 2 {
90 3 clk=1;
91 3 temp=temp&0x8000;
92 3 if (temp==0x8000)
93 3 {din=1;}
94 3 else{din=0;}
95 3 P15=1;
96 3 temp=da;
97 3 temp=temp<<1;
98 3 clk=0;
99 3 da=temp;
100 3 }P15=0; Delay(500);
101 2 }
102 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 323 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 11
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 + -