📄 menu_data.lst
字号:
C51 COMPILER V7.07 MENU_DATA 06/12/2006 21:12:15 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MENU_DATA
OBJECT MODULE PLACED IN Menu_Data.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Menu_Data.c OPTIMIZE(6,SIZE) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*------------------------------------------------------------------*-
2 Menu_Data.C (v1.00)
3 ------------------------------------------------------------------
4 Use 'Hyperterminal' (under Windows 95, 98, 2000) or similar
5 terminal emulator program on other operating systems.
6 Terminal options:
7 - Data bits = 8
8 - Parity = None
9 - Stop bits = 1
10 - Flow control = Xon / Xoff
11 -*------------------------------------------------------------------*/
12 #include "Main.H"
13 #include "Port.H"
14 #include "Menu_Data.h"
15 #include "PC_IO.h"
16 // ------ Public variable declarations -----------------------------
17 // See Char_Map.c
18 extern const char code CHAR_MAP_G[10];
19 // ------ Private variables ----------------------------------------
20 static bit First_time_only_G;
21
22 /*------------------------------------------------------------------*-
23 MENU_Command_Processor()
24 This function is the main menu 'command processor' function.
25 -*------------------------------------------------------------------*/
26 void MENU_Command_Processor(void)
27 {
28 1 char Ch;
29 1 if (First_time_only_G == 0)
30 1 {
31 2 First_time_only_G = 1;
32 2 MENU_Show_Menu();
33 2 }
34 1
35 1 // Check for user inputs
36 1 PC_LINK_IO_Update();
37 1
38 1 Ch = PC_LINK_IO_Get_Char_From_Buffer();
39 1
40 1 if (Ch != PC_LINK_IO_NO_CHAR)
41 1 {
42 2 MENU_Perform_Task(Ch);
43 2 MENU_Show_Menu();
44 2 }
45 1 }
46 /*------------------------------------------------------------------*-
47 MENU_Show_Menu()
48 Display menu options on PC screen (via serial link)
49 - edit as required to meet the needs of your application.
50 -*------------------------------------------------------------------*/
51 void MENU_Show_Menu(void)
52 {
53 1 PC_LINK_IO_Write_String_To_Buffer("------------------------------\n");
54 1 PC_LINK_IO_Write_String_To_Buffer("Main Menu :\n");
55 1 PC_LINK_IO_Write_String_To_Buffer("A - Check P1 Status \n");
C51 COMPILER V7.07 MENU_DATA 06/12/2006 21:12:15 PAGE 2
56 1 PC_LINK_IO_Write_String_To_Buffer("B - Check P2 status \n\n");
57 1
58 1 // PC_LINK_IO_Write_String_To_Buffer("c - Read P3\n");
59 1 // PC_LINK_IO_Write_String_To_Buffer("d - Read Download\n");
60 1 // PC_LINK_IO_Write_String_To_Buffer("e - Read Write\n");
61 1 // PC_LINK_IO_Write_String_To_Buffer("f - Read Status\n\n");
62 1 PC_LINK_IO_Write_String_To_Buffer("? : ");
63 1 }
64 /*------------------------------------------------------------------*-
65 MENU_Perform_Task()
66 Perform the required user task
67 - edit as required to match the needs of your application.
68 -*------------------------------------------------------------------*/
69 void MENU_Perform_Task(char c)
70 {
71 1 // Echo the menu option
72 1 PC_LINK_IO_Write_Char_To_Buffer(c);
73 1 PC_LINK_IO_Write_Char_To_Buffer('\n');
74 1
75 1 // Perform the task
76 1 switch (c)
77 1 {
78 2 case 'a': case 'A':
79 2 {
80 3 Get_Data_From_Port1();
81 3 break;
82 3 }
83 2
84 2 case 'b': case 'B':
85 2 {
86 3 Get_Data_From_Port2();
87 3 break;
88 3 }
89 2 case 'c': case 'D':
90 2 {
91 3 //Get_Data_From_Port3();
92 3 break;
93 3 }
94 2 case 'e': case 'E':
95 2 {
96 3 //Get_Data_From_TR();
97 3 break;
98 3 }
99 2 case 'f': case 'F':
100 2 {
101 3 //Get_Data_From_TX();
102 3 break;
103 3 }
104 2 }
105 1 }
106
107 /*------------------------------------------------------------------*-
108 Get_Data_From_Port1()
109 -*------------------------------------------------------------------*/
110 void Get_Data_From_Port1(void)
111 {
112 1 tByte Port1 = Data_Port1;
113 1 char String[11] = "\nP1 = XXX\n\n";
114 1
115 1 String[6] = CHAR_MAP_G[Port1 / 100];
116 1 String[7] = CHAR_MAP_G[(Port1 / 10) % 10];
117 1 String[8] = CHAR_MAP_G[Port1 % 10];
C51 COMPILER V7.07 MENU_DATA 06/12/2006 21:12:15 PAGE 3
118 1
119 1 PC_LINK_IO_Write_String_To_Buffer(String);
120 1 }
121 /*------------------------------------------------------------------*-
122 Get_Data_From_Port2()
123 -*------------------------------------------------------------------*/
124 void Get_Data_From_Port2(void)
125 {
126 1 tByte Port2 = Data_Port2;
127 1 char String[11] = "\nP2 = XXX\n\n";
128 1
129 1 String[6] = CHAR_MAP_G[Port2 / 100];
130 1 String[7] = CHAR_MAP_G[(Port2 / 10) % 10];
131 1 String[8] = CHAR_MAP_G[Port2 % 10];
132 1
133 1 PC_LINK_IO_Write_String_To_Buffer(String);
134 1 }
135
136
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 247 ----
CONSTANT SIZE = 117 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 25
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 + -