📄 2272js.lst
字号:
C51 COMPILER V8.02 2272JS 02/26/2009 16:23:13 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 2272JS
OBJECT MODULE PLACED IN 2272JS.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2272JS.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit js=P1^5;
5 extern inttilcs();
6 extern void displayOneChar(unsigned char, unsigned char, unsigned char);
7 /*---------------------------------变量列表------------------------------------*/
8 uchar m,n,x,y,bc[6];
9 uint wendu;
10 /***************** 整数型转字符型方便打印*************************************/
11 void IntToStr( uint t, unsigned char *sc, unsigned char n)
12 {
13 1 unsigned char a[5]; char i, j;
14 1 a[0]=(t/10000)%10; //取得整数值到数组
15 1 a[1]=(t/1000)%10;
16 1 a[2]=(t/100)%10;
17 1 a[3]=(t/10)%10;
18 1 a[4]=(t/1)%10;
19 1
20 1 for(i=0; i<5; i++) //转成ASCII码
21 1 a[i]=a[i]+'0';
22 1 for(i=0; a[i]=='0' && i<=3; i++);
23 1 for(j=5-n; j<i; j++) //填充空格
24 1 { *sc=' '; sc++; }
25 1 for(; i<5; i++)
26 1 { *sc=a[i]; sc++; } //加入有效的数字
27 1 *sc='\0';
28 1 }
29 /*---------------------------------初始化子程序--------------------------------*/
30 void init(void)
31 {
32 1 EA=1; //打开CPU总中断请求
33 1 TMOD=0x01; //定时0工作方式1
34 1 TH0=0;
35 1 TL0=0;
36 1 TF0=0;
37 1 TR0=0;
38 1 }
39
40 /*-------------------------------250us精确延时---------------------------------*/
41 void delay_500(void)
42 {
43 1 uchar i,j;
44 1 for(i=0x0A;i>0;i--)
45 1 for(j=0x07;j>0;j--);
46 1 }
47
48
49 /*-------------------------外部中断0子程序(解码程序)---------------------------*/
50 void jieshou(void)
51 {
52 1 uchar i,buf[17];
53 1 uint k;
54 1 kk: while(js==1); //排除高电平的错读
55 1 while(js==0); //等待低电平
C51 COMPILER V8.02 2272JS 02/26/2009 16:23:13 PAGE 2
56 1 TL0=0;
57 1 TR0=1;
58 1 while(js==1); //等待高电平
59 1 TR0=0;
60 1 if(TL0>27||TL0<20)
61 1 goto kk;
62 1 // displayOneChar(0,0,'1');
63 1 for(i=0;i<16;i++)
64 1 {
65 2 TL0=0;
66 2 TF0=0;
67 2 while(js==0);
68 2 TR0=1;
69 2 while(js==1); //等待高电平
70 2 TR0=0;
71 2 buf[i]=TL0;
72 2 }
73 1 // displayOneChar(1,0,'2');
74 1 for(i=0;i<16;i++)
75 1 {
76 2 if(buf[i]<10&&buf[i]>4)
77 2 k=0;
78 2 else
79 2 if(buf[i]<16&&buf[i]>10)
80 2 k=1;
81 2 else
82 2 goto kk;
83 2 wendu=wendu<<1;
84 2 wendu=wendu|k;
85 2
86 2 /*
87 2 qq=buf[i]/10;
88 2 pp=buf[i]%10;
89 2 if(m>14)
90 2 {
91 2 m=0;
92 2 n=~n;
93 2 }
94 2 displayOneChar(m,n,'0'+qq);
95 2 displayOneChar(m+1,n,'0'+pp);
96 2 m=m+3;
97 2 */
98 2 }
99 1 // if(wendu==0x1000) displayOneChar(2,0,'3');
100 1 // displayOneChar(2,0,'4');
101 1 }
102 /******************显示当前温度********************************************/
103 void diswendu()
104 {
105 1 IntToStr(wendu,&bc[0],5);
106 1 displayOneChar(0,1,bc[0]);
107 1 displayOneChar(1,1,bc[1]);
108 1 displayOneChar(2,1,bc[2]);
109 1 displayOneChar(3,1,bc[3]);
110 1 displayOneChar(4,1,'.');
111 1 displayOneChar(5,1,bc[4]);
112 1 displayOneChar(6,1,0xdf);
113 1 displayOneChar(7,1,'c');
114 1 }
115 /*-----------------------------主程序入口--------------------------------------*/
116 main()
117 {
C51 COMPILER V8.02 2272JS 02/26/2009 16:23:13 PAGE 3
118 1 uchar i,j;
119 1 // uchar x_3,x_4,x_5;
120 1 delay_500();
121 1 inttilcs();
122 1 init();
123 1 while(1)
124 1 {
125 2 jieshou();
126 2 diswendu();
127 2 //displayOneChar(0,0,'0');
128 2 for(i=0;i<160;i++)
129 2 for(j=0;j<160;j++);
130 2 }
131 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 485 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 28
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 + -