Joint debugging method of Proteus and ICCAVR

Publisher:翅膀小鹰Latest update time:2010-06-22 Keywords:Proteus  ICCAVR  debugging  simulation Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Today I would like to introduce to you a software called Proteus, which can perform code-level debugging like AVR Studio and can also view the MCU status in real time.

Everyone knows that ICC-AVR cannot debug code, and many people choose AVRStudio, but AVR Studio is not intuitive, especially when debugging LCD display code, you cannot see the display status in real time, and the emulator is too expensive, which is not realistic for most beginners.

Steps:

1. Create a new ICC-AVR project and save it in the project folder.


2. Design compilation options


3. Compile and generate debug files

4. Open proteus to create a simulation circuit diagram


5. Load the debugging file to the atmega16L microcontroller

6. Save the proteus simulation file in the same folder as the ICC-AVR project file and save it with the same file name.

7. Open the saved proteus file again and start debugging.

8. If the code box is not displayed when debugging, open the tab shown below.

9. When debugging, you can choose options such as full-speed execution and single-step debugging.

10. Finally, here is the full picture of debugging for everyone to see.

Click to view original image

At this point, everyone should understand how to use proteus to debug ICC-AVR code.

Keywords:Proteus  ICCAVR  debugging  simulation Reference address:Joint debugging method of Proteus and ICCAVR

Previous article:Design of ozone therapy device based on AVR microcontroller
Next article:Design of remote temperature difference cycle controller based on ATmega16

Recommended ReadingLatest update time:2024-11-16 19:55

How to use external clock in ATmega16 simulation in proteus
When simulating atmega16 in proteus, there are always problems when selecting external clock. The red English in the above picture says that the CKSEL fuse bit is specified as an external oscillator, but the system external clock frequency is not determined. After modifying the clock in this way, you can use the e
[Microcontroller]
How to use external clock in ATmega16 simulation in proteus
Proteus 20 application skills
Proteus 20 application skills are summarized by many loyal Proteus fans in their actual application process, so they are very practical! Today I will sort them out one by one to share with you. If there are better usage skills, everyone is welcome to share! ! F8: Show All Display the entire current workspace. F6:
[Microcontroller]
Serial communication between C51 and atmega64 and PROTEUS simulation design
script src="/jf/jf-arcMain-1.js" type=text/javascript /script script type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript /script script src="http://pagead2.googlesyndication.com/pagead/js/r20110914/r20110914/show_ads_impl.js" /script
[Microcontroller]
Serial communication between C51 and atmega64 and PROTEUS simulation design
Proteus simulation ARM7 LPC2101 AD converter source program
When debugging, first observe whether the resistor to be tested works normally. Insert a voltage probe at the changing end of the resistor. For specific methods, select the voltage probe (Voltage) in the tool probe on the left to run the simulation, click the resistor, and observe whether the probe voltage is constan
[Microcontroller]
Proteus simulation ARM7 LPC2101 AD converter source program
Single chip microcomputer timer duty cycle button adjustment Proteus simulation program
The simulation schematic is as follows   The microcontroller source program is as follows: #include "reg52.h"  #define uchar unsigned char  #define uint unsigned int  float COUNT100,PWMCOUNT;  /*LCD port definition*/  sbit RS=P3^7;  sbit RW=P3^6;  sbit E=P3^5;  sbit PWM=P1^0;  sbit K1=P3^0; //add 1 sbit K2=P3^1; /
[Microcontroller]
Single chip microcomputer timer duty cycle button adjustment Proteus simulation program
Principle design of 7-key and 8-key electronic piano proteus simulation digital tube display program based on 51 single chip microcomputer
hardware design 8-key simulation diagram: plan: 7-key simulation diagram: 7 buttons represent 7 notes, and another button plays a song programming /******************************************************************/ #include reg52.h   #include "main.h" /***********************************************************
[Microcontroller]
Principle design of 7-key and 8-key electronic piano proteus simulation digital tube display program based on 51 single chip microcomputer
PIC16F877A running light Proteus simulation program
The microcontroller source program is as follows: //Flowing lights #include pic.h //header file             __CONFIG(0xff32); //Configure fuse bits //Delay function void delay(unsigned int  x) {           unsigned int  i,j;     for(i=0;i x;i++)        for(j=0;j 100;j++); } //Main function void main()             
[Microcontroller]
PIC16F877A running light Proteus simulation program
Embedded Learning Notes 19——Transplantation of AVR MCU C51 to ICCAVR
1. Header file, replace reg51.h, reg52.h with the corresponding AVR header files, such as iom16v.h, etc. 2. Process the data types of bit and sbit in C51. Since ICCAVR does not support bit and sbit data types, you can use bit operations and BIT to process them. Define macros for setting and clearing respectively. To u
[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号