📄 displed.lst
字号:
C51 COMPILER V7.50 DISPLED 06/22/2007 13:22:29 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DISPLED
OBJECT MODULE PLACED IN DispLED.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE DispLED.c BROWSE DEBUG OBJECTEXTEND TABS(2)
line level source
1 #include <intrins.h>
2 #include "me.h"
3 #include "disp.h"
4
5 //此处定义数码管各段位置
6 #define a 0x01 //D7
7 #define b 0x02 //D6
8 #define c 0x04 //D4
9 #define d 0x08 //D3
10 #define e 0x10 //D2
11 #define f 0x20 //D0
12 #define g 0x40 //D1
13 #define dot 0x80 //D5
14 extern unsigned char code seg[];
15 //////////////////////////////
16
17 // ~(a+b+c+d+e+f), // 共阳极
18 // (a+b+c+d+e+f), // 共阴极
19 //定义特殊符号
20 //数码管显示时用的编码
21 unsigned char code seg[] =
22 {
23 ~(a+b+c+d+e+f), // 0
24 ~(b+c), // 1
25 ~(a+b+d+e+g), // 2
26 ~(a+b+c+d+g), // 3
27 ~(b+c+f+g), // 4
28 ~(a+c+d+f+g), // 5
29 ~(a+c+d+e+f+g), // 6
30 ~(a+b+c), // 7
31 ~(a+b+c+d+e+f+g), // 8
32 ~(a+b+c+d+f+g), // 9
33 ~(a+b+c+e+f+g), //A
34 ~(c+d+e+f+g), //b
35 ~(a+d+e+f), //C
36 ~(b+c+d+e+g), //d
37 ~(a+d+e+f+g), //E
38 ~(a+e+f+g) //F
39 };
40 unsigned char stacode=0;
41 char dispbuf[6];
42 char low[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
43 void put_num(char cnum)
44 {
45 1 P0=seg[ cnum & 0x0f];
46 1 }
47
48 void disp(void)
49 {
50 1 static char disppoint;
51 1
52 1 P2=P2|0x3f;
53 1 put_num(dispbuf[disppoint]);
54 1 //P0=seg[ dispbuf[disppoint] & 0x0f];
55 1 if(disppoint==2 && stacode==1) P0&=~dot; /* 小数点*/
C51 COMPILER V7.50 DISPLED 06/22/2007 13:22:29 PAGE 2
56 1 P2=P2 & low[disppoint];
57 1 if (disppoint++>=5) disppoint=0;
58 1
59 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 73 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 ----
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 + -