first commit

This commit is contained in:
2018-05-13 17:25:41 +08:00
parent dcd2b8ec78
commit be65a42cb8
10 changed files with 2260 additions and 0 deletions

101
Listings/Interrupt_1.lst Executable file
View File

@ -0,0 +1,101 @@
C51 COMPILER V9.54 INTERRUPT_1 05/13/2018 16:58:21 PAGE 1
C51 COMPILER V9.54, COMPILATION OF MODULE INTERRUPT_1
OBJECT MODULE PLACED IN .\Objects\Interrupt_1.obj
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Interrupt_1.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listin
-gs\Interrupt_1.lst) TABS(2) OBJECT(.\Objects\Interrupt_1.obj)
line level source
1 // Timer 0 take as interrupt
2 // Timer 1 take as delay
3
4 #include <reg51.h>
5
6 // <20>ŧi<C5A7><69><EFBFBD>ɨ禡
7 void delay10ms(void);
8
9 unsigned int timer0_counter = 150;
10
11 void main(void){
12 1
13 1 //<2F>}<7D><> Timer0 <20>M Timer1
14 1 TMOD = 0x11;
15 1
16 1 //interrupt control
17 1 TL0 = (65536 - 9216) % 256;
18 1 TH0 = (65536 - 9216) / 256;
19 1 TF0 = 0;
20 1 TR0 = 1; //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer0
21 1 ET0 = 1; //<2F>}<7D><> TF0 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ҳն}<7D><>
22 1 EA = 1; //<2F>}<7D>Ҥ<EFBFBD><D2A4>_<EFBFBD>Ҳ<EFBFBD><D2B2>`<60>}<7D><>
23 1
24 1 delay10ms();
25 1
26 1 while(1){
27 2 // do LED move up to down per 1.5 sec
28 2 // using Timer 1 Mode 1 to generate 10ms delay
29 2 }
30 1 }
31
32
33 void delay10ms(void){
34 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
35 1 TF1 = 0;
36 1 TR1 = 0;
37 1 TL1 = (65536-9216) % 256;
38 1 TH1 = (65536-9216) / 256;
39 1
40 1 //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer1
41 1 TR1 = 1;
42 1
43 1 //<2F><> TF1 <20>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
44 1 while(TF1 == 0);
45 1
46 1 //<2F><><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ɾ<EFBFBD>
47 1 TR1 = 0;
48 1
49 1 //<2F>N TF1 <20>k<EFBFBD>s
50 1 TF1 = 0;
51 1 }
52
53
54 // timer0 <20>b<EFBFBD>p<EFBFBD>ɨ쪺<C9A8>ɭ<EFBFBD>(TF0 = 1)<29>|<7C>I<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ƨ禡
C51 COMPILER V9.54 INTERRUPT_1 05/13/2018 16:58:21 PAGE 2
55 void my_timer0(void) interrupt 1 {
56 1
57 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
58 1 TL0 = (65536 - 9216) % 256;
59 1 TH0 = (65536 - 9216) / 256;
60 1 TF0 = 0;
61 1
62 1 // timer0_counter <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
63 1 timer0_counter--;
64 1
65 1
66 1 //<2F><> timer0_counter <20><> 0 <20>ɡA<C9A1><41><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
67 1 if (timer0_counter == 0){
68 2 // <20><><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
69 2
70 2
71 2 //<2F>N timer0_counter <20><><EFBFBD>ȳ]<5D>^ 150
72 2 timer0_counter = 150;
73 2
74 2 }
75 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 74 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)

127
Listings/Interrupt_1.m51 Executable file
View File

@ -0,0 +1,127 @@
BL51 BANKED LINKER/LOCATER V6.22 05/13/2018 16:58:21 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\Interrupt_1.obj TO .\Objects\Interrupt_1 PRINT (.\Listings\Interrupt_1.m51)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
.\Objects\Interrupt_1.obj (INTERRUPT_1)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP)
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT)
LINK MAP OF MODULE: .\Objects\Interrupt_1 (INTERRUPT_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 ?DT?INTERRUPT_1
IDATA 000AH 0001H UNIT ?STACK
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
0003H 0008H *** GAP ***
CODE 000BH 0003H ABSOLUTE
000EH 07F2H *** GAP ***
CODE 0800H 008CH UNIT ?C_C51STARTUP
CODE 088CH 0020H UNIT ?PR?MY_TIMER0?INTERRUPT_1
CODE 08ACH 0016H UNIT ?PR?MAIN?INTERRUPT_1
CODE 08C2H 0014H UNIT ?PR?DELAY10MS?INTERRUPT_1
CODE 08D6H 0005H UNIT ?C_INITSEG
OVERLAY MAP OF MODULE: .\Objects\Interrupt_1 (INTERRUPT_1)
SEGMENT
+--> CALLED SEGMENT
---------------------
?C_C51STARTUP
+--> ?PR?MAIN?INTERRUPT_1
+--> ?C_INITSEG
?PR?MAIN?INTERRUPT_1
+--> ?PR?DELAY10MS?INTERRUPT_1
SYMBOL TABLE OF MODULE: .\Objects\Interrupt_1 (INTERRUPT_1)
VALUE TYPE NAME
----------------------------------
------- MODULE INTERRUPT_1
BL51 BANKED LINKER/LOCATER V6.22 05/13/2018 16:58:21 PAGE 2
C:0000H SYMBOL _ICE_DUMMY_
B:00A8H.7 PUBLIC EA
C:088CH PUBLIC my_timer0
C:08ACH PUBLIC main
D:0089H PUBLIC TMOD
D:0008H PUBLIC timer0_counter
B:00A8H.1 PUBLIC ET0
B:0088H.5 PUBLIC TF0
B:0088H.7 PUBLIC TF1
D:008CH PUBLIC TH0
D:008DH PUBLIC TH1
D:008AH PUBLIC TL0
D:008BH PUBLIC TL1
C:08C2H PUBLIC delay10ms
B:0088H.4 PUBLIC TR0
B:0088H.6 PUBLIC TR1
------- PROC MAIN
C:08ACH LINE# 11
C:08ACH LINE# 14
C:08AFH LINE# 17
C:08B2H LINE# 18
C:08B5H LINE# 19
C:08B7H LINE# 20
C:08B9H LINE# 21
C:08BBH LINE# 22
C:08BDH LINE# 24
C:08C0H LINE# 26
C:08C0H LINE# 29
------- ENDPROC MAIN
------- PROC DELAY10MS
C:08C2H LINE# 33
C:08C2H LINE# 35
C:08C4H LINE# 36
C:08C6H LINE# 37
C:08C9H LINE# 38
C:08CCH LINE# 41
C:08CEH LINE# 44
C:08D1H LINE# 47
C:08D3H LINE# 50
C:08D5H LINE# 51
------- ENDPROC DELAY10MS
------- PROC MY_TIMER0
C:088CH LINE# 55
C:088EH LINE# 58
C:0891H LINE# 59
C:0894H LINE# 60
C:0896H LINE# 63
C:089EH LINE# 67
C:08A4H LINE# 72
C:08A9H LINE# 74
C:08A9H LINE# 75
------- ENDPROC MY_TIMER0
------- ENDMOD INTERRUPT_1
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0051H BYTE ( 3%) *
******************************************************************************
BL51 BANKED LINKER/LOCATER V6.22 05/13/2018 16:58:21 PAGE 3
Program Size: data=11.0 xdata=0 code=225
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)