1. Introduction With the development of communication technology, the service functions based on mobile communication networks are expanding into the fields of industrial control and remote control. To meet this need, Siemens has launched the new generation TC35i wireless communication GSM module. Based on the short message function of this module, user information processing and other functions can be realized quickly, securely, and reliably, making it particularly suitable for situations where the distance between the control center and the terminal equipment is far or where it is inconvenient to use wired communication media. The system consists of a control center and several displays. The control center sends the latest information to each display in real time, forming a communication link between the control center and the display end. 2. Hardware Interface Circuit between TC35i and Microcontroller The TC35i can quickly, securely, and reliably realize data, voice transmission, short message service, and fax in the system solution. The module operates at a voltage of 3.3V to 5.5V and can operate at 900MHz to 1800MHz. The module has an AT command set interface and supports text and PDU mode short messages. In addition, the module also has functions such as telephone book, multi-party calling, and roaming detection. Common operating modes include power saving mode, I-DLE mode, and TALK mode. A 40-pin ZIF connector enables bidirectional transmission of power, commands, data, voice signals, and control signals. The ZIF connector and a 50 Ω antenna connector connect the SIM card holder and antenna, respectively. In the control system, an AT89C51 microcontroller is used, along with an expanded RAM6264 to store the 128 bytes of data to be displayed on the screen and information read from the GSM module. To increase data storage capacity, an AM29F040 Flash Memory (512 KB) is used. It offers large storage capacity, high integration, low cost, flexible read/write capabilities, and good data non-volatility. It has 15 address lines: the lower 8 bits are provided by port P0 after latching via a 74HC373, and the higher 11 bits are provided by ports P2, P1.4, P1.5, and P1.6. Eight bits of data are directly provided by port P0. A dynamic scanning method is adopted, using 74HCl54 and 74HC595 to perform 16-line progressive scanning. Utilizing the persistence of vision, this saves I/O resources and reduces heat generation. 3. Working Principle As shown in Figure 1, at the receiving terminal, the microcontroller reads data carried in SMS format from the TC35i module, processes it, and displays it on the LED display. Because the Chinese characters in the SMS are only one code, the microcontroller application system must configure a Chinese character font library to convert the code into Chinese character dot matrix data. Therefore, when designing the microcontroller application system, the control center edits the PDU data packet data using a custom data method. The data representing Chinese characters directly uses the machine code of the Chinese characters, and the system-configured font library is a GB-2312 encoded Chinese character library, i.e., a zone code Chinese character library. The following analysis of the SMSPDU data format is used to illustrate this. First, a message is written using a mobile phone, sent to the mobile number 13605696031, with the content "HelloWorld!". This message can be read by executing AT+CMGL=2. The operation process of the interface circuit between TC35i and AT89C51 in Figure 1 is as follows (italic characters are response information, {} are comments): AT+CMGL=2 {Read unsent SMS} +CMGL: 1, 2, 24 {1 represents the number of messages, 2 represents unsent messages, 24 represents the total message capacity} 08 91 683108501505FO 11 00 0B 81 3106656930F1 0000A7 0B E8329BFD06DDDF723619 OK The following is an analysis of this message: 08: Short Message Center Address Length 91: Short Message Center Number Type, 91 is TON/NPI. TON/NPI conforms to the International/E.164 standard, meaning a "+" sign must be added before the number. Other values can be used, but 91 is the most common. 683108501505FO: Short message number, which is the address of the service center used. Due to slight manipulation of the position, the actual number should be 86138055155500 (the letter F indicates length minus 1), which is the number of the GSM short message center in the author's location. 11: Header byte (a type of bitmask). Here, 11 indicates normal short message transmission. 00: Message type. 0B: Called number length. 81: Called number type. 3106656930F1: Called number, also shifted; the actual number is 13605696031. 0000A7: Short message encoding type GSM Default Alphabet; if in Chinese, it is 0010A7. 0B: Short message length. E8329BFD06DDDF723619: SMS content "Hello World!". The software interface between the microcontroller and the mobile phone is essentially the technology by which the microcontroller controls the mobile phone through AT commands related to GSM SMS, such as reading SMS content, deleting SMS content, and listing unread SMS messages. Executing an instruction is not as simple as some materials describe. In fact, the execution process requires interaction between the microcontroller and the mobile phone. The number of bytes sent or received each time is strictly defined, and the two must adhere to these rules to achieve data exchange; otherwise, communication will fail. Table 1 lists the AT command execution process. All AT command symbols, constants, PDU data packets, etc., are transmitted in ASCII encoding. For example, the ASCII encoding of "A" is 41H, "T" is 54H, and the ASCII encoding of the number "0" is 30H, etc. For the microcontroller to control the mobile phone, the mobile phone's SMS working mode must be set to PDU format, which is accomplished by the instruction AT+CMGF=0. After a microcontroller sends each instruction to a mobile phone, it must end the instruction with a carriage return character. The ASCII code for a carriage return is ODH. For example, if the microcontroller sends the instruction "AT+CMGF=0" to the mobile phone, its ASCII code sequence is "41H, 54H, 2BH, 42H, 4DH, 47H, 46H, 3DH, 30H, 0DH". The last byte, 0DH, is the carriage return character, indicating the end of the instruction. Without this carriage return character, the mobile phone will not recognize the instruction. When the mobile phone receives a complete AT instruction, it does not execute the instruction immediately. Instead, it first retransmits the entire ASCII code sequence of the received AT instruction (including ODH), then sends the ASCII codes for a carriage return character and a newline character, namely 0DH and OAH, and finally executes the instruction. When a mobile phone sends a short message to a microcontroller, its PDU data packet contains data represented in hexadecimal. However, it doesn't directly transmit hexadecimal data to the microcontroller. Instead, each hexadecimal digit is still sent using ASCII encoding. Thus, two bytes of hexadecimal data become four bytes of ASCII code. However, the length of the data bytes in the PDU data packet remains the actual byte length, not the length converted to ASCII code. This is crucial to ensure during programming; otherwise, the received data will be incomplete. After receiving the PDU data packet, the microcontroller must reconstruct it into hexadecimal data. The algorithm is as follows: Let 'a' be the received ASCII code and 'b' be the converted hexadecimal number. If 'a' < 39H, then 'b' = 'a' - 30H'; if 'a' > 39H, then 'b' = 'a' - 30H - 07H'. Finally, the two numbers are combined into one byte. The number of bytes in the PDU data packet that the mobile phone responds to the microcontroller does not include the first 9 bytes (the SMS service center address), but the PDU data packet transmitted to the microcontroller includes these 9 bytes. For example, if the length of the PDU data in the mobile phone's response is 50 bytes, but the actual hexadecimal data transmitted to the microcontroller is 59 bytes, and the ASCII code is 2x59 bytes, then the microcontroller must receive the PDU data in 2x59 byte increments. To enable MCU operation, a 512 KB memory (such as the 29F0410 in this system) can be used to store all the GB 16x16 dot matrix Chinese characters, 8x16 ASCII dot matrix data, and Chinese character sentence encoding data. All Chinese characters in the GB 16x16 zone code table are stored sequentially from smallest to largest, with each character occupying 32 bytes and each zone containing 94 characters. In file ASCII6, 8x16 ASCII dot matrices are stored sequentially from smallest to largest, with each ASCII code occupying 16 bytes. Since the 29F040 has a capacity of 512 KB, while the microcontroller can only manage 64 KB of data space, the 29F040 can be divided into 16 pages, each 32 KB, occupying 8000H~OFFFFH of the microcontroller system's data space. First, extract the 16x16 GBK Chinese character dot matrix and the 8x16 ASCII code dot matrix (such as HZKl6 and ASC16 in UCDOS software) and write them directly into the 29F040. HZKl6 (256 KB) occupies pages 0-7. For ease of programming, although ASC16 is only 4 KB, it also occupies a separate page 8. In PC text files, Chinese characters are stored in machine code format, with each character occupying 2 bytes. The first byte is the zone code, which, to distinguish it from ASCII code, starts from hexadecimal 0AIH (characters less than 80H are ASCII characters), corresponding to the first zone in the zone-position code. The second byte is the position code, also starting from 0A1H, corresponding to the first position code in a certain zone. Therefore, subtracting 0AOAH from the machine code of a Chinese character gives its zone-position code. For example, the machine code of the Chinese character “房” is hexadecimal “B7BF”, where “B7” represents the zone code and “BF” represents the position code. Therefore, the zone-position code of “房” is 0B7BFH - 0AOAH = 171FH. Converting the zone code and position code to decimal, the zone and position code of the Chinese character "房" is "2331". This means the dot matrix of "房" is located at the 31st character position in zone 23, which corresponds to the 32 bytes following position 32x[(23-1)x94+(3l-1)]=67136 B in the file HZKl6, representing the display dot matrix of "房". 4. Conclusion In the information society, remote information transmission plays a crucial role. GSM modules, with their accuracy, low cost, and real-time characteristics, provide convenience for people to obtain certain information. Meanwhile, LED displays are an important window for communication. The combination of these two displays has a wide range of applications, such as transportation, weather forecasts, advertising, notices, industrial and agricultural production, and commercial information. The module used in this design is readily available on the market, directly displays information without requiring a return, utilizes dynamic scanning in the display stage to reduce LED working time, extend lifespan, and save energy, has an expanded data storage capacity of 8 KB, provides a long display time, allows for time-sharing of more information, has a simple structure, small size, and strong practicality.