📄 text2.lst
字号:
C51 COMPILER V8.02 TEXT2 11/23/2008 16:07:10 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN Text2.OBJ
COMPILER INVOKED BY: C:\软件\Keil\C51\BIN\C51.EXE Text2.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 code unsigned char duma[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x63,0x39};
3 code unsigned char xuan[] = {0xfe,0xfd,0xfb,0xf7};
4 unsigned char dis[4];
5 unsigned int sdata;
6 sbit dat=P2^7;
7
8 void delay1(unsigned int t){
9 1 unsigned int i;
10 1 while (t--){
11 2 for (i=0;i<125;i++){}
12 2 }
13 1 }
14
15 void tmreset(void){
16 1 unsigned int i;
17 1 dat=0;
18 1 i=103;while(i>0)i--;
19 1 dat=1;
20 1 i=4;while (i>0)i--;
21 1 }
22
23 void tmpre(){
24 1 unsigned int i;
25 1 while(dat);
26 1 while(~dat);
27 1 i=4;while(i>0)i--;
28 1 }
29
30 bit tmrbit(){
31 1 unsigned int i;
32 1 bit d;
33 1 dat=0;i++;
34 1 dat=1;i++;i++;
35 1 d=dat;
36 1 i=8;while(i>0)i--;
37 1 return (d);
38 1 }
39 unsigned char tmrbyte(){
40 1 unsigned char i,j,d;
41 1 d=0;
42 1 for(i=1;i<=8;i++){
43 2 j=tmrbit();
44 2 d=(j<<7)|(d>>1);
45 2 }
46 1 return(d);
47 1 }
48 void tmwbyte(unsigned char d){
49 1 unsigned int i;
50 1 unsigned char j;
51 1 bit testb;
52 1 for (j=1;j<=8;j++){
53 2 testb=d&0x01;
54 2 d=d>>1;
55 2 if(testb){
C51 COMPILER V8.02 TEXT2 11/23/2008 16:07:10 PAGE 2
56 3 dat=0;
57 3 i++;i++;
58 3 dat=1;
59 3 i=8;while(i>0)i--;
60 3 }
61 2 else{
62 3 dat=0;
63 3 i=8;while(i>0)i--;
64 3 dat=1;
65 3 i++;i++;
66 3 }
67 2 }
68 1 }
69
70 void tmstart(){
71 1 tmreset();
72 1 tmpre();
73 1 delay1(1);
74 1 tmwbyte(0xcc);
75 1 tmwbyte(0x44);
76 1 }
77
78
79 unsigned int tmrtemp () {
80 1 unsigned char a,b,y1;
81 1 unsigned int y3,y2;
82 1 tmreset();
83 1 tmpre();
84 1 delay1(1);
85 1 tmwbyte(0xcc);
86 1 tmwbyte(0xbe);
87 1 a=tmrbyte();
88 1 b=tmrbyte();
89 1 y1=a;
90 1 y2=b<<8;
91 1 y3=y1|y2;
92 1 y3=y3*10/16;
93 1 return(y3);
94 1 }
95 void delay(){
96 1 int i;
97 1 for(i=0;i<100;i++);//100shanshuo
98 1 }
99 void bcd(){
100 1
101 1 dis[0] = sdata/100;
102 1 dis[1] = (sdata%100)/10;
103 1 dis[2] = sdata%10;
104 1 dis[3] = 0;
105 1 }
106 void show(){
107 1 unsigned char s;
108 1 for(s=0;s<4;s++){
109 2 if(s==1)
110 2 P0 = duma[dis[s]]|0x80;
111 2 else
112 2 P0= duma[dis[s]];
113 2 P1= xuan[s];
114 2 delay();
115 2 }
116 1 }
117
C51 COMPILER V8.02 TEXT2 11/23/2008 16:07:10 PAGE 3
118 void main(){
119 1 char i;
120 1 sdata=0;
121 1 while(1){
122 2 tmstart();//zai si xunhuan yilei
123 2 sdata=tmrtemp();
124 2 if(sdata>320)P3=0x07;
125 2 else if(sdata>310)P3=0x8b;
126 2 else if(sdata>300)P3=0x0e;
127 2 else P3=0x4d;
128 2 for(i=0;i<30;i++){
129 3 bcd();show();
130 3 }
131 2 }
132 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 485 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -