📄 led.lst
字号:
C51 COMPILER V7.06 LED 09/13/2005 20:39:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c OMF2 BROWSE DEBUG
stmt level source
1 #include <config.h>
2
3 #define IN_LED2
4
5 #define LED_NOP() {_nop_();_nop_();_nop_();_nop_();} //定义空指令
6 /*共阳极数码管低电平有效*/
7 #define LED_A 0xf7
8 #define LED_B 0xfb
9 #define LED_C 0xfd
10 #define LED_D 0xef
11 #define LED_E 0xdf
12 #define LED_F 0xfe
13 #define LED_G 0xbf
14 #define LED_0 LED_A&LED_B&LED_C&LED_D&LED_E&LED_F
15 #define LED_1 LED_B&LED_C
16 #define LED_2 LED_A&LED_B&LED_D&LED_E&LED_G
17 #define LED_3 LED_A&LED_B&LED_C&LED_D&LED_G
18 #define LED_4 LED_B&LED_C&LED_F&LED_G
19 #define LED_5 LED_A&LED_C&LED_D&LED_F&LED_G
20 #define LED_6 LED_A&LED_C&LED_D&LED_E&LED_F&LED_G
21 #define LED_7 LED_A&LED_B&LED_C
22 #define LED_8 LED_A&LED_B&LED_C&LED_D&LED_E&LED_F&LED_G
23 #define LED_9 LED_A&LED_B&LED_C&LED_D&LED_F&LED_G
24
25 unsigned char xdata LED_BUFFER[10]={LED_0,LED_1,LED_2,LED_3,LED_4,LED_5,LED_6,LED_7,LED_8,LED_9};//LED数字
-0-9对应的16进制数
26 unsigned char xdata g_display_state=0x00;
27
28 void LEDdisplay_process(void)
29 {
30 1 if(g_timer0_100ms==0x00) //每个一定的时间才显示一次,当然紧急显示除外
31 1 return;
32 1 g_timer0_100ms=0x00;
33 1
34 1 switch(g_display_state)
35 1 {case 0x00:
36 2 LED_displaynumber(authorize_number);//LED显示剩下的数目
37 2 break;
38 2 case 0x01:
39 2 LED_displaynumber(exhaust_number); //LED显示已烧写数目
40 2 break;
41 2 default:
42 2 break;
43 2 }
44 1 }
45
46
47 void LED_displaynumber(unsigned int DISPLAY_NUM)
48 {
49 1 unsigned char idata ONE=0x00,TEN=0x00,HUN=0x00,THOU=0x00;
50 1
51 1 ONE=DISPLAY_NUM%10;
52 1 TEN=(DISPLAY_NUM%100)/10;
53 1 HUN=(DISPLAY_NUM%1000)/100;
54 1 THOU=DISPLAY_NUM/1000;
C51 COMPILER V7.06 LED 09/13/2005 20:39:39 PAGE 2
55 1
56 1 LED_display_drive(LED_BUFFER[ONE]);
57 1 LED_display_drive(LED_BUFFER[TEN]);
58 1 LED_display_drive(LED_BUFFER[HUN]);
59 1 LED_display_drive(LED_BUFFER[THOU]);
60 1 }
61
62
63 void LED_display_drive(unsigned char NUM)
64 {unsigned char idata i=0x00;
65 1 LED_CLR=1; //禁止复位
66 1 for(i=0x00;i<0x08;i++)
67 1 {LED_CLK=0;
68 2 if(NUM&0x80) LED_CLD=1;
69 2 else LED_CLD=0;
70 2 NUM<<=1;
71 2 LED_CLK=1;
72 2 LED_NOP();
73 2 LED_CLK=0;
74 2 LED_NOP();
75 2 }
76 1 }
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 214 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 11 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- 5
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -