first commit

This commit is contained in:
2018-05-06 02:01:36 +08:00
parent c648a60d4c
commit 445c21a559
9 changed files with 2435 additions and 0 deletions

167
Listings/TimerDelay_2.lst Normal file
View File

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

171
Listings/TimerDelay_2.m51 Normal file
View File

@ -0,0 +1,171 @@
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:54:22 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\TimerDelay_2.obj TO .\Objects\TimerDelay_2 PRINT (.\Listings\TimerDelay_2.m51)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
.\Objects\TimerDelay_2.obj (TIMERDELAY_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\TimerDelay_2 (TIMERDELAY_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 0056H UNIT ?PR?MAIN?TIMERDELAY_2
CODE 08E1H 0017H UNIT ?PR?DELAY_1MS?TIMERDELAY_2
CODE 08F8H 0017H UNIT ?PR?DELAY_1500MS?TIMERDELAY_2
CODE 090FH 0010H UNIT ?CO?TIMERDELAY_2
CODE 091FH 000CH UNIT ?PR?_SLECT_SEG?TIMERDELAY_2
CODE 092BH 000CH UNIT ?PR?_DISPLAY_SEG?TIMERDELAY_2
CODE 0937H 000CH UNIT ?C_C51STARTUP
OVERLAY MAP OF MODULE: .\Objects\TimerDelay_2 (TIMERDELAY_2)
SEGMENT DATA_GROUP
+--> CALLED SEGMENT START LENGTH
-----------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?TIMERDELAY_2
?PR?MAIN?TIMERDELAY_2 0008H 0004H
+--> ?CO?TIMERDELAY_2
+--> ?PR?_SLECT_SEG?TIMERDELAY_2
+--> ?PR?_DISPLAY_SEG?TIMERDELAY_2
+--> ?PR?DELAY_1500MS?TIMERDELAY_2
?PR?_SLECT_SEG?TIMERDELAY_2 ----- -----
+--> ?PR?DELAY_1MS?TIMERDELAY_2
?PR?_DISPLAY_SEG?TIMERDELAY_2 ----- -----
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:54:22 PAGE 2
+--> ?PR?DELAY_1MS?TIMERDELAY_2
SYMBOL TABLE OF MODULE: .\Objects\TimerDelay_2 (TIMERDELAY_2)
VALUE TYPE NAME
----------------------------------
------- MODULE TIMERDELAY_2
C:0000H SYMBOL _ICE_DUMMY_
C:091FH PUBLIC _Slect_Seg
D:0080H PUBLIC P0
D:00A0H PUBLIC P2
C:08E1H PUBLIC delay_1ms
B:00A0H.6 PUBLIC P2_6
B:00A0H.7 PUBLIC P2_7
C:08F8H PUBLIC delay_1500ms
C:088BH 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:092BH PUBLIC _Display_Seg
C:090FH PUBLIC NUM
C:0919H PUBLIC POS
------- PROC MAIN
------- DO
D:0008H SYMBOL i
D:000AH SYMBOL j
------- ENDDO
C:088BH LINE# 42
C:088BH LINE# 44
C:0890H LINE# 46
C:0890H LINE# 47
C:08A2H LINE# 48
C:08B4H LINE# 49
C:08B7H LINE# 50
C:08CBH LINE# 51
C:08DFH LINE# 52
------- ENDPROC MAIN
------- PROC _SLECT_SEG
D:0007H SYMBOL number
C:091FH LINE# 55
C:091FH LINE# 58
C:0921H LINE# 61
C:0923H LINE# 64
C:0925H LINE# 67
C:0928H LINE# 70
C:092AH LINE# 71
------- ENDPROC _SLECT_SEG
------- PROC _DISPLAY_SEG
D:0007H SYMBOL display
C:092BH LINE# 73
C:092BH LINE# 76
C:092DH LINE# 79
BL51 BANKED LINKER/LOCATER V6.22 05/05/2018 23:54:22 PAGE 3
C:092FH LINE# 82
C:0931H LINE# 85
C:0934H LINE# 88
C:0936H LINE# 89
------- ENDPROC _DISPLAY_SEG
------- PROC DELAY_1MS
C:08E1H LINE# 93
C:08E1H LINE# 95
C:08E4H LINE# 98
C:08E6H LINE# 99
C:08E8H LINE# 100
C:08EBH LINE# 101
C:08EEH LINE# 104
C:08F0H LINE# 107
C:08F3H LINE# 110
C:08F5H LINE# 113
C:08F7H LINE# 114
------- ENDPROC DELAY_1MS
------- PROC DELAY_1500MS
C:08F8H LINE# 117
C:08F8H LINE# 119
C:08FBH LINE# 122
C:08FDH LINE# 123
C:08FFH LINE# 124
C:0902H LINE# 125
C:0905H LINE# 128
C:0907H LINE# 131
C:090AH LINE# 134
C:090CH LINE# 137
C:090EH LINE# 139
------- ENDPROC DELAY_1500MS
------- ENDMOD TIMERDELAY_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: 00ACH BYTE ( 8%) *
******************************************************************************
Program Size: data=13.0 xdata=0 code=326
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)