📄 led.lst
字号:
C51 COMPILER V7.02a LED 07/12/2004 21:19:42 PAGE 1
C51 COMPILER V7.02a, 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 功能:实现数码管的显示及蜂鸣器的控制
3 作者:SG
4 时间:2004-03-15
5 版本:V1.0
6 ***************************************************************/
7 #include "reg52.h"
8 sbit led1 = 0x90; //对应CPU管脚P1.0
9 sbit led2 = 0x91; //对应CPU管脚P1.1
10 sbit led3 = 0x92; //对应CPU管脚P1.2
11 sbit led4 = 0x93; //对应CPU管脚P1.3
12
13 sbit _Speak = 0xb2; //对应CPU管脚P3.2
14
15 /*------------------------------------------------
16 功能:对应0--F显示码.
17 -------------------------------------------------*/
18 unsigned char code Led_Show[]={0x50,0xf5,0x68,0x4a,0x47,0xc2,0xc0,0x5b,0x40,0x42,0x41,0xc4,0xf0,0x4c,0xe0,
-0xe1,0xff};
19
20
21 /*-------------------------------------------------
22 功能100uS延时子程序
23 -------------------------------------------------*/
24 void Delay_xuS(unsigned int x)
25 {
26 1 unsigned int i,j;
27 1 for( i =0;i < x;i++ )
28 1 {
29 2 for( j =0;j<50;j++ );
30 2 }
31 1 }
32
33 /*--------------------------------------------------
34 功能:发音子程序每调用一次响一下
35 ---------------------------------------------------*/
36 void Song()
37 {
38 1 unsigned char i;
39 1 for( i = 0;i < 20;i++) //i可以调节发音的响度
40 1 {
41 2 _Speak = 0;
42 2 Delay_xuS(1);
43 2 _Speak = 1;
44 2 Delay_xuS(1);
45 2 }
46 1 }
47
48 /*-------------------------------------------------
49 功能:1MS延时子程序
50 -------------------------------------------------*/
51 void Delay_xMs(unsigned int x)
52 {
53 1 unsigned int i,j;
54 1 for( i =0;i < x;i++ )
C51 COMPILER V7.02a LED 07/12/2004 21:19:42 PAGE 2
55 1 {
56 2 for( j =0;j<500;j++ );
57 2 }
58 1 }
59
60 /*-------------------------------------------------
61 功能:数码管显示子程序
62 -------------------------------------------------*/
63 void LED_SHOW1(unsigned char *temp )
64 {
65 1 led1=0; led2=1; led3=1; led4=1;
66 1 P0 = Led_Show[temp[0]];
67 1 Delay_xuS(5);
68 1 led1=1; led2=0; led3=1; led4=1;
69 1 P0 = Led_Show[temp[1]];
70 1 Delay_xuS(5);
71 1 led1=1; led2=1; led3=0; led4=1;
72 1 P0 = Led_Show[temp[2]];
73 1 Delay_xuS(5);
74 1 led1=1; led2=1; led3=1; led4=0;
75 1 P0 = Led_Show[temp[3]];
76 1 Delay_xuS(5);
77 1 }
78
79 /*-------------------------------------------------
80 主程序
81 功能:在数码管上依次显示数字0--F,并伴有蜂鸣声
82 -------------------------------------------------*/
83 void main()
84 {
85 1 unsigned char temp[4]={2,0,0,4};
86 1 unsigned int i;
87 1 while(1)
88 1 {
89 2 LED_SHOW1(temp);
90 2 if(i++ > 300 )
91 2 {
92 3 if (temp[3]++ > 9)
93 3 temp[3]=4;
94 3 i = 0;
95 3 Song();
96 3 Song();
97 3 }
98 2 }
99 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 264 ----
CONSTANT SIZE = 21 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
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 + -