📄 led_swit.lst
字号:
C51 COMPILER V6.10 LED_SWIT 04/18/2001 16:16:20 PAGE 1
C51 COMPILER V6.10, COMPILATION OF MODULE LED_SWIT
OBJECT MODULE PLACED IN .\LED_SWIT.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\LED_SWIT.C OPTIMIZE(6,SIZE) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*------------------------------------------------------------------*-
2
3 LED_Swit.C (v1.00)
4
5 ------------------------------------------------------------------
6
7 Simple 'Flash LED' test function for scheduler.
8
9 (Controlled by switch press)
10
11
12 COPYRIGHT
13 ---------
14
15 This code is from the book:
16
17 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
18 [Pearson Education, 2001; ISBN: 0-201-33138-1].
19
20 This code is copyright (c) 2001 by Michael J. Pont.
21
22 See book for copyright details and other information.
23
24 -*------------------------------------------------------------------*/
25
26 #include "Main.h"
27 #include "Port.h"
28
29 #include "LED_Swit.h"
30
31 // ------ Public variable declarations -----------------------------
32
33 extern bit Sw_pressed_G;
34
35
36 // ------ Private variables ----------------------------------------
37
38 static bit LED_state_G;
39
40
41 /*------------------------------------------------------------------*-
42
43 LED_Flash_Switch_Init()
44
45 - See below.
46
47 -*------------------------------------------------------------------*/
48 void LED_Flash_Switch_Init(void)
49 {
50 1 LED_state_G = 0;
51 1 }
52
53
54 /*------------------------------------------------------------------*-
55
C51 COMPILER V6.10 LED_SWIT 04/18/2001 16:16:20 PAGE 2
56 LED_Flash_Switch_Update()
57
58 Flashes an LED (or pulses a buzzer, etc) on a specified port pin.
59
60 Must schedule at twice the required flash rate: thus, for 1 Hz
61 flash (on for 0.5 seconds, off for 0.5 seconds) must schedule
62 at 2 Hz.
63
64 -*------------------------------------------------------------------*/
65 void LED_Flash_Switch_Update(void)
66 {
67 1 // Do nothing if switch is not pressed
68 1 if (!Sw_pressed_G)
69 1 {
70 2 return;
71 2 }
72 1
73 1 // Change the LED from OFF to ON (or vice versa)
74 1 if (LED_state_G == 1)
75 1 {
76 2 LED_state_G = 0;
77 2 LED_pin = 0;
78 2 }
79 1 else
80 1 {
81 2 LED_state_G = 1;
82 2 LED_pin = 1;
83 2 }
84 1 }
85
86 /*------------------------------------------------------------------*-
87 ---- END OF FILE -------------------------------------------------
88 -*------------------------------------------------------------------*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 19 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -