初学单片机:Proteus介绍、Proteus与Keil联调(Windows10环境下)

  Proteus是一个仿真软件,可以在里面设计电路并模拟测试,也可生成PCB的布线等等,反正就是强大的不行。初学单片机,除了开发板,这个仿真器就是一个很好的调式环境。软件安装信息:

  • Proteus 8.7
  • Keil uvision4
  • Window 10

很多人说window10安装不成功,其他还好,刚开始装Proteus 8.7,出现了一个缺少hhctrl.ocx的组件,下载后注册,就好了。其他安装不再说明,没有什么大问题。目前Keil和Proteus联调成功:

代码如下所示:

/*------------------------------------------------------------------------------
HELLO.C

Copyright 1995-2005 Keil Software, Inc.
------------------------------------------------------------------------------*/

#include <REG52.H>                /* special function register declarations   */
                                  /* for the intended 8051 derivative         */

#include <stdio.h>                /* prototype declarations for I/O functions */

#ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
#endif                                   /* Stop Exection with Serial Intr.   */
                                         /* is enabled                        */

/*------------------------------------------------
The main C function.  Program execution starts
here after stack initialization.
------------------------------------------------*/
void main (void) {

/*------------------------------------------------
Setup the serial port for 1200 baud at 16MHz.
------------------------------------------------*/
#ifndef MONITOR51
    SCON  = 0x50;                /* SCON: mode 1, 8-bit UART, enable rcvr      */
    TMOD |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */
    TH1   = 221;                /* TH1:  reload value for 1200 baud @ 16MHz   */
    TR1   = 1;                  /* TR1:  timer 1 run                          */
    TI    = 1;                  /* TI:   set TI to send first char of UART    */
#endif

/*------------------------------------------------
Note that an embedded program never exits (because
there is no operating system to return to).  It
must loop and execute forever.
------------------------------------------------*/
  while (1) {
    P1 ^= 0x01;                 /* Toggle P1.0 each time we print */
    printf ("Hello World\n");   /* Print "Hello World" */
  }
}

这段代码为安装Keil之后,打开默认显示的代码,我没有修改,就直接用了,它是修改P1口的状态。

先看看Proteus的界面:

新建工程就不说了,建好之后,就是找元件了,如图:

图中标记了几处,元件库,端点POWER和GROUND,探针,其中元件初始化为空,需要自己添加,点P,打开搜索框添加。几个常用的元件名称如下(搜索时用英文名称搜索,右侧可看见符号):

  • 电池组BATTERY
  • 按键BUTTON
  • 电容CAP
  • 晶振CEYSTAL
  • 发光二极管LED
  • 黄色发光二极管LED-YELLOW(其他颜色类似)
  • 电阻RES
  • 开关SWITCH
  • 单片机80C51

(元件)(端点,连线的终端)(探针,电流、电压)

在使用POWER的时候,需要设置全局的电压值,如图:

(打开菜单)

(新增GND和VCC,并设置电压值,在POWER属性上可以选择)

关于探针,在探针使用时不要与线路交叉重叠就行,动态显示探针的值,需要设置:System-》Set Animation Options,右侧Animation Options下面的复选框,全部勾上就行,保存。

关于Keil4与Proteus8联调,配置如下:

1.Proteus中,菜单栏Debug-》Enable Remote Debug Monitor,即允许远程调式;

2.Keil中,打开Target Options ,即选择模拟器;

3.打开DEBUG页签,如图:

4.在Use下拉框中选择Proteus VSM Simulator模拟器,新安装的如果没有的话,需要给keil安装Proteus的调试插件:vdmagdi.exe,安装时选择Keil的安装路径,会自动修改配置文件:

D:\Keil\TOOLS.INI

[UV2]
ORGANIZATION="**"
NAME="**", "**"
EMAIL="**"
BOOK0=UV4\RELEASE_NOTES.HTM("uVision Release Notes",GEN)
[C51]
PATH="D:\Keil\C51\"
VERSION=V9.00
BOOK0=HLP\Release_Notes.htm("Release Notes",GEN)
BOOK1=HLP\C51TOOLS.chm("Complete User‘s Guide Selection",C)
TDRV0=BIN\MON51.DLL ("Keil Monitor-51 Driver")
TDRV1=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")
TDRV2=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")
TDRV3=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")
TDRV4=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")
TDRV5=BIN\UL2XC800.DLL ("Infineon XC800 ULINK Driver")
TDRV6=BIN\MONADI.DLL ("ADI Monitor Driver")
TDRV7=BIN\DAS2XC800.DLL ("Infineon DAS Client for XC800")
TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")
RTOS0=Dummy.DLL("Dummy")
RTOS1=RTXTINY.DLL ("RTX-51 Tiny")
RTOS2=RTX51.DLL ("RTX-51 Full")
LIC0=14R8T-R0VMF-C5DT5-GNLT9-76GJH-QEQ8V
TDRV9=BIN\VDM51.DLL ("Proteus VSM Simulator")
BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")
[ARM]
TDRV0=BIN\VDMARM.DLL ("Proteus VSM Simulator")
BOOK0=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")
[KARM]
TDRV0=BIN\VDMARM.DLL ("Proteus VSM Simulator")
BOOK0=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")

如果这个配置文件中有Proteus VSM Simulator,说明可用;

5.选择好模拟器,就可以运行程序,会自动运行Proteus的电路,可以点亮LED灯,如出现一下,请检查步骤1:

如出现一下情况,则表明没有选对模拟器,如图:

以上就是我的总结,最后,放一张设计的80C51的电路图结束。

转载请注明出处

风雨咒之无上密籍

原文地址:https://www.cnblogs.com/flowerbirds/p/10658350.html

时间: 2024-10-09 14:46:12

初学单片机:Proteus介绍、Proteus与Keil联调(Windows10环境下)的相关文章

51单片机300个proteus仿真实例下载

51单片机300个proteus仿真实例下载,不仅有230个51单片机的proteus仿真实例,还有59个经典案例,50个经典电路制作实例,下面只是部分截图和资料,还有更多的proteus仿真/程序在闯客网可以找到,并且免费下载,有需要的朋友可以下载学习,还有技术交流群:613377058 下载链接:https://bbs.usoftchina.com/thread-201293-1-1.html 100000秒以内的计时程序.DSN 10秒的秒表 (2).DSN 10秒的秒表.DSN 1286

Windows环境下Android Studio V1.2.2系列4—界面介绍

参考资料 [1] Android Studio常用功能介绍, http://ask.android-studio.org/?/article/23 [2] Windows环境下Android Studio V1.2.2系列1-下载与安装, http://my.oschina.net/1pei/blog/467210 [3] Windows环境下Android Studio V1.2.2系列2-初次运行, http://my.oschina.net/1pei/blog/467736 [4] Win

(转)Scrapy安装介绍 windows环境下---

一. Scrapy简介 Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing

.Net环境下的缓存技术介绍 (转)

.Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 1.1   缓存能解决的问题 · 性能——将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性——同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次

初学cocos2dx 写了个2048 跟大家一起分享下

首先是头文件 部分代码是借鉴加修改  大部分是自己写的. class HelloWorld : public cocos2d::CCLayer { public: virtual bool init(); static cocos2d::CCScene* scene(); void menuCloseCallback(CCObject* pSender); CREATE_FUNC(HelloWorld); //以上为自动生成的代码 bool doUp(); //实现上下左右移动功能 bool d

单片机引脚介绍

单片机的40个引脚可分为4类:电源.时钟.控制和I/O引脚. 1. 电源: ⑴ VCC - 芯片电源,接+5V:           ⑵ VSS - 接地端: 2. 时钟: XTAL1.XTAL2 - 晶体振荡电路反相输入端和输出端. 3.控制线:控制线共有4根,           ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲                    ① ALE功能:用来锁存P0口送出的低8位地址                    ② PROG功能:片内有EPR

2-物联网开发标配方案(51单片机程序介绍+WIFI程序介绍)

上一节  https://www.cnblogs.com/yangfengwu/p/9944438.html 购买云服务器安装MQTT就不用说了,以前写过文章介绍 https://www.cnblogs.com/yangfengwu/p/8758733.html 51单片机程序不再介绍....感觉没有什么介绍的 因为我的几乎所有的串口处理都是一个模子刻出来的 程序有什么不明白的上面有联系方式 直接说WIFI程序 1,SmartConfig 2,MQTT https://www.cnblogs.c

第一节:吴坚鸿谈初学单片机的误区。

(1)很难记住繁杂的寄存器?寄存器不用死记硬背,鸿哥我行走江湖多年,连一个寄存器都记不住.需要配置寄存器的时候,直接在网上或者书本上参考别人现成的配置程序是上策,查找芯片数据手册是中策,死记硬背寄存器是最最下策. (2)很难记住繁杂的汇编语言指令?除非是在校学生要应付考试或者少数工作中绕不开汇编,否则学汇编就是浪费时间.鸿哥我行走江湖多年,从来就没有用汇编帮客户做过一个项目. (3)C语言很难学?你不用学指针,你不用学带形参的函数,你不用学结构体,你不用学宏定义,你不用学文件操作,你也不用死记繁

最适合新手初学单片机的40个实验免费下载

给初学者单片机的40个实验,带源码,需要资料的加群:813238832也可以到闯客网技术论坛下载更多关于单片机,MTK的资料和学习案例 模拟开关灯 1. 实验任务如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭. 2.电路原理图 图一 更多资料在闯客网下载链接:https://bbs.usoftchina.com/thread-200737-1-1.html 3. 系统板上硬件连线 (1).