Research on the application of Proteus software in embedded system teaching

Publisher:火箭飞人Latest update time:2010-11-05 Source: 现代电子技术 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction

Embedded system is a comprehensive technology involving computer architecture, computer software and other related electronic technologies. At present, embedded system technology has become one of the most popular technologies, and various enterprises have a strong demand for talents with embedded system design and development capabilities. In the embedded system courses currently offered by various universities, the commonly used microprocessors are 8-bit single-chip microcomputers 8051, 32-bit ARM7TDMI core Philips NXP LPC series and Samsung S3C4480 chips. First, use the single-chip microcomputer as an introduction to embedded system design learning. After mastering the basic concepts and design methods, the ARM7 core CPU is used as a "more powerful single-chip microcomputer" and seamlessly upgraded to the popular ARM platform.

In traditional embedded system teaching, classroom sessions are mostly pure theory teaching, and the practical sessions generally use traditional experimental boxes. There are fewer experimental projects, fixed content, and insufficient innovative means, making it difficult to create a good experimental platform for students' innovative practice. In view of the problems faced in the traditional teaching model, the introduction of Proteus software in classroom teaching, experiments, graduation projects, and innovative designs can achieve twice the result with half the effort.

1 Introduction to Proteus Software

Proteus is an embedded system simulation and development platform developed by Labcenter, a British company. The software has the following features:

(1) Capable of intelligent schematic layout; MCU software debugging and co-simulation of MCU and peripheral circuits; meeting the standards of MCU software simulation system.

(2) Support common MCU types and Philips ARM7 (LPC series) processors and common peripheral devices such as 8255, ADC0809.

(3) It can be combined with KeilμVersion 3 and ADS1 integrated development environments to compile programs written in assembly and C languages ​​and perform system simulation combining software and hardware.

2 Application of Proteus software in teaching

In the teaching process, teachers can move the virtual experiment platform established by Proteus and Keil into the classroom, integrate practical teaching with theoretical teaching, and thus improve the teaching effect. The following is an actual classroom case.

When describing the external interrupt handling process, Proteus and Keil are used together. Through simulation steps, the software execution process of the MCU handling interrupts and the changes in the internal resources of the MCU can be presented to students in an intuitive and clear way, thus bringing about an effect that is difficult to achieve with pure theoretical analysis. The assembly program is as follows:

program

Running Protues at full speed, you can see that when the button of the circuit in Proteus is closed, the P3.2 pin generates a falling edge, PC=0x0003H, pointing to the AJMP INTO transfer instruction, the stack pointer SP=0.9H, and the 08H and 09H units of the data memory store 01H and 05H, that is, the address of the next instruction. From this, students can know that when an external interrupt request occurs, the program will automatically save the address of the breakpoint, and the program will transfer to the entry address of the interrupt service program. Since it is an interrupt request generated by external interrupt 0, the program will transfer to the entry address 0003H unit of external interrupt 0. AJMP INT0 is a transfer instruction, so the program will transfer to the label INT0, which is the real interrupt service program. With the execution of the CPL P1.0 instruction, the light-emitting diode in the Pro-teus circuit diagram will change its current state. When the program executes RETI, PC=0x0105H, indicating that after the interrupt program is executed, the program returns to the breakpoint position. The RETI instruction can take out the breakpoint address and send it back to the program counter PC. At this point, a complete interrupt handling process is completed.

Through the example of external interrupt execution, it can be seen that by using the experimental platform established by Protues and Keil in the classroom, many abstract concepts can be introduced to students in an intuitive way, so that students can not only observe the changes in the I/O ports and memory inside the microcontroller when the software is executed, but also observe the process of interaction between the software program and the peripheral circuit.

3 Application of Proteus software in experiment and course design

The existing MCU experimental teaching usually includes two parts: in-class experiments and course design. All these experiments are completed on the experimental box. Due to the fixed structure and limited resources of the hardware experimental box, students cannot integrate the knowledge they have learned when doing experiments. Therefore, when it comes to the course design stage, many students cannot complete comprehensive experiments. The use of Proteus software simulation can make up for the shortcomings of hardware experiments. The Proteus-based experiment can be divided into the following three stages and completed step by step.

(1) Verification phase. The main purpose is to familiarize students with the Proteus and Keil software environments and to give them a perceptual understanding of the MCU virtual system simulation. The experimental instructions provide the experimental tasks and requirements, Proteus experimental schematics, experimental operation steps, multimedia courseware, program flow charts, and program source codes. Students perform experimental operations and experimental debugging according to the experimental steps or experimental operation videos, and observe the program running results.

(2) Design phase. The main purpose is to develop students' ability to draw system schematics with Proteus and to design source code with Keil. The experimental instructions provide the experimental tasks and requirements, as well as the experimental schematics. Students use Proteus to draw the hardware circuit diagram according to the experimental schematic, design the program according to the experimental requirements, write the source code in the Keil environment, debug successfully, and load the program into the Proteus hardware diagram for simulation. After the simulation is successful, the hardware circuit is built on the experimental box according to the experimental schematic, the program is loaded, the experimental phenomenon is observed, and the results are compared with the simulation results.

(3) Comprehensive stage. The main purpose is to stimulate students' learning interest and subjective initiative, and improve their innovation ability. Students design hardware circuits (including CPU selection, component selection and parameter setting, circuit connection, etc.) according to the experimental tasks and requirements and draw Proteus hardware schematics; they design software according to the hardware functional modules (including system principle block diagrams, program flow charts and source code writing, etc.). After the hardware and software designs are completed, they are debugged together, making full use of the joint simulation function of Proteus and Keil to promptly discover and correct errors in hardware circuits or program source codes. After the system simulation is successful, the physical object is produced.

In the course design phase, students are required to draw hardware circuit diagrams in Proteus and write programs in Keil. At the same time, they should consider the resources of the experimental box as much as possible when designing the hardware circuit, so that the programs written in Keil can be well transplanted to the experimental box. In this way, students can carry out course design and research at any time, and after the joint simulation verification is successful, they can enter the laboratory and use the experimental box for further verification.

Students can choose the most suitable MCU for different applications, instead of being limited to the 51 series MCUs often explained in class. After the joint simulation is successful, students can then carry out circuit welding, system debugging and program solidification to avoid waste caused by incorrect design plans. At the same time, it can also enable students to understand the latest developments and achievements of scientific and technological development related to this course, master MCUs that they are not familiar with, and improve their experimental and development capabilities.

4 Application of Proteus software in graduation design and innovative design

In the graduation project, the design of single-chip control class has brought certain difficulties due to the short time, large number of people and lack of experimental equipment. After using Proteus simulation software, only one computer is needed to carry out the work. Students can complete the early simulation work on the computer using Proteus simulation software, and then enter the laboratory for on-site debugging. On the one hand, it can alleviate the problem of insufficient equipment and will not affect normal teaching.

In project research and innovative design, using Proteus software for auxiliary design can shorten the R&D cycle and reduce the investment in hardware costs. Dynamic component simulation model is a characteristic dynamic model of Pro-teus, with animation effects, such as LED light-emitting tubes, key switches, etc. This is the characteristic of Proteus. However, some dynamic models are not available in the library. Proteus gives users a broad space for creation and development in creating dynamic models. Users can design their own dynamic models, showing the infinite charm of Proteus in dynamic simulation. It not only enables human-computer interactive simulation, but also makes the simulation vivid and lively, creating a situation of course teaching and product development that is extremely close to reality.

5 Conclusion

Using Proteus simulation software as the teaching platform for microcontrollers and ARM can make full use of the existing equipment in the computer room, reduce the hardware maintenance of experimental equipment and the experimental environment, and be very close to the actual engineering system, shortening the distance between learning and employment.

In recent years, Proteus simulation software has been applied in teaching, course design, graduation design, and Shandong Province College Student Electronic Design Competition. This development environment has been used to train students. Without the need for hardware investment, students generally report that it is easier to accept and improve than simply learning book knowledge in the past, and it has increased a lot of practical experience. Practice has proved that this teaching method can not only reduce costs, but also has obvious economic advantages and has a high promotion value.

Reference address:Research on the application of Proteus software in embedded system teaching

Previous article:Research on Fast Algorithm for Audio Frequency Spectrum Display Using Single Chip Microcomputer
Next article:Design of data forwarder based on MSP430F149

Recommended ReadingLatest update time:2024-11-16 20:46

Proteus software simulation and programming joint debugging
The advantage of being able to debug with the source program in the simulation software is that it can reduce the use of other software to run the program compilation, and you don't have to call the machine code every time during simulation.  Step 1: Make sure that the corresponding program and simulation files are
[Microcontroller]
Proteus software simulation and programming joint debugging
16X192 dot matrix program driven by single chip microcomputer and proteus simulation
Below is a screenshot of the settings of the 16X192 dot matrix modeling software.   Below is the simulation schematic diagram of the 16X192 dot matrix: MCU source program: #include AT89X52.H sbit ST=P3^5; sbit E1=P3^4; sbit MR=P3^7; char cashe ; char code wd ={ {0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x80,0xFE,0xFD,0xFD
[Microcontroller]
16X192 dot matrix program driven by single chip microcomputer and proteus simulation
The waveform of the IO port output based on the keil4 MDK software simulation of STM32
This is a simulation step for the PWM waveform output of the PA6 and PA7 ports of STM32. Other situations are similar... I have taken screenshots for each step. Please follow the steps one by one. Just slightly change some parameters according to your own situation. You will definitely be able to get the waveform! Ple
[Microcontroller]
The waveform of the IO port output based on the keil4 MDK software simulation of STM32
Using Proteus to learn 51 single chip microcomputer interrupt
For 52 single-chip microcomputer, there are 6 interrupt sources, which are described as follows (the serial number is used for writing interrupt programs): Interrupt source name Default Level Serial number illustrate INT0 Highest 0 External interrupt 0, introduced by P3.2 port line, caused by low level or falling e
[Microcontroller]
Proteus simulation and source program of temperature control motor based on 51 single chip microcomputer
Special reminder for the temperature-controlled motor project: When using Proteus software for circuit simulation, the power pins of TLC549 and AT89C51 are hidden. When making the circuit board, be sure to connect Pin8 of TLC549 to +5V and Pin4 to ground; Pin40 of AT89C51 to +5V and Pin20 to ground. The source progr
[Microcontroller]
Proteus simulation and source program of temperature control motor based on 51 single chip microcomputer
Proteus and Keil Cx51 microcontroller simulation (timer output square wave)
T0 works in mode 1, with a timing time of 50ms. Write a program to make P1.1 output a square wave with a period of 100ms. (Baud rate f=12MHz) Circuit diagram: c Program: #include reg51.h #include stdio.h Uart_Init(); sbit P1_1=P1^1; void main() { TMOD=0x01; TL0=0xB0; TH0=0x3C; TR0=1; for(;; ) {
[Microcontroller]
Solve the problem of red cross in keil5 (compilation passed)
In general, the project has been compiled and can be simulated and run, so these red crosses seem redundant and awkward. How to solve these red crosses? Click Edit- configuration, in the configuration dialog box, click the fifth tab Text Completion, uncheck the Enable box under Dynamic Syntax Checking.
[Microcontroller]
Solve the problem of red cross in keil5 (compilation passed)
Introduction to the MCU Virtual Development Environment Based on Proteus
Single-chip microcomputer is one of the required courses for electronic technology majors in domestic colleges and universities. Many students are engaged in single-chip microcomputer hardware and software design after graduation. The development of single-chip microcomputer requires designers to have a certain hard
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号