📄 bargraph.lst
字号:
C51 COMPILER V6.21 BARGRAPH 01/23/2002 17:54:56 PAGE 1
C51 COMPILER V6.21, COMPILATION OF MODULE BARGRAPH
OBJECT MODULE PLACED IN Bargraph.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Bargraph.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*------------------------------------------------------------------*-
2
3 Bargraph.c (v1.00)
4
5 ------------------------------------------------------------------
6
7 Simple bargraph library.
8
9
10 COPYRIGHT
11 ---------
12
13 This code is associated with the book:
14
15 EMBEDDED C by Michael J. Pont
16 [Pearson Education, 2002: ISBN: 0-201-79523-X].
17
18 This code is copyright (c) 2001 by Michael J. Pont.
19
20 See book for copyright details and other information.
21
22 -*------------------------------------------------------------------*/
23
24 #include "Main.h"
25 #include "Port.h"
26
27 #include "Bargraph.h"
28
29 // ------ Public variable declarations -----------------------------
30
31 // The data to be displayed
32 tBargraph Data_G;
33
34 // ------ Private constants ----------------------------------------
35
36 #define BARGRAPH_ON (1)
37 #define BARGRAPH_OFF (0)
38
39 // ------ Private variables ----------------------------------------
40
41 // These variables store the thresholds
42 // used to update the display
43 static tBargraph M9_1_G;
44 static tBargraph M9_2_G;
45 static tBargraph M9_3_G;
46 static tBargraph M9_4_G;
47 static tBargraph M9_5_G;
48 static tBargraph M9_6_G;
49 static tBargraph M9_7_G;
50 static tBargraph M9_8_G;
51
52
53 /*------------------------------------------------------------------*-
54
55 BARGRAPH_Init()
C51 COMPILER V6.21 BARGRAPH 01/23/2002 17:54:56 PAGE 2
56
57 Prepare for the bargraph display.
58
59 -*------------------------------------------------------------------*/
60 void BARGRAPH_Init(void)
61 {
62 1 Pin0 = BARGRAPH_OFF;
63 1 Pin1 = BARGRAPH_OFF;
64 1 Pin2 = BARGRAPH_OFF;
65 1 Pin3 = BARGRAPH_OFF;
66 1 Pin4 = BARGRAPH_OFF;
67 1 Pin5 = BARGRAPH_OFF;
68 1 Pin6 = BARGRAPH_OFF;
69 1 Pin7 = BARGRAPH_OFF;
70 1
71 1 // Use a linear scale to display data
72 1 // Remember: *9* possible output states
73 1 // - do all calculations ONCE
74 1 M9_1_G = (BARGRAPH_MAX - BARGRAPH_MIN) / 9;
75 1 M9_2_G = M9_1_G * 2;
76 1 M9_3_G = M9_1_G * 3;
77 1 M9_4_G = M9_1_G * 4;
78 1 M9_5_G = M9_1_G * 5;
79 1 M9_6_G = M9_1_G * 6;
80 1 M9_7_G = M9_1_G * 7;
81 1 M9_8_G = M9_1_G * 8;
82 1 }
83
84 /*------------------------------------------------------------------*-
85
86 BARGRAPH_Update()
87
88 Update the bargraph display.
89
90 -*------------------------------------------------------------------*/
91 void BARGRAPH_Update(void)
92 {
93 1 tBargraph Data = Data_G - BARGRAPH_MIN;
94 1
95 1 Pin0 = ((Data >= M9_1_G) == BARGRAPH_ON);
96 1 Pin1 = ((Data >= M9_2_G) == BARGRAPH_ON);
97 1 Pin2 = ((Data >= M9_3_G) == BARGRAPH_ON);
98 1 Pin3 = ((Data >= M9_4_G) == BARGRAPH_ON);
99 1 Pin4 = ((Data >= M9_5_G) == BARGRAPH_ON);
100 1 Pin5 = ((Data >= M9_6_G) == BARGRAPH_ON);
101 1 Pin6 = ((Data >= M9_7_G) == BARGRAPH_ON);
102 1 Pin7 = ((Data >= M9_8_G) == BARGRAPH_ON);
103 1 }
104
105 /*------------------------------------------------------------------*-
106 ---- END OF FILE -------------------------------------------------
107 -*------------------------------------------------------------------*/
108
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 245 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
IDATA SIZE = ---- ----
C51 COMPILER V6.21 BARGRAPH 01/23/2002 17:54:56 PAGE 3
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 + -