first commit

This commit is contained in:
2018-05-06 01:52:40 +08:00
parent 4aa0b1e0a3
commit 2532b00c47
9 changed files with 2323 additions and 0 deletions

121
Listings/Segment_2.lst Normal file
View File

@ -0,0 +1,121 @@
C51 COMPILER V9.54 SEGMENT_2 05/05/2018 22:03:39 PAGE 1
C51 COMPILER V9.54, COMPILATION OF MODULE SEGMENT_2
OBJECT MODULE PLACED IN .\Objects\Segment_2.obj
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Segment_2.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings
-\Segment_2.lst) TABS(2) OBJECT(.\Objects\Segment_2.obj)
line level source
1 //<2F>Ĥ@<40><><EFBFBD>C<EFBFBD>`<60>X<EFBFBD>G<EFBFBD><47><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>C<EFBFBD>`<60>X<EFBFBD>A<EFBFBD>ä@<40><><EFBFBD><EFBFBD><EFBFBD>Ƴo<C6B3>ӹL<D3B9>{ <20>A<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><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 char code POS[6] = {
31 ~0x01, // 0xfe <20>N<EFBFBD>O 11111110
32 ~0x02, // 0000 0010
33 ~0x04, // 0000 0100
34 ~0x08, // 0000 1000
35 ~0x10, // 0001 0000
36 ~0x20 // 0010 0000
37 };
38
39
40 // <20>D<EFBFBD>{<7B><>
41 int main(){
42 1
43 1 int i, j = 0;
44 1 // <20><><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>a<EFBFBD>j<EFBFBD><6A>
45 1 while(1) {
46 2 Slect_Seg(POS[i]); // <20>]<5D>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
47 2 Display_Seg(NUM[j]); // <20><><EFBFBD>Ʀr
48 2 delay(1500); // <20><><EFBFBD><EFBFBD> 1.5 <20><>
49 2 i = (i + 1) % 6;
50 2 j = (j + 1) % 10;
51 2 }
52 1 }
53
54 void Slect_Seg(unsigned char number) {
C51 COMPILER V9.54 SEGMENT_2 05/05/2018 22:03:39 PAGE 2
55 1
56 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
57 1 P2_7 = 0;
58 1
59 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
60 1 P0 = number;
61 1
62 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
63 1 P2_7 = 1;
64 1
65 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>G)
66 1 delay(1);
67 1
68 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)
69 1 P2_7 = 0;
70 1 }
71
72 void Display_Seg(unsigned char display) {
73 1
74 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
75 1 P2_6 = 0;
76 1
77 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD>X
78 1 P0 = display;
79 1
80 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
81 1 P2_6 = 1;
82 1
83 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD>X)
84 1 delay(1);
85 1
86 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>)
87 1 P2_6 = 0;
88 1 }
89
90 // <20><><EFBFBD><EFBFBD>
91 void delay(int time) {
92 1 unsigned int i, j;
93 1 for (i = 0; i < time; i++)
94 1 for (j = 0; j < 120; j++);
95 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 154 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)

149
Listings/Segment_2.m51 Normal file
View File

@ -0,0 +1,149 @@
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:03:39 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\Segment_2.obj TO .\Objects\Segment_2 PRINT (.\Listings\Segment_2.m51)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
.\Objects\Segment_2.obj (SEGMENT_2)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV)
LINK MAP OF MODULE: .\Objects\Segment_2 (SEGMENT_2)
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 0004H UNIT _DATA_GROUP_
IDATA 000CH 0001H UNIT ?STACK
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
0003H 07FDH *** GAP ***
CODE 0800H 008BH UNIT ?C?LIB_CODE
CODE 088BH 005AH UNIT ?PR?MAIN?SEGMENT_2
CODE 08E5H 0020H UNIT ?PR?_DELAY?SEGMENT_2
CODE 0905H 0010H UNIT ?PR?_SLECT_SEG?SEGMENT_2
CODE 0915H 0010H UNIT ?PR?_DISPLAY_SEG?SEGMENT_2
CODE 0925H 0010H UNIT ?CO?SEGMENT_2
CODE 0935H 000CH UNIT ?C_C51STARTUP
OVERLAY MAP OF MODULE: .\Objects\Segment_2 (SEGMENT_2)
SEGMENT DATA_GROUP
+--> CALLED SEGMENT START LENGTH
--------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?SEGMENT_2
?PR?MAIN?SEGMENT_2 0008H 0004H
+--> ?CO?SEGMENT_2
+--> ?PR?_SLECT_SEG?SEGMENT_2
+--> ?PR?_DISPLAY_SEG?SEGMENT_2
+--> ?PR?_DELAY?SEGMENT_2
?PR?_SLECT_SEG?SEGMENT_2 ----- -----
+--> ?PR?_DELAY?SEGMENT_2
?PR?_DISPLAY_SEG?SEGMENT_2 ----- -----
+--> ?PR?_DELAY?SEGMENT_2
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:03:39 PAGE 2
SYMBOL TABLE OF MODULE: .\Objects\Segment_2 (SEGMENT_2)
VALUE TYPE NAME
----------------------------------
------- MODULE SEGMENT_2
C:0000H SYMBOL _ICE_DUMMY_
C:0905H PUBLIC _Slect_Seg
D:0080H PUBLIC P0
D:00A0H PUBLIC P2
C:08E5H PUBLIC _delay
B:00A0H.6 PUBLIC P2_6
B:00A0H.7 PUBLIC P2_7
C:088BH PUBLIC main
C:0915H PUBLIC _Display_Seg
C:0925H PUBLIC NUM
C:092FH PUBLIC POS
------- PROC MAIN
------- DO
D:0008H SYMBOL i
D:000AH SYMBOL j
------- ENDDO
C:088BH LINE# 41
C:088BH LINE# 43
C:0890H LINE# 45
C:0890H LINE# 46
C:08A2H LINE# 47
C:08B4H LINE# 48
C:08BBH LINE# 49
C:08CFH LINE# 50
C:08E3H LINE# 51
------- ENDPROC MAIN
------- PROC _SLECT_SEG
D:0007H SYMBOL number
C:0905H LINE# 54
C:0905H LINE# 57
C:0907H LINE# 60
C:0909H LINE# 63
C:090BH LINE# 66
C:0912H LINE# 69
C:0914H LINE# 70
------- ENDPROC _SLECT_SEG
------- PROC _DISPLAY_SEG
D:0007H SYMBOL display
C:0915H LINE# 72
C:0915H LINE# 75
C:0917H LINE# 78
C:0919H LINE# 81
C:091BH LINE# 84
C:0922H LINE# 87
C:0924H LINE# 88
------- ENDPROC _DISPLAY_SEG
------- PROC _DELAY
D:0006H SYMBOL time
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 22:03:39 PAGE 3
------- DO
D:0004H SYMBOL i
D:0002H SYMBOL j
------- ENDDO
C:08E5H LINE# 91
C:08E5H LINE# 93
C:08EFH LINE# 94
C:0904H LINE# 95
------- ENDPROC _DELAY
------- ENDMOD SEGMENT_2
------- MODULE ?C?SIDIV
C:0800H PUBLIC ?C?SIDIV
------- ENDMOD ?C?SIDIV
------- MODULE ?C?UIDIV
C:0836H PUBLIC ?C?UIDIV
------- ENDMOD ?C?UIDIV
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 00AAH BYTE ( 8%) *
******************************************************************************
Program Size: data=13.0 xdata=0 code=324
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)