初學單片機: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的電路圖結束。

轉載請注明出處

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM