The perfect combination of Proteus and Keil

Publisher:SereneSunsetLatest update time:2014-12-10 Source: laoguKeywords:proteus  keil Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Generally speaking, it is difficult to learn MCU well without a MCU development board, and I am also a person who has experienced this.
Later I found a very useful software called proteus. I tried it for a few times and it really works. If you don't believe me, try it!
Use it to realize the simulation experiment of single chip microcomputer driving LCD1602:
I won't introduce the usage of proteus in detail here, but I think many people know how to download it.
Before starting, you need to prepare the simulation file. This is the HEX file generated by Keil (what is HEX? I don't know)
Now we are using LCD1602.HEX (this is a HEX file generated by a program I wrote myself, I will post it together)
Running Proteus 6 Professional (ISIS6 Professional)
Does it feel similar to Protel? If you feel this way, then it is correct.
In fact, it is also a software for drawing principles and making PCBs.
Next is to select components
The first thing to choose is the microcontroller (nonsense!)
Click P in the picture above, you can select it, enter AT89C51 in the dialog box and it will be OK
The same method was used to select LM016L
See if there are more of the following
Okay, in this step, we will put these two components into the schematic diagram. I won’t go into details about how to put them. Just figure it out by yourself (please don’t scold me)
It's almost the same as below.
 
 
The connection in the figure above is the connection between the P2 port of 51 and the data port of LCD1602, RS is connected to P1.4, RW is connected to P1.3, EN is connected to P1.2
So far, HEX files have not been used.
Don't worry, let's talk about HEX now. This is the soul of the simulation. First right-click 51, then left-click it, and you can see the following picture.
 
Click in Program File to bring up the file browsing dialog box, find the LCD1602.hex file, click OK to complete adding the file, change the frequency to 12MHz in Clock Frequency, and click OK to exit.
Okay, let's start admiring your masterpiece.
Click Start Simulation.
Keywords:proteus  keil Reference address:The perfect combination of Proteus and Keil

Previous article:LCD1602 scrolling display program
Next article:Real-time clock chip HT1380 read and write C program

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

Keil C51 Tutorial --- Code Efficiency (Part 7)
The efficiency of C51 program compilation to generate assembly code is determined by many factors. For Keil C51, it is mainly affected by the following two factors: Section 1 The Impact of Storage Mode      The storage mode determines the storage space of the default variables, and the complexity of the assembly cod
[Microcontroller]
Proteus simulation version and program source code of TX-1C microcontroller development board
The Proteus schematic diagram of Guo Tianxiang's simulation microcontroller development board is as follows Introduction to the test board program: This program is the overall test program of the experimental board. It comprehensively tests most of the functions on the entire experimental board. Users do not need to
[Microcontroller]
Proteus simulation version and program source code of TX-1C microcontroller development board
Description of Memory Model and Code Rom Size in Keil
  C51中定义变量时如果省略存储器类型,Keil C51编译系统则会按编译模式SMALL、COMPACT和LARGE所规定的默认存储器类型去指定变量的存储区域,无论什么存储模式都可以声明变量在任何的8051存储区范围i,但是把最常用的命令如循环计数器和队列索引放在内部数据区可以显著地提高系统性能。以下介绍一下Keil编译选项Target中的Memory Model和Code Rom Size的设置。 Memory Model SMALL mode   In this mode, all variables are by default located in the internal data area of ​​the 8051
[Microcontroller]
Proteus simulation AD5241 program. 8-bit digital potentiometer
  #include iom16v.h #include macros.h #include stdio.h #include "skey.c" #define uchar unsigned char #define uint unsigned int #define START 0X08 #define MT_SLA_ACK 0X18 #define MT_SLA_NOACK 0X20 #define MT_DATA_ACK 0X28 #define MT_DATA_NOACK 0X30 #define Start() (TWCR=(1 TWINT)|(1 TWSTA)|(1 TWEN)
[Microcontroller]
Proteus simulation AD5241 program. 8-bit digital potentiometer
Implementation of SPI interface of Arm processor based on Proteus
introduction Nowadays, embedded devices exist in every corner of people's lives, such as DVDs, mobile phones, MP3s, and PDAs. Most of these embedded devices use 32-bit RISC embedded processors as core components. Among them, embedded processors based on Arm cores are the best, accounting for more than 75% o
[Microcontroller]
51 Single Chip Microcomputer (Part 3)—— Introduction to the 51 Single Chip Microcomputer Integrated Development Environment
1. Development environment installation There are many integrated development environments that can be used for 51 single-chip microcomputers. The most commonly used one is Keil C51, which can be downloaded from the corresponding website. The following figure shows the installation file of Keil C51 Click "Setup.exe"
[Microcontroller]
51 Single Chip Microcomputer (Part 3)—— Introduction to the 51 Single Chip Microcomputer Integrated Development Environment
How to generate and call lib files in Keil_C51
1. Project description:  .xh project is a project that generates C51lib file.  2. BLINKY project is a project that calls the generated lib file.  3. This project is adapted from the BLINKY project of samples under keil.  4. The method to generate lib is to declare the function as a function starting with extern in
[Microcontroller]
USB interface microcontroller program design of stm32 based on keil C mdk development environment
  First, let's take a look at the working process of USB.   When a USB device is connected to the host, the host begins to enumerate the USB device and sends instructions to the USB device to obtain relevant description information of the USB device, including device description (device descriptor ), configuration des
[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号