📄 pc_o_t1.lst
字号:
C51 COMPILER V6.21 PC_O_T1 04/16/2007 01:05:51 PAGE 1
C51 COMPILER V6.21, COMPILATION OF MODULE PC_O_T1
OBJECT MODULE PLACED IN PC_O_T1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE PC_O_T1.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*------------------------------------------------------------------*-
2
3 PC_O_T1.C (v1.00)
4
5 ------------------------------------------------------------------
6
7 Simple write-only PC link library Version A (generic)
8 [Sends data to PC - cannot receive data from PC]
9
10 Uses the UART, and Pin 3.1 (Tx)
11
12 See text for details (Chapter 9).
13
14 COPYRIGHT
15 ---------
16
17 This code is associated with the book:
18
19 EMBEDDED C by Michael J. Pont
20 [Pearson Education, 2002: ISBN: 0-201-79523-X].
21
22 This code is copyright (c) 2001 by Michael J. Pont.
23
24 See book for copyright details and other information.
25
26 -*------------------------------------------------------------------*/
27
28 #include "Main.h"
29 #include "PC_O_T1.h"
30
31 // ------ Public variable declarations -----------------------------
32
33 extern tByte Out_written_index_G;
34 extern tByte Out_waiting_index_G;
35
36 /*------------------------------------------------------------------*-
37
38 PC_LINK_O_Init_T1()
39
40 This version uses T1 for baud rate generation.
41
42 Uses 8051 (internal) UART hardware
43
44 -*------------------------------------------------------------------*/
45 void PC_LINK_O_Init_T1(const tWord BAUD_RATE)
46 {
47 1 PCON &= 0x7F; // Set SMOD bit to 0 (don't double baud rates)
48 1
49 1 // Receiver disabled
50 1 // 8-bit data, 1 start bit, 1 stop bit, variable baud rate (asynchronous)
51 1 SCON = 0x42;
52 1
53 1 TMOD |= 0x20; // T1 in mode 2, 8-bit auto reload
54 1
55 1 TH1 = (256 - (tByte)((((tLong)OSC_FREQ / 100) * 3125)
C51 COMPILER V6.21 PC_O_T1 04/16/2007 01:05:51 PAGE 2
56 1 / ((tLong) BAUD_RATE * OSC_PER_INST * 1000)));
57 1
58 1 TL1 = TH1;
59 1 TR1 = 1; // Run the timer
60 1 TI = 1; // Send first character (dummy)
61 1
62 1 // Set up the buffers for reading and writing
63 1 Out_written_index_G = 0;
64 1 Out_waiting_index_G = 0;
65 1
66 1 // Interrupt *NOT* enabled
67 1 ES = 0;
68 1 }
69
70 /*------------------------------------------------------------------*-
71 ---- END OF FILE -------------------------------------------------
72 -*------------------------------------------------------------------*/
73
74
75
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 60 ----
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 + -