📄 +-
字号:
C51 COMPILER V7.20 DISPLAY 04/08/2013 23:13:27 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: D:\软件\keil\C51\BIN\C51.EXE display.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<includehead.h>
2 #include"delay.h"
3 void display(unchar i,unchar *bp,unchar j)
4 {
5 1 unchar code leddisplaytab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};//共阴
6 1 unchar temphh,temphl,templh,templl=j;//百位,十位,个位,小数位
7 1 temphl=i/10;
8 1 templh=i%10;
9 1 P2=0xf7;
10 1 if(temphl==0)//分情况,高字节为0时说明温度绝对值<10,只用个位显示,这位的0则不显示,或者它是负数,则这位显
-示‘-’
11 1 {
12 2 if(*bp)
13 2 { *bp=0;
14 3 P2>>=1;
15 3 P1=leddisplaytab[10];
16 3 delaynus(500);
17 3 P1=0;
18 3 }
19 2 else
20 2 {
21 3 P2>>=1;
22 3 P1=leddisplaytab[11];
23 3 delaynus(500);
24 3 }
25 2
26 2 }
27 1 else if(temphl>0&&temphl<=9)//不为0,小于10 为负数最高位显示'-'十位正常显示
28 1 {if(*bp)
29 2 { *bp=0;
30 3 P1=leddisplaytab[10];
31 3 delaynus(500);
32 3 P1=0;
33 3 }
34 2 P2>>=1;
35 2 P1=leddisplaytab[temphl];
36 2 delaynus(500);
37 2
38 2 }
39 1
40 1 else
41 1 {
42 2 temphh=temphl/10;
43 2 temphl%=10;
44 2 P1=leddisplaytab[temphh];
45 2 delaynus(500);
46 2 P1=0;
47 2 P2>>=1;
48 2 P1=leddisplaytab[temphl];
49 2 delaynus(500);
50 2 }
51 1
52 1 P1=0;
53 1 P2=P2>>1;
54 1 P1=leddisplaytab[templh]+0x80;
C51 COMPILER V7.20 DISPLAY 04/08/2013 23:13:27 PAGE 2
55 1 delaynus(500);
56 1 P1=0;
57 1 P2=P2>>1;
58 1 P1=leddisplaytab[templl];
59 1 delaynus(500);
60 1 P1=0;
61 1 }
62
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 249 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
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 + -