📄 intr_init.lst
字号:
C51 COMPILER V6.00i INTR_INIT 10/22/2004 09:48:50 PAGE 1
C51 COMPILER 6.00i, COMPILATION OF MODULE INTR_INIT
OBJECT MODULE PLACED IN intr_init.OBJ
COMPILER INVOKED BY: G:\mc89c51\keilc51\Bin\C51.EXE intr_init.C DB OE LARGE ROM(LARGE)
stmt level source
1 #include <reg52.h>
2
3 #include "type.h"
4 #include "intr_init.h"
5
6
7 /*
8 void CommInit(void)
9 {
10 SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr
11 TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload
12 PCON = 0x0; //SMOD=0;
13 TH1 = 0xfa; //Baud:9600 fosc=22.1184MHZ
14 IE |= 0x90; //Enable Serial Interrupt
15 TR1 = 1; // timer 1 run
16 }
17 */
18
19 void CommInit(uint8 baud)
20 {
21 1 SCON &= _00001100; // D7-6 SM0-1 00 shift recoder f/12
22 1 // 01 8-bits UART config
23 1 // 10 9-bits UART f/64 or f/32
24 1 // 11 9-bits UART config
25 1 // D5 SM2 0=signal, 1=multiple
26 1 // D4 REN receive enable
27 1 // D3 TB8 Tx 9th bit
28 1 // D2 RB8 Rx 9th bit
29 1 // D1 TI Tx inetrrupt flag
30 1 // D0 RI Rx interrupt flag
31 1 SCON |= _01010000; // 8-bits UART,Rx enable.
32 1
33 1
34 1 // PCON |= _10000000; // D7 SMOD 1 19200 BPS
35 1 PCON &= _00000000; // D7 SMOD 0 below 9600 bps
36 1
37 1
38 1 TMOD &= _00001111; // D7,3 GATE
39 1 // D6,2 C/T 1=Counter, 0=Timer
40 1 // D5-4,1-9 MODE 00 13-counter
41 1 // 01 16-counter
42 1 // 10 8-auto_load
43 1 // 11 8-counter * 2
44 1 TMOD |= _00100000; // TIMER1, 8-auto_load Timer
45 1 //TH1 = 0xfa; // Fosc=22.1184MHZ,serial mode 1 and 3 BAUDRATE = (2smod*Fosc)/(32*12*(2k-TH1))
- k=8
46 1 TH1 = baud;
47 1 TR1 = 1;
48 1
49 1 ES = 1; // interrupt disable/enable
50 1 PS = 0; // low parity
51 1 RI = 0; // clear Rx inerrupt flag
52 1 TI = 1; // set TI to send first char of UART
53 1 // see putchar.c
54 1 } // end of CommInit()
C51 COMPILER V6.00i INTR_INIT 10/22/2004 09:48:50 PAGE 2
55
56 //#if 0
57 void Ext0Init(void )
58 {
59 1 IT0 = 1; // 0=level , 1=edge
60 1 PX0 = 0; // 0=low , 1=high parity
61 1 EX0 = 1; // 0=disable, 1=enable interrupt
62 1
63 1 } // end of Ext0Init()
64 //#endif
65
66 void Ext1Init(void )
67 {
68 1 IT1 = 0; // 0:level ; 1:edge
69 1 PX1 = 1; // 0:low ; 1:high parity
70 1 EX1 = 1; // 0:disable ; 1:enable interrupt
71 1
72 1 } // end of Ext1Init()
73
74 void Tmr0Init(uint16 tmr)
75 {
76 1 TMOD &= _11110000; // D7,3 GATE
77 1 // D6,2 C/T 1=Counter, 0=Timer
78 1 // D5-4,1-0 MODE 00 13-counter
79 1 // 01 16-counter
80 1 // 10 8-auto_load
81 1 // 11 8-counter * 2
82 1 TMOD |= _00000001; // MODE1 16 counter
83 1
84 1 TH0 = HIBYTE(tmr);
85 1 TL0 = LOBYTE(tmr);
86 1
87 1 ET0 = 1; // interrupt enable
88 1 PT0 = 0; // low parity
89 1 TR0 = 1; // start T0
90 1
91 1 } // end of Tmr0Init()
92
93
94
95 #if 0
void Tmr1Init(uint16 tmr)
{
// TMOD &= ~_11110000; // D7,3 GATE
// D6,2 C/T 1=Counter, 0=Timer
// D5-4,1-9 MODE 00 13-counter
// 01 16-counter
// 10 8-auto_load
// 11 8-counter * 2
// TMOD |= _00100000; // MODE3 Separate Timer0 (8-bits)
TH0=256-tmr;
TF1=0;
ET1 = 0; // interrupt disable
PT1 = 0; // low parity
// TR1 = 1; // start T1
} // end of Tmr1Init()
#endif
114
115
116 #if 0
C51 COMPILER V6.00i INTR_INIT 10/22/2004 09:48:50 PAGE 3
void Cnt0Init(void )
{
TMOD &= ~_00001111; // D7,3 GATE
// D6,2 C/T 1=Counter, 0=Timer
// D5-4,1-0 MODE 00 13-counter
// 01 16-counter
// 10 8-auto_load
// 11 8-counter * 2
TMOD |= _00000110; // Counter/8-auto_load
TH0 = 0xff;
TL0 = 0xff;
ET0 = 1; // interrupt enable
PT0 = 1; // low parity
TR0 = 1; // start T0
} // end of Cnt0Init
#endif
135
136
137 #if 0
void Cnt1Init(void )
{
TMOD &= ~_11110000; // D7,3 GATE
// D6,2 C/T 1=Counter, 0=Timer
// D5-4,1-9 MODE 00 13-counter
// 01 16-counter
// 10 8-auto_load
// 11 8-counter * 2
TMOD |= _01100000; // Counter/8-auto_load
TH1 = 0xff;
TL1 = 0xff;
ET1 = 1; // interrupt enable
PT1 = 1; // low parity
TR1 = 1; // start T1
} // end of Cnt1Init
#endif
156
157
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 64 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -