Share this

Human-computer interaction design based on uPSD3200

2026-04-06 04:48:04 · · #1
Abstract : This paper introduces the uPSD3200 microcontroller, which features USB, I2C, ADC, DDC, and PWM functions and an embedded 8032 controller core. It focuses on analyzing the hardware connection and software programming of the uPSD3200 microcontroller with the P09703 ultra-thin OLED display, a latest product from Taiwan's Ritsuka Semiconductor, which incorporates an SSD1303 driver chip. A schematic diagram is also provided showing how to implement 32 buttons using a single A/D port of the uPSD3200 microcontroller, thus achieving a complete human-machine interface design. Keywords: OLED, SSD1303, uPSD3200 microcontroller. In automatic control and intelligent instrumentation, human-machine interaction is an indispensable part. How to select suitable display devices and implement keyboard input with the fewest microcontroller I/O lines to allow more I/O lines to be used for other functional controls is a problem that every electrical design engineer engaged in automatic control and intelligent instrumentation must consider. Regarding display devices, with the development of science and technology, electronic display technology is constantly being updated and upgraded. From traditional cathode ray tubes (CRTs) to liquid crystal displays (LCDs), we are now transitioning to next-generation display technologies. Candidates for these new technologies include plasma discharge displays (PDPs), organic light-emitting diodes (OLEDs), light-emitting diodes (LEDs), and field-excited light-emitting diodes (FEDs). Currently, the most intense competition in research and development lies between PDPs, OLEDs, and LCDs. Each has its strengths, but they all share the same ultimate goal: to achieve lightweight, thinness, high brightness, fast response, high resolution, low voltage, high efficiency, long lifespan, and low cost. At present, in the field of optoelectronic display, CRT has come to an end, and LCD is at the peak of development. Compared with the mature technology, complete industrial chain and large scale of LCD industry, OLED is still in the early stage of development. Its advantages can be seen from both technical and industrial aspects. In terms of technology: OLED is very thin and light, and its thickness can be thinner than LCD; since it is an active light source that does not require a backlight, OLED has a wide viewing angle, which is generally considered to be close to 180 degrees; and it has the characteristics of power saving and low temperature resistance, and its performance at low temperature is far superior to LCD; the response speed is fast, and the image refresh rate is almost 100 to 1000 times that of LCD; in addition to the fundamental improvement in image quality, it also has the characteristic of good shock resistance, which is very advantageous for portable devices; not only that, since flexible plastic can also be used as a matrix material, the shape of OLED display is not limited, it can be any shape, and it can be placed on the surface of any object. Due to the use of new matrix materials, OLED display is much flatter than the thinnest thin film transistor (TFT) screen at present[1]. The P09703 ultra-thin OLED display, manufactured by Taiwan's Ritsuka Semiconductor Co., Ltd., features an embedded SSD1303 driver chip and a 128x64 pixel dot matrix. It is only 2.05 mm thick, weighs just 11.1 grams, and operates from -40°C to +85°C. The following describes the hardware connection and software programming between the uPSD3200 microcontroller and the P09703 OLED display. 1. Introduction to the uPSD3200 Microcontroller The uPSD3200 series of microcontrollers with programmable logic is STMicroelectronics' latest programmable device, embedding an 8032 controller core (12-cell lock) within a Flash PSD structure. The uPSD3200 series has two Flash memories, SRAM (with backup battery support), general-purpose I/O ports, a 3000-gate programmable logic circuit PLD with 16 macro cells, management and monitoring functions, and can implement USB, I2C, ADC, DDC and PWM functions. It has an on-chip 8032 microcontroller center with two standard asynchronous communication ports, three 16-bit timers/counters and two external interrupts. Like the FlashPSD series, the uPSD3200 series can also be programmed in-system via the JATG ISP interface. The uPSD3200 series chips are widely used in tax control cash registers, POS machines, micro printers, vehicle taximeters and GPS systems [2]. Following the successful launch of the uPSD3200 series, STMicroelectronics introduced the uPSD3300 series in 2004, which features an embedded high-speed 8032 controller core (4CLOCK). Building upon the original uPSD3200 series, it provides enhanced features such as 8-channel 10-bit ADC, IrDA, and JTAG debugging, enabling it to have a wider range of applications. 2. Hardware Connection between P09703 and uPSD3200 The main features of the latest ultra-thin OLED display P09703 from Taiwan's Ritsuka Electronics Co., Ltd. are as follows: Since the logic level of the OLED display P09703 is 2.4V - 3.5V, when using the uPSD3200 series microcontroller from STMicroelectronics, it is important to select a 3.3V device. Taking the uPSD3234BV as an example, we provide a hardware connection diagram between the OLED display P09703 and the uPSD3234BV microcontroller. We also provide a schematic diagram of implementing 32 buttons using one A/D port of the uPSD3200 microcontroller, which can significantly reduce the occupation of I/O ports. As shown in Figure 1, it should be noted that the OLED display P09703's built-in controller is the SSD1303 manufactured by SOLOMON in Taiwan. This controller has two sets of timing circuits in its interface control circuit, set by a timing adapter circuit to adapt to the timing requirements of different computer operations. The timing adapter circuit's setting terminals are BS1 and BS2. The timing settings for BS1 and BS2 are shown in Table 1. The P09703 OLED display does not have a serial interface; Figure 2 shows the timing diagram of the P09703 OLED display 8080. Figure 1: Hardware connection schematic of P09703 and uPSD3234BV Figure 2: Timing diagram of P09703 OLED display 8080 3. Software Programming Regarding computer connectivity, the SSD1303's interface, including the data input buffer, data output latch, instruction register and decoder, busy state trigger, and timing control circuit, features high-performance interface control circuitry. The computer can access the SSD1303 at any time without needing to determine its current state. Unlike the previously used T6963C controller, determining the busy state is not as critical for the SSD1303, as the SSD1303's interface can receive computer access in a timely manner. The only conflict is when the computer transfers large amounts of data to the display memory, which conflicts with the control unit transmitting display data to the drive unit, causing "snow" to appear on the screen. However, because this interval is very short, and due to the visual inertia of the human eye, the "snow" phenomenon is not noticeable. Sometimes, by the time the busy indicator is detected and data transmission resumes, the busy indicator has already disappeared. Because of these factors, the computer's access to the SSD1303 is a very simple process. sbit DC_PIN_NUM = P0︿5; //P0.5 Data/instruction control bit, low level—instruction operation, high level—data operation sbit WR_PIN_NUM = P0︿6; //P0.6 Write data/instruction control bit, writes when high level changes to low sbit RD_PIN_NUM = P0︿7; //P0.7 Read data/instruction control bit, active low unsigned char ReadData(void) //Read data from P09703 OLED display { unsigned char temp; DC_PIN_NUM = 1; RD_PIN_NUM = 0; RD_PIN_NUM = 1; temp = P4; return temp; } unsigned char ReadCommand(void) //Read register status from P09703 OLED display { unsigned char temp; DC_PIN_NUM = 1; RD_PIN_NUM = 0; RD_PIN_NUM = 1; temp = P4; return temp; } void WriteCommand(unsigned char Data) // Write command code to P09703 OLED display { DC_PIN_NUM = 0; P4=Data; WR_PIN_NUM = 0; WR_PIN_NUM = 1; } void WriteData(uint8 Data) // Write parameters and data to P09703 OLED display { DC_PIN_NUM = 1; P4=Data; WR_PIN_NUM = 0; WR_PIN_NUM = 1; } main() { int j, i; InitOled(); // Initialize the P09703 OLED display. Due to the richness of the SSD1303 software control instructions, this function is quite long and will not be described here. See the P09703 application notes for details. Note that the comm_out2() function in InitOled() is replaced by the WriteCommand() function. for (i=0;i<8;i++) WriteCommand(0xB0+i); // Set display position—row WriteCommand(0x02); // Set display position—low column address WriteCommand(0x10); // Set display position—high column address for (j=0;j<128;j++) WriteData((0xFF); // Screen display, fully lit} } The above is only a basic application of P09703. For more SSD1303 software control instructions, readers can gain a deeper understanding of P09703 by using the methods introduced in this article and combining them with the SSD1303 instruction set [3]. We have provided the circuit schematic for the buttons. Since the programming is relatively simple, we will not describe it here.
Read next

CATDOLL 138CM Jing TPE (Customer Photos)

Height: 138cm Weight: 26kg Shoulder Width: 30cm Bust/Waist/Hip: 65/61/76cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm Anal...

Articles 2026-02-22