first commit

This commit is contained in:
2018-05-06 01:49:17 +08:00
parent 1da01cf5f0
commit 3d0281f4c9
11 changed files with 3829 additions and 0 deletions

134
Listings/Segment.m51 Normal file
View File

@ -0,0 +1,134 @@
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:08:09 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\Segment_1.obj TO .\Objects\Segment PRINT (.\Listings\Segment.m51)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
.\Objects\Segment_1.obj (SEGMENT_1)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP)
LINK MAP OF MODULE: .\Objects\Segment (SEGMENT_1)
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0002H UNIT _DATA_GROUP_
IDATA 000AH 0001H UNIT ?STACK
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
0003H 07FDH *** GAP ***
CODE 0800H 0038H UNIT ?PR?MAIN?SEGMENT_1
CODE 0838H 0020H UNIT ?PR?_DELAY?SEGMENT_1
CODE 0858H 0010H UNIT ?PR?_SLECT_SEG?SEGMENT_1
CODE 0868H 0010H UNIT ?PR?_DISPLAY_SEG?SEGMENT_1
CODE 0878H 000CH UNIT ?C_C51STARTUP
CODE 0884H 000AH UNIT ?CO?SEGMENT_1
OVERLAY MAP OF MODULE: .\Objects\Segment (SEGMENT_1)
SEGMENT DATA_GROUP
+--> CALLED SEGMENT START LENGTH
--------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?SEGMENT_1
?PR?MAIN?SEGMENT_1 0008H 0002H
+--> ?PR?_SLECT_SEG?SEGMENT_1
+--> ?CO?SEGMENT_1
+--> ?PR?_DISPLAY_SEG?SEGMENT_1
+--> ?PR?_DELAY?SEGMENT_1
?PR?_SLECT_SEG?SEGMENT_1 ----- -----
+--> ?PR?_DELAY?SEGMENT_1
?PR?_DISPLAY_SEG?SEGMENT_1 ----- -----
+--> ?PR?_DELAY?SEGMENT_1
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:08:09 PAGE 2
SYMBOL TABLE OF MODULE: .\Objects\Segment (SEGMENT_1)
VALUE TYPE NAME
----------------------------------
------- MODULE SEGMENT_1
C:0000H SYMBOL _ICE_DUMMY_
C:0858H PUBLIC _Slect_Seg
D:0080H PUBLIC P0
D:00A0H PUBLIC P2
C:0838H PUBLIC _delay
B:00A0H.6 PUBLIC P2_6
B:00A0H.7 PUBLIC P2_7
C:0800H PUBLIC main
C:0868H PUBLIC _Display_Seg
C:0884H PUBLIC NUM
------- PROC MAIN
------- DO
D:0008H SYMBOL i
------- ENDDO
C:0800H LINE# 31
C:0800H LINE# 33
C:0805H LINE# 37
C:0805H LINE# 40
C:080AH LINE# 41
C:081CH LINE# 42
C:0823H LINE# 43
------- ENDPROC MAIN
------- PROC _SLECT_SEG
D:0007H SYMBOL number
C:0858H LINE# 48
C:0858H LINE# 51
C:085AH LINE# 54
C:085CH LINE# 57
C:085EH LINE# 60
C:0865H LINE# 63
C:0867H LINE# 64
------- ENDPROC _SLECT_SEG
------- PROC _DISPLAY_SEG
D:0007H SYMBOL display
C:0868H LINE# 66
C:0868H LINE# 69
C:086AH LINE# 72
C:086CH LINE# 75
C:086EH LINE# 78
C:0875H LINE# 81
C:0877H LINE# 82
------- ENDPROC _DISPLAY_SEG
------- PROC _DELAY
D:0006H SYMBOL time
------- DO
D:0004H SYMBOL i
D:0002H SYMBOL j
------- ENDDO
C:0838H LINE# 85
C:0838H LINE# 87
C:0842H LINE# 88
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:08:09 PAGE 3
C:0857H LINE# 89
------- ENDPROC _DELAY
------- ENDMOD SEGMENT_1
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0082H BYTE ( 6%) *
******************************************************************************
Program Size: data=11.0 xdata=0 code=145
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)

115
Listings/Segment_1.lst Normal file
View File

@ -0,0 +1,115 @@
C51 COMPILER V9.54 SEGMENT_1 05/05/2018 22:08:09 PAGE 1
C51 COMPILER V9.54, COMPILATION OF MODULE SEGMENT_1
OBJECT MODULE PLACED IN .\Objects\Segment_1.obj
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Segment_1.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings
-\Segment_1.lst) TABS(2) OBJECT(.\Objects\Segment_1.obj)
line level source
1 //<2F>P<EFBFBD>@<40><><EFBFBD>C<EFBFBD>`<60>X<EFBFBD><58><EFBFBD><EFBFBD> 0 - 9<>A<EFBFBD>C<EFBFBD>Ӹ<EFBFBD><D3B8>X<EFBFBD><58><EFBFBD>d 1.5 <20><>
2
3 #include <reg51.h>
4
5 // <20>ŧi D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><CFBE>󱵸}
6 sbit P2_6 = P2^6;
7 sbit P2_7 = P2^7;
8
9 // <20>ŧi<C5A7><69><EFBFBD>ɨ禡
10 void delay(int);
11
12 // <20>ŧi<C5A7>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD><DCBE>
13 void Slect_Seg(unsigned char number);
14 void Display_Seg(unsigned char display);
15
16 //<2F>ŧi<C5A7>Ʀr<C6A6><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
17 char code NUM[10] = {
18 0x3F, // 0
19 0x06, // 1
20 0x5B, // 2
21 0x4F, // 3
22 0x66, // 4
23 0x6D, // 5
24 0x7D, // 6
25 0x07, // 7
26 0x7F, // 8
27 0x6F // 9
28 };
29
30 // <20>D<EFBFBD>{<7B><>
31 int main(){
32 1 // <20>]<5D>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
33 1 Slect_Seg(~0x01); // 0xfe <20>N<EFBFBD>O 11111110
34 1
35 1
36 1 // <20><><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>a<EFBFBD>j<EFBFBD><6A>
37 1 while(1) {
38 2 // <20><><EFBFBD>Ʀr<C6A6>q 0 - 9
39 2 int i;
40 2 for(i = 0; i < 10; i++) {
41 3 Display_Seg(NUM[i]);
42 3 delay(1500); // <20><><EFBFBD><EFBFBD> 1.5 <20><>
43 3 }
44 2 }
45 1
46 1 }
47
48 void Slect_Seg(unsigned char number) {
49 1
50 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
51 1 P2_7 = 0;
52 1
53 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
54 1 P0 = number;
C51 COMPILER V9.54 SEGMENT_1 05/05/2018 22:08:09 PAGE 2
55 1
56 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
57 1 P2_7 = 1;
58 1
59 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>G)
60 1 delay(1);
61 1
62 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>w<EFBFBD>G)
63 1 P2_7 = 0;
64 1 }
65
66 void Display_Seg(unsigned char display) {
67 1
68 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
69 1 P2_6 = 0;
70 1
71 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD>X
72 1 P0 = display;
73 1
74 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
75 1 P2_6 = 1;
76 1
77 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD>X)
78 1 delay(1);
79 1
80 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>T<EFBFBD>w<EFBFBD><77>)
81 1 P2_6 = 0;
82 1 }
83
84 // <20><><EFBFBD><EFBFBD>
85 void delay(int time) {
86 1 unsigned int i, j;
87 1 for (i = 0; i < time; i++)
88 1 for (j = 0; j < 120; j++);
89 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 120 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)