📄 led.lst
字号:
C51 COMPILER V8.02 LED 12/06/2010 22:41:12 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 typedef unsigned char uint8;
3 typedef unsigned int uint16;
4 typedef unsigned long uint32;
5
6 code uint8 graph[] = {0xFF,0x99,0x00,0x00,0x00,0x81,0xC3,0xE7};
7 sbit ENLED = P1^4;
8 sbit ADDR0 = P1^0;
9 sbit ADDR1 = P1^1;
10 sbit ADDR2 = P1^2;
11 sbit ADDR3 = P1^3;
12
13
14 void timer1_init()
15 {
16 1 TMOD |= 0x10;
17 1 TMOD &= 0xdf;
18 1 TH1 = 0xFC;
19 1 TL1 = 0x67;
20 1 TR1 = 1;
21 1 }
22 void int_init()
23 {
24 1 ET1 = 1;
25 1 EA = 1;
26 1 }
27 void refresh_led()
28 {
29 1 static uint8 j = 0;
30 1 switch(j)
31 1 {
32 2 case 0: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;break;
33 2 case 1: ADDR0 = 1;ADDR1 = 0;ADDR2 = 0;break;
34 2 case 2: ADDR0 = 0;ADDR1 = 1;ADDR2 = 0;break;
35 2 case 3: ADDR0 = 1;ADDR1 = 1;ADDR2 = 0;break;
36 2 case 4: ADDR0 = 0;ADDR1 = 0;ADDR2 = 1;break;
37 2 case 5: ADDR0 = 1;ADDR1 = 0;ADDR2 = 1;break;
38 2 case 6: ADDR0 = 0;ADDR1 = 1;ADDR2 = 1;break;
39 2 case 7: ADDR0 = 1;ADDR1 = 1;ADDR2 = 1;break;
40 2 default: break;
41 2 }
42 1 P0 = graph[j];
43 1 if(7 == j++) j = 0;
44 1
45 1
46 1 }
47
48 main()
49 {
50 1 ENLED = 0; ADDR3 = 0;
51 1 timer1_init();
52 1 int_init();
53 1 while(1);
54 1
55 1 }
C51 COMPILER V8.02 LED 12/06/2010 22:41:12 PAGE 2
56 void interrupt_timer1() interrupt 3
57 {
58 1 TH1 = 0xFC;
59 1 TL1 = 0x67;
60 1 refresh_led();
61 1
62 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 173 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -