📄 led.lst
字号:
C51 COMPILER V7.07 LED 08/22/2008 23:25:40 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include "led.h"
3 #include <reg52.h>
4 #include <intrins.h>
5
6 //总共4个LED,频率显示,小数点后一位小数
7 //段P1口,位P22,P23,P24,P25
8
9 #define LED_DATA P1
10
11 #define LED1 0x04
12 #define LED2 0x08
13 #define LED3 0x10
14 #define LED4 0x20
15 #define LED_0 0x0
16
17 #define LED_SET P2
18
19 unsigned char LED_Code[]={/*0,1,2,3,4,5,6,7,8,9,' '(不显示)*/
20 //0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};
21 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};
22
23 //#define LED0 PORTB3
24 //str格式"P100.5"/"F 88.8"
25 void Display_LED(unsigned char * str)
26 {
27 1
28 1 //LED从左向右
29 1 //写第1个数 P22 00000100
30 1 LED_DATA = LED_Code[*str];
31 1 LED_SET |= LED1;
32 1 _nop_();
33 1 _nop_();
34 1 _nop_();
35 1 _nop_();
36 1 LED_SET &= ~LED1;
37 1
38 1 //写第2个数 P23 0000 1000
39 1 _nop_();
40 1 _nop_();
41 1
42 1 LED_DATA = LED_Code[*(str+1)];
43 1 LED_SET |= LED2;
44 1 _nop_();
45 1 _nop_();
46 1 _nop_();
47 1 _nop_();
48 1
49 1 LED_SET &= ~LED2;
50 1
51 1 //写第3个数 P24 0001 0000
52 1 _nop_();
53 1 _nop_();
54 1
55 1 LED_DATA = LED_Code[*(str+2)]&0x7F;//小数点;
C51 COMPILER V7.07 LED 08/22/2008 23:25:40 PAGE 2
56 1 LED_SET |= LED3;
57 1 _nop_();
58 1 _nop_();
59 1 _nop_();
60 1 _nop_();
61 1 LED_SET &= ~LED3;
62 1 //写第4个数 P25 0010 0000
63 1 _nop_();
64 1 _nop_();
65 1
66 1 if (*(str+4))
67 1 LED_DATA = LED_Code[*(str+3)]&0x7F;
68 1 else LED_DATA = LED_Code[*(str+3)];
69 1 LED_SET |= LED4;
70 1 _nop_();
71 1 _nop_();
72 1 _nop_();
73 1 _nop_();
74 1
75 1 LED_SET &= ~LED4;
76 1 LED_SET = LED_0;
77 1
78 1
79 1 }
80
81 void Freq_2_Buffer(unsigned long Freq,unsigned char * disbuffer)
82 {
83 1 // 0 显示最左一位,百位;1 十位;2 个位; 3 小数点后一位
84 1 unsigned int tmp;
85 1 tmp = Freq/100;
86 1 disbuffer[0] = tmp / 1000 ;
87 1
88 1 // disbuffer[0] = 10; //不显示
89 1 // else disbuffer[0] = 1;
90 1
91 1 disbuffer[1] = (tmp / 100)%10 ;
92 1 disbuffer[2] = (tmp / 10)%10 ;
93 1 disbuffer[3] = tmp %10 ;
94 1 }
95
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 240 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 5
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 + -