first commit

This commit is contained in:
2018-05-06 01:59:21 +08:00
parent cc7062c42f
commit 1f1b94deb3
10 changed files with 2608 additions and 0 deletions

162
Listings/TimerDelay_1.lst Normal file
View File

@ -0,0 +1,162 @@
C51 COMPILER V9.54 TIMERDELAY_1 05/05/2018 23:36:54 PAGE 1
C51 COMPILER V9.54, COMPILATION OF MODULE TIMERDELAY_1
OBJECT MODULE PLACED IN .\Objects\TimerDelay_1.obj
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE TimerDelay_1.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listi
-ngs\TimerDelay_1.lst) TABS(2) OBJECT(.\Objects\TimerDelay_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_1ms();
11 void delay_1500ms();
12
13 // <20>ŧi<C5A7>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD><DCBE>
14 void Slect_Seg(unsigned char number);
15 void Display_Seg(unsigned char display);
16
17 //<2F>ŧi<C5A7>Ʀr<C6A6><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
18 char code NUM[10] = {
19 0x3F, // 0
20 0x06, // 1
21 0x5B, // 2
22 0x4F, // 3
23 0x66, // 4
24 0x6D, // 5
25 0x7D, // 6
26 0x07, // 7
27 0x7F, // 8
28 0x6F // 9
29 };
30
31 // <20>D<EFBFBD>{<7B><>
32 int main(){
33 1 // <20>]<5D>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
34 1 Slect_Seg(~0x01); // 0xfe <20>N<EFBFBD>O 11111110
35 1
36 1
37 1 // <20><><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>a<EFBFBD>j<EFBFBD><6A>
38 1 while(1) {
39 2 // <20><><EFBFBD>Ʀr<C6A6>q 0 - 9
40 2 int i;
41 2 for(i = 0; i < 10; i++) {
42 3 Display_Seg(NUM[i]);
43 3 delay_1500ms(); // <20><><EFBFBD><EFBFBD> 1.5 <20><>
44 3 }
45 2 }
46 1
47 1 }
48
49 void Slect_Seg(unsigned char number) {
50 1
51 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
52 1 P2_7 = 0;
53 1
54 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
C51 COMPILER V9.54 TIMERDELAY_1 05/05/2018 23:36:54 PAGE 2
55 1 P0 = number;
56 1
57 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
58 1 P2_7 = 1;
59 1
60 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>G)
61 1 delay_1ms();
62 1
63 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)
64 1 P2_7 = 0;
65 1 }
66
67 void Display_Seg(unsigned char display) {
68 1
69 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
70 1 P2_6 = 0;
71 1
72 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD>X
73 1 P0 = display;
74 1
75 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
76 1 P2_6 = 1;
77 1
78 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD>X)
79 1 delay_1ms();
80 1
81 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>)
82 1 P2_6 = 0;
83 1 }
84
85
86
87 // <20><><EFBFBD><EFBFBD> 1ms
88 void delay_1ms(void) {
89 1 //<2F>]<5D>w<EFBFBD><77> mode1
90 1 TMOD = 0x10;
91 1
92 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
93 1 TF1 = 0;
94 1 TR1 = 0;
95 1 TL1 = (65536 - 9) % 256;
96 1 TH1 = (65536 - 9) / 256;
97 1
98 1 //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD>
99 1 TR1 = 1;
100 1
101 1 //<2F><> TF1 <20>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
102 1 while(TF1 == 0);
103 1
104 1 //<2F><><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ɾ<EFBFBD>
105 1 TR1 = 0;
106 1
107 1 //<2F>N TF1 <20>k<EFBFBD>s
108 1 TF1 = 0;
109 1 }
110
111 // <20><><EFBFBD><EFBFBD> 1500ms
112 void delay_1500ms(void) {
113 1 //<2F>]<5D>w<EFBFBD><77> mode1
114 1 TMOD = 0x10;
115 1
116 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
C51 COMPILER V9.54 TIMERDELAY_1 05/05/2018 23:36:54 PAGE 3
117 1 TF1 = 0;
118 1 TR1 = 0;
119 1 TL1 = (65536 - 13824) % 256;
120 1 TH1 = (65536 - 13824) / 256;
121 1
122 1 //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD>
123 1 TR1 = 1;
124 1
125 1 //<2F><> TF1 <20>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
126 1 while(TF1 == 0);
127 1
128 1 //<2F><><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ɾ<EFBFBD>
129 1 TR1 = 0;
130 1
131 1 //<2F>N TF1 <20>k<EFBFBD>s
132 1 TF1 = 0;
133 1
134 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 122 ----
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)

156
Listings/TimerDelay_1.m51 Normal file
View File

@ -0,0 +1,156 @@
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:36:54 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\TimerDelay_1.obj TO .\Objects\TimerDelay_1 PRINT (.\Listings\TimerDelay_1.m51)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
.\Objects\TimerDelay_1.obj (TIMERDELAY_1)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP)
LINK MAP OF MODULE: .\Objects\TimerDelay_1 (TIMERDELAY_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 0034H UNIT ?PR?MAIN?TIMERDELAY_1
CODE 0834H 0017H UNIT ?PR?DELAY_1MS?TIMERDELAY_1
CODE 084BH 0017H UNIT ?PR?DELAY_1500MS?TIMERDELAY_1
CODE 0862H 000CH UNIT ?PR?_SLECT_SEG?TIMERDELAY_1
CODE 086EH 000CH UNIT ?PR?_DISPLAY_SEG?TIMERDELAY_1
CODE 087AH 000CH UNIT ?C_C51STARTUP
CODE 0886H 000AH UNIT ?CO?TIMERDELAY_1
OVERLAY MAP OF MODULE: .\Objects\TimerDelay_1 (TIMERDELAY_1)
SEGMENT DATA_GROUP
+--> CALLED SEGMENT START LENGTH
-----------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?TIMERDELAY_1
?PR?MAIN?TIMERDELAY_1 0008H 0002H
+--> ?PR?_SLECT_SEG?TIMERDELAY_1
+--> ?CO?TIMERDELAY_1
+--> ?PR?_DISPLAY_SEG?TIMERDELAY_1
+--> ?PR?DELAY_1500MS?TIMERDELAY_1
?PR?_SLECT_SEG?TIMERDELAY_1 ----- -----
+--> ?PR?DELAY_1MS?TIMERDELAY_1
?PR?_DISPLAY_SEG?TIMERDELAY_1 ----- -----
+--> ?PR?DELAY_1MS?TIMERDELAY_1
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:36:54 PAGE 2
SYMBOL TABLE OF MODULE: .\Objects\TimerDelay_1 (TIMERDELAY_1)
VALUE TYPE NAME
----------------------------------
------- MODULE TIMERDELAY_1
C:0000H SYMBOL _ICE_DUMMY_
C:0862H PUBLIC _Slect_Seg
D:0080H PUBLIC P0
D:00A0H PUBLIC P2
C:0834H PUBLIC delay_1ms
B:00A0H.6 PUBLIC P2_6
B:00A0H.7 PUBLIC P2_7
C:084BH PUBLIC delay_1500ms
C:0800H PUBLIC main
D:0089H PUBLIC TMOD
B:0088H.7 PUBLIC TF1
D:008DH PUBLIC TH1
D:008BH PUBLIC TL1
B:0088H.6 PUBLIC TR1
C:086EH PUBLIC _Display_Seg
C:0886H PUBLIC NUM
------- PROC MAIN
------- DO
D:0008H SYMBOL i
------- ENDDO
C:0800H LINE# 32
C:0800H LINE# 34
C:0805H LINE# 38
C:0805H LINE# 41
C:080AH LINE# 42
C:081CH LINE# 43
C:081FH LINE# 44
------- ENDPROC MAIN
------- PROC _SLECT_SEG
D:0007H SYMBOL number
C:0862H LINE# 49
C:0862H LINE# 52
C:0864H LINE# 55
C:0866H LINE# 58
C:0868H LINE# 61
C:086BH LINE# 64
C:086DH LINE# 65
------- ENDPROC _SLECT_SEG
------- PROC _DISPLAY_SEG
D:0007H SYMBOL display
C:086EH LINE# 67
C:086EH LINE# 70
C:0870H LINE# 73
C:0872H LINE# 76
C:0874H LINE# 79
C:0877H LINE# 82
C:0879H LINE# 83
------- ENDPROC _DISPLAY_SEG
------- PROC DELAY_1MS
C:0834H LINE# 88
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:36:54 PAGE 3
C:0834H LINE# 90
C:0837H LINE# 93
C:0839H LINE# 94
C:083BH LINE# 95
C:083EH LINE# 96
C:0841H LINE# 99
C:0843H LINE# 102
C:0846H LINE# 105
C:0848H LINE# 108
C:084AH LINE# 109
------- ENDPROC DELAY_1MS
------- PROC DELAY_1500MS
C:084BH LINE# 112
C:084BH LINE# 114
C:084EH LINE# 117
C:0850H LINE# 118
C:0852H LINE# 119
C:0855H LINE# 120
C:0858H LINE# 123
C:085AH LINE# 126
C:085DH LINE# 129
C:085FH LINE# 132
C:0861H LINE# 134
------- ENDPROC DELAY_1500MS
------- ENDMOD TIMERDELAY_1
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0084H BYTE ( 6%) *
******************************************************************************
Program Size: data=11.0 xdata=0 code=147
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)