初学单片机:Proteus介绍、Proteus与Keil联调(Windows10环境下)
Proteus是一个仿真软件,可以在里面设计电路并模拟测试,也可生成PCB的布线等等,反正就是强大的不行。初学单片机,除了开发板,这个仿真器就是一个很好的调式环境。软件安装信息:
- Proteus 8.7
- Keil uvision4
- Window 10
很多人说window10安装不成功,其他还好,刚开始装Proteus 8.7,出现了一个缺少hhctrl.ocx的组件,下载后注册,就好了。其他安装不再说明,没有什么大问题。目前Keil和Proteus联调成功:
代码如下所示:
/*------------------------------------------------------------------------------ HELLO.CCopyright 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 MONITOR51SCON= 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
初学单片机:Proteus介绍、Proteus与Keil联调(Windows10环境下)相关推荐
- 在Keil MDK编译环境下使用UEstudio编写程序
在Keil MDK编译环境下使用UEstudio编写程序 由于一些原因目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink.转入MDK的阵营后,为了减小对自己的习惯的影响,今 ...
- Keil嵌入式开发环境下完成一个基于STM32汇编程序的编写
文章目录 一.keil的安装 二.新建工程 三.配置环境 3.1选择设备 3.2选择运行环境 3.3添加源文件 四.测试代码 4.1源码 4.2仿真器设置 4.3编译调试 五.分析HEX文件 六.总结 ...
- 基于51单片机简易数字示波器Proteus仿真
功能介绍: 采用51单片机作为主控CPU:LCD12864可显示方波,三角波,锯齿波,正弦波等,可通过光标对波形进行测量,可以调节显示波形的幅度和频率,也可以将波形进行左右拖拉,完美的仿真出一个51单 ...
- Proteus ISIS与Keil uVersion开发环境的互连
Proteus ISIS与Keil uVersion开发环境的互连 [一]简介 Proteus ISIS 6 Professional是一个强大的电路仿真(VSM,Virtual System Mod ...
- 51单片机全自动洗衣机proteus仿真设计
51单片机全自动洗衣机proteus仿真设计 目录标题 51单片机全自动洗衣机proteus仿真设计 设计介绍 仿真图 电动机驱动模块电路设计 电源模块电路设计 控制按键 进水阀和排水阀控制继电器 程 ...
- 51单片机DS18B20温度报警器proteus仿真设计_可调上下限
51单片机DS18B20温度报警器proteus仿真设计_可调上下限 (仿真+源码+原理图+报告) 原理图:Altium Designer 仿真版本:proteus 7.8 程序编译器:keil 4/ ...
- 基于51单片机篮球计分器proteus仿真设计
本设计是51单片机篮球计分器proteus仿真(源码+原理图+PCB+仿真+报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0004 资料文件下载 ...
- 基于51单片机的电子秤proteus仿真设计
本设计仅供学习参考 基于51单片机的电子秤proteus仿真设计(仿真+程序+原理图+报告+讲解) 原理图:Altium Designer 仿真图proteus 7.8 程序编译器:keil 4/ke ...
- 51单片机实验软件proteus出现错误集锦
51单片机实验软件proteus出现错误集锦 错误一:安装KELI和proteus后,点击仿真但是出现下面错误. 错误二:点击仿真后,源代码本来有程序后面变空白,或者出不来这个调试窗口. 错误一:安装 ...
最新文章
- Discuz常见小问题-如何快速清除帖子
- 机房合作--驼峰命名法
- JZOJ__Day 6:【普及模拟】Oliver的成绩(score)
- Elasticsearch 实战经验总结
- Spring AOP原理浅析及入门实例
- C++ 获取类型信息
- 信息学奥赛C++语言:判断两位数
- python递归实例_python实现递归实例代码
- 解决shutil.copyfile常见错误:PermissionError: [Errno 13] Permission denied
- python函数的组成要素_写好一个Python函数的六要素
- E 定向 牛客练习赛25
- 计算机网络的DIX,《计算机网络》期末考试试卷(B卷)
- 论文笔记_S2D.01-2018-ICRA_Sparse-to-Dense:从稀疏深度样本+单一图像的深度预测
- 网络调试助手NetAssist的使用
- VirtualBox安装Windows 98步骤
- 分享个三国志2017挂机脚本 可玩性很高占用小
- CSS3设置按钮的样式
- java数据类型有哪几种_java数据类型有哪些
- Java永久保存数据_java怎么保存数据
- Unbuntu更换阿里源