Proteus-Keil联调例程-手动计数器
Keil_C软件使用及Protuse联调操作(共17张PPT)

1.记下安装序列号, 进入setup目录点击setup.exe进行安装; 2.选择Install Support....全新安装,以前没有安装过或者放弃以前的序列号安装;
选择Update Current Installation升级安装,将可以保持原来的序列号,不必再次输入 3.选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司
DLL(“PROTEUS VSM MONITOR 51 DRIVER”);
7 SP3 软件,分别进行安装。
每次安装都必须进行这几步,每次都需要重新写入AddOn标识;
2、把proteus 安装目录下 VDM51.
选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司
■
全功能的源代码编译器;
课外作业:
1、安装keil c软件 2、keil与Proteus联调 3、试把光电计数器用单片机计数,然后编写
c程序,使用proteus仿真,keil联调。
谢谢!
MODELS)文件复制到Keil 安装目录的 \C51\BIN 目录中; 3、编辑C51 里tools.ini 文件,加入:
TDRV1=BIN\VDM51.DLL(“PROTEUS VSM MONITOR 51 DRIVER”);
4、keil 里设置: project-->options for project-->debug tab;
■
全功能的源代码编译器;
■
器件库用来配置开发工具设置;
■
项目管理器用来创建和维护你的项目;
proteus与keil联调

proteus与keil联调proteus 与 keil 联调即使不使⽤以上所说的参数设置,依然可以实现正确的串⼝通信,⽆乱码。
ISP的波特率设置在仿真中并不是取决于编写的代码,⽽是取决于STM32芯⽚的外部晶振频率参数设置。
对于STM32F401芯⽚,ISP的波特率在数值上应该要等于STM32F401的外部晶振频率的4800倍,即403200/84 = 4800;⽽对于STM32F103芯⽚,这个⽐值变为1200,即86400/72 = 1200代码设置的波特率必须是9600,否则,仿真会报错,另外,本⽂只针对标准库编程,HAL库编程按代码⾥设定的波特率设置即可。
在⽤proteus 仿真 stm32f103c6串⼝时,发现stm32主频不能超过55MHz,参见proteus的 sample project,我把倍频系数设为6,同时仿真主频需设为倍频系数*8M(晶振频率),串⼝波特率不受限制。
proteus仿真串⼝前必读事项1、 proteus Virtual Terminal 串⼝波特率没有限制(推荐9600;)2、但对于倍频系数 RCC_PLLMul_*,*的取值似乎只能是6以下,否则Virtual Terminal显⽰乱码。
在sys.c中设置(洋桃电⼦例程;野⽕似乎没把设置RCC频率程序单列出来)/*设置PLL时钟源及倍频系数*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_5); //RCC_PLLMul_x(枚举2~16)是倍频值。
当HSE=8MHZ,RCC_PLLMul_9时PLLCLK=72MHZ3、双击proteus原理图中stm32元件,载⼊*.elf⽂件时,弹出如图2的窗⼝,频率必须设为8MHz* RCC_PLLMul_*,其中*<=6, 8MHz为stm32f103c6的外接晶振频率(proteus仿真库没有stm32f103c8)Proteus 系统设置D:\Keil_v5\TOOLS.INI ( 红⾊为 vdmagdi 增加的内容 )[UV2]ORGANIZATION="lsgxeva"NAME="eva", "lsgx"EMAIL="admin@"ARMSEL=1USERTE=1TOOL_VARIANT=mdk_stdRTEPATH="D:\Keil_v5\ARM\PACK"[ARM]PATH="D:\Keil_v5\ARM\"VERSION=5.18PATH1="C:\GNU Tools ARM Embedded\4.9 2015q2\"TOOLPREFIX=arm-none-eabi-CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8,TDRV15) # Drivers for ARM7/9 devicesCPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV6,TDRV7,TDRV9,TDRV10,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15) # Drivers for Cortex-M devices CPUDLL2=SARMCR4.DLL(TDRV6,TDRV15) # Drivers for Cortex-R4 devicesBOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")TDRV2=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV3=BIN\lmidk-agdi.dll("Stellaris ICDI")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")TDRV5=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")TDRV6=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")TDRV7=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")TDRV8=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")TDRV9=NULink\Nu_Link.dll("NULink Debugger")TDRV10=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")TDRV11=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")TDRV12=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")TDRV13=BIN\DbgFM.DLL("Fast Models Debugger")TDRV14=PEMicro\Pemicro_ArmCortexInterface.dll("PEMicro Debugger")TDRV15=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")LIC0=BUURY-IEX7U-UHJ8H-W3E43-TR57A-KSXDC[ARMADS]PATH="D:\Keil_v5\ARM\"PATH1=".\ARMCC\bin\"CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8,TDRV15) # Drivers for ARM7/9 devicesCPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV6,TDRV7,TDRV9,TDRV10,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15) # Drivers for Cortex-M devices CPUDLL2=SARMCR4.DLL(TDRV6,TDRV15) # Drivers for Cortex-R4 devicesBOOK0=HLP\mdk5-getting-started.pdf("MDK-ARM Getting Started (PDF)",GEN)BOOK1=HLP\mdk5-getting-started_jp.pdf("MDK-ARM Getting Started (Japanese/PDF)",GEN)BOOK2=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)BOOK3=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)BOOK4=HLP\DUI0592E_02_mdk_getting_started_guide.pdf("ARM Compiler Getting Started Guide v5.06 for µVision (PDF)",GEN)BOOK5=HLP\DUI0375G_02_mdk_armcc_user_guide.pdf("ARM Compiler v5.06 for µVision (PDF)",GEN)BOOK6=HLP\DUI0377G_02_mdk_armlink_user_guide.pdf("ARM Linker v5.06 for µVision (PDF)",GEN)BOOK7=HLP\DUI0378G_02_mdk_libraries_user_guide.pdf("ARM Libraries and Floating Point Support Guide v5.06 for µVision (PDF)",GEN)BOOK8=HLP\DUI0379G_02_mdk_armasm_user_guide.pdf("ARM Assembler User Guide v5.06 for µVision (PDF)",GEN)BOOK9=HLP\DUI0459F_02_mdk_fromelf_user_guide.pdf("Using the fromelf Image Converter v5.06 for µVision (PDF)",GEN)BOOK10=HLP\DUI0590E_02_mdk_armar_user_guide.pdf("Creating Static Software Libraries with armar v5.06 for µVision (PDF)",GEN)BOOK11=HLP\DUI0591E_02_mdk_errors_and_warnings_reference_guide.pdf("ARM Compiler Error and Warnings Reference Guide v5.06 for µVision (PDF)",GEN) BOOK12=HLP\DUI0593E_02_mdk_migration_compatibility_guide.pdf("ARM Migration and Compatibility Guide v5.06 for µVision (PDF)",GEN)TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")TDRV2=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV3=BIN\lmidk-agdi.dll("Stellaris ICDI")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")TDRV5=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")TDRV6=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")TDRV7=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")TDRV8=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")TDRV9=NULink\Nu_Link.dll("NULink Debugger")TDRV10=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")TDRV11=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")TDRV12=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")TDRV13=BIN\DbgFM.DLL("Fast Models Debugger")TDRV14=PEMicro\Pemicro_ArmCortexInterface.dll("PEMicro Debugger")TDRV15=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK13=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")RTOS0=Dummy.DLL("Dummy")RTOS1=VARTXARM.DLL ("RTX Kernel")ARMCCPATH0="ARMCC" ("V5.06u1 (build 61)")DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")[C51]PATH="D:\Keil_v5\C51\"VERSION=V9.59BOOK0=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")TDRV9=BIN\JLinkEFM8.dll ("J-Link / J-Trace EFM8 Driver")TDRV10=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")RTOS0=Dummy.DLL("Dummy")RTOS1=RTXTINY.DLL ("RTX-51 Tiny")RTOS2=RTX51.DLL ("RTX-51 Full")LIC0=SDJT4-FM3RX-B2ILG-V2D72-RQ76I-6L05G[KARM]TDRV0=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK0=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")Keil⼯程⽬标调试选项 ( Proteus VSM Simulator )============ End。
proteus 与Keil3联合调试

整了很久的proteus 与keil3联合调试仿真ARM(LPC2103),今天终于整通了,不多说,直接进入话题:
1、安装realviewMDK3.5,Proteus 7.5SP3.安装目录是D:\Keil、D:\Program Files\Labcenter Electronics。
D:\Keil\ARM\STLink
2、下载vdmagdi.exe,安装至D:\Keil,全部选择安装。
3、之后,D:\Keil\ARM\BIN目录下多出一文件VDMARM.dll。
4、将VDMARM.dll复制出来,改名为:ST-LINKIII-KEIL.dll
5、将修改后的ST-LINKIII-KEIL.dll复制到D:\Keil\ARM\STLink目录,替换原文件
6、OK,剩下的就是Keil和proteus设置。
7、proteus中的Debug中选择Use remote debug monitor,并在使用mdk调试前把proteus打开并载入相应的hex文件,keil使用选择调试模式,如下图:
8、
9、编译文件,生成.HEX文件,将.HEX文件打开。
删掉倒数第二行:
:0400000500000110E6,然后回车。
将修改后的.hex文件导入到proteus文件中去。
切记:在调试过程中不要再编译keil文件。
10、打开proteus硬件电路图Debug中选择Use remote debug monitor。
直接运行keil文件。
此时proteus文件自动运行。
11、可以设置断点进行观察。
附张仿真图先:。
实验一 keil与proteus软件的使用及联调

实验一keil与proteus软件的使用及联调一.实验目的1.学会keil软件的使用方法2.学会proteus软件的使用方法3.学会keil及proteus软件的联调方法二.实验设备计算机、keil软件、proteus软件三..实验步骤1.keil软件的使用(1)双击桌面的快捷图标,即可启动该软件,几秒种后,就会出现Keil μVision3界面。
(2)在编辑界面下,首先单击“Project”菜单,选择下拉菜单中的“New Project”,弹出文件对话窗口,选择要保存的路径,在“文件名”中输入一个工程的名称,保存后的文件扩展名为“.uv2”,这是Keil µVision3工程文件的扩展名,以后可直接单击此文件就可打开先前建立的工程。
(3)在一个新的工程创建完成后,就需要将自己编写的用户源程序代码添加到这个工程中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。
a.单击菜单栏【File】→“New”选项,在这个窗口会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。
单击【File】→“Save”选项),保存文件,文件名的扩展名应为“.c”。
b.右键单击“Source Group1”,选择“Add File to‘Source Group1’” 选项,在该窗口中选择要添加的文件,点击这个文件后,单击“Add”按钮,再单击“Close”按钮,文件添加完成。
(4)单击快捷按钮中的,对当前文件进行编译,直至提示信息显示没有错误为止。
(5)程序编译没有错误后,就可以进行调试与仿真。
单击开始/停止调试的快捷按钮(或在主界面点击【Debug】菜单中的“Start/Stop Debug Session”选项),进入程序调试状态。
2. proteus软件的使用(1)双击桌面的快捷图标,即可启动该软件,几秒种后,就会出现proteus软件界面。
(2)在“菜单”项中点击【模板】按钮,(3)在ISIS菜单栏中选择【系统】→“设置图纸尺寸”菜单项,出现图如4-19对话框,用户可选择图纸大小或自定义图纸大小。
Proteus和keil的联调

Proteus和keil的联调
一、实验目的
1、熟悉Proteus单片机仿真平台
2、掌握在Proteus和keil的联调的调试方法
二、实验内容
1.用Keil生成Hex文件
先用Keil建立工程文件,CPU选Atmel AT89C52。
建立下列C源程序:
#include<reg52.h>
#define unit unsigned int
unit i;
sbit led=P1^0;
void main()
{
while(1)
{
led=1;
for(i=30000;i>0;i--);
led=0;
for(i=30000;i>0;i--);
}
}
点击project择“Options for Target ‘Target 1’”,软件将弹出工程设置窗口。
在工程设置中其他的我们暂时不管,只需将“Output”选项卡下面的“Creat HEX File”选中就可以了,如下图所示。
这样,当我们调试工程项目时,软件将能够生成HEX文件,用来装入单片机,使之运行我们的指令。
设置好以后,就可以编译、链接、调试我们的工程项目了。
在整个工程生成HEX文件以后,我们在Keil中的任务就算完成了。
2、在Proteus里画好下图
3、双击proteus里的单片机出现下图所示,选择刚刚用keil编译后的HEX文件
4、点击proteus左下角的开始按钮。
好了,这时候就可以看到那发光管一闪一闪的了。
keil和proteus联调

keil和proteus的联调设置(转)Proteus和Keil的使用与联调Proteus7.0 是目前最好的模拟单片机外围器件的工具,非常不错。
可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC 器件等等),虽然有那么多优点和长处,但还是与实际情况有不少的差别。
如果条件允许,还是买一块单片机开发板或自己做一个单片机应用系统,实实在在的学习和体会一下,仿真毕竟还是仿真,不能代替实际操作,许多实际问题是在仿真中碰不到的。
当然,条件不允许,我们可以采用仿真,达到学习的目的。
如果学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB 图以外,那么Keil C51 软件应该要掌握,我们要通过它来编写和调试单片机程序。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。
下面就三个问题分别进行介绍。
一、 proteus的使用1. 软件打开双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图1-1所示界面,随后就进入了Proteus ISIS集成环境。
图1-1 启动时的界面2. 工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图1-2 Proteus ISIS的工作界面关于该软件的使用,与学习其他软件的方法没有多大区别,当然我们也不是每个功能都使用,没必要逐一介绍,再说下面有例子,呵呵,相信自己的能力吧。
Proteus和Keil联调设置方法_IT学习空间
Proteus和Keil联调设置方法_IT学习空间一 keil c与proteus的离线联合使用1)先通过keil c51编辑,修改,编译源程序并生成HEX等单片能识别的文件,运行proteus 将HEX文件与原理图中的MCU进行绑定即可2)不论是离线还是在线方式的联合使用 HEX文件是必不可少的,如果找不到HEX文件这不是软件出错,而是没有进行正确的设置进人KEIL开发环境打开一个工程文件,在选中“target1"的情况下选择project--->options for target "target1" 选择”output"选项卡在“create HEX file 前的方框里打钩 ,保存即可二 KEIL C51与PROTEUS 7.0的联合仿真调试1)确保计、算机上安装有TCP/IP协议2)下这个软件 proteus vsm a GDI Driver 就是vdmagdi.exe,装了后的变化是在KEIL文件夹下的TOOLS.INI文件中的[c51]字段的最后多了两行就是tdrv5=binvdm51.dll和book10=hlplvdmagd用于两软件的联接和帮助文档3)进入KEIL的开发环境建立一个工程文件在先中“TARGET"的情况下选择project-->options for target "target'4)在"debug"选项卡中选择左边的“use“,在下拉框中选”proteus vsm simulator",再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus).5)打开proteus lsls 在菜单栏中选择“debug-->use remote debug monitor"选中该项.6)注意,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程文件要和Keil工程的文件夹在同一层目录下).(注明:以上参考自/lihaoy/blog, 谢谢原文作者^_^)附:Proteus 7.2和Keil C51 V8.08 uvision 3的完整安装1.安装Proteus Version 7.2beta SETUP2.安装Proteus Update72SP2升级到SP2版本2.包括安装破解文件Labcenter_LICENCE.lxk3.安装补丁文件patch,注意里面在说要选择目录的时候要选择相应的目录4.安装汉化菜单:Proteus 7.01 SP2 ARES的汉化菜单放到……Program Files\Labcenter Electronics\Proteus 7 Professional\BIN目录下。
Proteus6.94、95与keilC51联调设置
Proteus6.94、95与keilC51联调设置方法1、将KeilC51(u2、u3均可)、Proteus6(94、95均可)都安装好;2、下载两个软件,一个是Proteu的Vdmagdi.exe,另一个是授权后的Prospice.dll(两个文件链接地址看下面)3、先运行Vdmagdi.exe安装Keil接口,然后将Prospice.dll覆盖在Proteus的安装文件夹下的Bin中如:D:\Program Files\Labcenter Electronics\Proteus6Professional\BIN;4、打开Proteus,在【菜单】【Debug】下拉菜单中选【User Remote Debug Monitor】(在该项前打勾);5、打开KeilC51,点击【菜单】【工程】【为目标'XX'设置选项】,在【调试】标签下选择右边的【使用U】单选,并在下拉框中选【Proteus VSM Simulator】仿真设备;6、在Proteus侧做好硬件连线,Keil侧写好软件,点击Keil【调试】【运行】,您可以欣赏联调了。
有关本坛中的失败例子,好像应该与Prospice.dll有关,这个文件我也是从网上下载的,估计与授权有关,我的Proteus的“Subs Expiry”是2006年6月28日,应该是过期的,如果哪位大大有不过期的授权文件,可能不需要覆盖Prospice.dll。
proteus6.9sp4与keil联调几点发现:在这里联调的一些基本操作就不再赘述了1,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程Design文件(后缀名.DSN)要和包含Keil工程所有文件的那个文件夹在同一层目录下);经过操作发现:Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清楚),否则proteus报错:Unable to open HEX file 'Keil\DS1302.hex'.keil报错:target dll has been cancelled debugger aborted!),另外针对其他版本的联调,以上两点原则也要遵守2,6.9以上版本需要添加与Keil联调补丁Vdmagdi.exe,其作用就是添加在程序目录keil/c51/bin目录下添加Vdm51.dll,(注意:与其他版本不同,6.9以上版本Proteus6 Professional\MODELS\目录下没有VDM51.dll)并且修改keil目录下tools配置文件,添加两行文本:TDRV8=BIN\VDM51.DLL("Proteus VSM Simulator") BOOK2=HLP\VDMAGDI.HLP("Proteus VSM AGDI Driver"),经过实际操作证明,不一定要安装补丁Vdmagdi.exe,手动操作也可成功实现联调功能,其中第二行非必需3,至于Proteus6Professional\BIN目录下Prospice.dll的作用,有网友说与授权有关,有网友说与授权有关,确有可能。
keil与Proteus联调
Keil与Proteus的联调设置第一步:安装好Proteus、Keil uvision(本人用的是Proteus7.8、Keil uvision5,其他版本类似)两个软件,并破解(相信大家不会用正版的),本教程是ARM联调,需要ARM,Keil 就要破解ARM的,需要51的就要破解51的。
第二步:安装Proteus VSM Simulator驱动(可以在网上免费下载到,百度一下。
虽然说供keil2和keil3用,但是亲测keil4和keil5也能用)。
当然也可以在下一步操作后安装,不过那样的话修改配置问价就麻烦一下等着瞧。
需要强调的是必须安装目录必须选在Keil uvision安装目录之下。
当然VDM51.dll和VDMARM.dll也可以只选择你所需要的。
安装完毕之后可以在C51和ARM下面目录的BIN文件夹的下面分别看到VDM51.dll和VDMARM.dll,如果没有,说明没有安装到指定路径下,请重新安装。
第三步:修改Keil uvision安装目录下的配置文件,即TOOLS.INI。
用记事本打开,或其他查看软件打开。
找到[ARMADS] 这一行下面的容,到[C51]这一行为止,即[ARMADS]字段。
[ARMADS].........[C51]在[ARMADS] 下面可能会看到下面这一行:CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8) # Drivers for ARM7/9 devices也就是默认可以使用TDRV0,TDRV4,TDRV5,TDRV8所代表的调试工具,为ARM7/9的驱动但是我们要使用Proteus调试,可[ARMADS]字段里面没有,接下来我们就把也它加进去。
在[ARMADS] 的上面两行或者[KARM]的上面或者下面两行会发现下面两行东西:TDRV9=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")(说明我这上面的TDRV9,BOOK2可能是TDRV15,BOOK3也可能是其它的)当然如果你没有做步骤2你是找不到这两句的。
100以内手动计数器
苏州市职业大学课程设计说明书名称单片机原理及应用课程设计2012年9月17日至2011年9月28日共2 周院系机电工程班级10机电(2)姓名张祥系主任陶亦亦教研室主任陆春元指导教师杨洪目录前言一.课题介绍1.课程设计2.课题名称3.课程设计要求二.系统设计1.系统总体方案设计2.系统硬件设计3.系统软件设计三.系统仿真1.工具软件简介2.系统仿真模型的建立3.k e i l和p r o t e u s的联合调试4.系统仿真结果小结一课题介绍1.课题名称100以内的手动计数器2.课题要求(1) 上电时,数码管显示为00。
(2)利用单片机来制作一个手动计数器,单片机的管脚上接一个轻触开关,作为手动计数按钮,用单片机的I/O口接数码管,作为计数器,进行加计数显示。
(3)计数器计数到99后,再按计数按钮,则数码管从00重新开始计数。
3.课程设计要求(1)根据课题要求,确定设计方案;(2)在Proteus软件中,绘制系统原理图;(3)在keil中编写单片机程序,结合原理图进行系统调试;(4)记录系统运行结果,书写课程设计报告。
二系统设计1.系统总体方案设计2.系统硬件设计(1)AT89C51单片机最小系统设计单片机最小系统复位电路的极性电容C4的大小直接影响单片机的复位时间,一般采用10-30uF,51单片机最小系统容值越大需要的复位时间越短。
最小系统起振电容C5、C6一般采用15-33uF,并且电容离晶振越近越好。
晶振采用6MHZ。
在正常工作的情况下可以采用更高频率的晶振,晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
(2)数码管1的设计(3)数码管2的设计(3)开关的设计(4)系统原理总图3.系统软件设计(1)主程序流程图:利用单片机来制作一个手动计数器,在单片机的管脚上接一个轻触开关,单片机的P0口、P1口作为输出端,来控制数码管的显示,实现00-99计数功能,子程序实现将高低电位转换为数码管的十进制数字,初始值为00,通过手动开关发脉冲信号实现计数,即按键识别成功就自动加一,在计数器上显示加后的数值,当一直加到99时,在手动给脉冲时,回到初始状态00,从而实现00-99加计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Capacitors
Generic
CRYSTAL
Miscellaneous
-
RES
Resistors
Generic
7SEG-COM-CAT-GRN
Optoelectronics
7-Segment Displays
BUTTON
Switches&Relays
Switches
2. 电路原理图 元件全部添加后,在Proteus ISIS的编辑区域中按 下图所示的原理图(晶振和复位电路略)连接硬件电 路51单片机的P0口在作为普通I/O使用时必须 加上拉电阻,否则不能准确输入或输出高低电平。 仿真时可通过观察P0口的电平状态来体会这一点。 在Proteus与Keil的联调过程中,可以综合运用Keil 中的多种调试功能来详细观察电路的工作情况。
Debug Session】选项,或者在工具栏中直接单击图 标,进入调试环境;
3. 进行调试与仿真 (1) 在Keil的菜单栏中选择【Debug】→【 Start/Stop Debug Session】选项,或者在工具 栏中直接单击图标,进入调试环境; (2) 按“F5”键或图标,顺序执行程序; (3) 在Proteus ISIS界面中,按动开关,可看到数 码管的显示值随之加1,如图所示。
电路原理图
Proteus调试与仿真 Proteus调试与仿真
1. 建立程序文件 (1) 打开Keil µVision2,新建Keil项目,选择AT89C51单 片机作为CPU; (2) 新建汇编源文件,编写程序并将其导入到“Source Group 1”中; (3) 在“Options for Target”对话框中,选中“Output” 选项卡中的“Create HEX File”选项和“Debug”选项卡 中的“Use:Proteus VSM Simulator”选项; (4) 编译源程序,修改程序中的错误直至通过。
手动计数器设计
内容 利用单片机AT89C51制作一个0~99计数器手动计 数器,用其P2.0~P2.7接一个共阴极数码管,输 出显示0~99计数值的个位,用P0.0~P0.7接数码 管输出显示计数值的十位数。P3.3引脚外接一轻触 开关,要求每按下一次按键,计数值加1,当计数 值超出99后自动返回0重新开始循环计数。 训练目的 掌握AT89C51单片机I/O口输入输出的应用方法; 掌握单片机驱动7段数码管显示数字的编程方法。
2. 加载目标代码文件 (1) 在Proteus ISIS中,左键双击AT89C51元件打开“Edit Component”对话框,设置单片机的频率为12MHz; (2) 在该窗口的“Program File”栏中,选择先前在Keil中编译产生 的“.HEX”文件;
(3) 在Proteus ISIS菜单栏中选择【File】→【Save Design Design】选项,保存设计; (4) 在Proteus ISIS菜单栏中,打开“Debug”下拉菜单 ,在菜单中选择“Use Remote Debug Monitor”选项, 以支持与Keil的联调。 3. 进行调试与仿真 (1) 在Keil的菜单栏中选择【Debug】→【Start/Stop
Proteus电路设计 Proteus电路设计
1. 元件清单列表 打开Proteus ISIS编辑环境,按表6-1所列的清单添加元件。
表6-1 元件清单
元件名称 所 属 类 所属子类
AT89C51
Microprocessor ICs
8051 Family
CAP
Capacitors
Generic
CAP-ELEC