📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 09/22/2008 19:10:56 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 #define LED_PORT P0
7 #define LED_SCAN_PORT P1
8 #define MAX_LED 6
9 #define T0H (65536-2000)>>8
10 #define T0L (65536-2000)
11 uchar code seg_table[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,
12 0x6F,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
13
14
15 uchar led_buf[MAX_LED]={0};
16 uchar led_x=0;
17 uchar scan_code=0x01;
18
19 delay_ms(int ms)
20 {uchar i;
21 1 uint j;
22 1 for(j=2*ms;j>0;j--)
23 1 for(i=250;i>0;i--);
24 1
25 1 }
26
27
28 void scan_buf()
29 {
30 1 LED_SCAN_PORT=~scan_code;
31 1 LED_PORT=seg_table[led_buf[led_x]];
32 1 // delay_ms(5);
33 1 led_x++;
34 1 if (led_x>=MAX_LED) led_x=0;
35 1
36 1 scan_code<<=1;
37 1 if (scan_code>(01<<(MAX_LED-1))) scan_code=1;
38 1 }
39
40
41 void init_led()
42 {
43 1 uchar i;
44 1 for(i=0;i<MAX_LED;i++)
45 1 led_buf[i]=i;
46 1
47 1 TH0=T0H; TL0=T0L;
48 1 TMOD=0x01;
49 1 ET0=1;
50 1 EA=1;
51 1 TR0=1;
52 1 }
53
54
55 main()
C51 COMPILER V7.07 MAIN 09/22/2008 19:10:56 PAGE 2
56 {
57 1
58 1 init_led();
59 1 while(1)
60 1 {
61 2
62 2 // scan_buf();
63 2
64 2
65 2 }
66 1
67 1 }
68
69
70 void isr_timer0() interrupt 1
71 {
72 1
73 1 scan_buf();
74 1 TH0=T0H; TL0=T0L;
75 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 138 ----
CONSTANT SIZE = 17 ----
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 + -