注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
仿真机介绍:Keil c51 M
文章长度[6833] 加入时间[2006/7/1] 更新时间[2024/3/30 5:27:21] 级别[3] [评论] [收藏]
仿真机介绍:
Keil c51 Mon51仿真器
Keil c51 是为8051单片机开发设计的功能强大开发软件。Mon51仿真器便是基于Keil C51软件的仿真器,虽然它的功能有所限制,但对于初学者来说可以用来入门。

Monitor51及其使用
1. Monitor51对硬件的要求
(1) 硬件系统为51系列CPU;

(2) 带5K外部程序存储器(从O地址开始),存放Monitor51程序;

(3) 256Bytes的外部数据存储器以及5K的跟踪缓冲区,此外,外部数据存储器必须足够容纳所有应用程序代码及数据,且所有外部数据存储器必须为冯.诺伊曼存储器,即能一致访问XDATA与Code空间。

(4) 一个定时器作为波特率发生器供串口使用; (5) 6 Bytes的空余堆栈。

2. Mon51的使用
Mon51的使用途径有三种方式:

(1) Dos行命令方式
即先用install对MON51进行配置,然后用MON51进入Monitor状态,启用各种命令对Monitor51进行调试。

(2) tScope51方式 启动tScope51装入TS51目录下的MON51.IOT驱动文件,与目标板通信。

(3) dScope51 for Windows方式 在选CPU驱动文件时,选“MON51.dll”,则检查目标板并进入MON51状态。

3. MON51的配置
(1) MON51 for Dos的配置
运行install文件(在MON51目录下),不同的参数可以配置不同的硬件环境。INSTALL Serialtype [xdstastart[codestart[bank][PROMCHECK]]],具体说明见MON51帮助文件或使用手册。

(2) MON51 for Windows的配置
在启用MON51.dll时,会使得系统自动检查目标板连接,如配置不对,则弹出“Configuration”对话框,设置PC串口,波特率等,完毕单击“apply”有效。

4. 串口连接图:
收发交叉互连,RTS、CTS直连,DSR、DTR直连,具体引脚排列参考串口资料。

5. MON51命令及使用
详细的MON51命令可参阅帮助。


 



一、软件调试

1、开机,运行Keil uVision2;

2、创建工程;

鼠标左键单击主菜单“Project”----------
鼠标左键单击子菜单“New Project”---------
弹出“Creat New Project”对话框---------
用鼠标在“保存在”下拉框选择你要保存的文件夹(比如“我的文档”)----------
在“文件名”文本框处用键盘敲入你给这个工程起的工程名(如“test1”)----------
鼠标左键单击“保存”按键----------
弹出"Select Device for Target "Target1""对话框---------
用鼠标在左边列表框“Data Base”区双击ATMEL或单击ATMEL前的“+”号----------
ATMEL子选项展开----------
用鼠标左键单击“89C52”----------
用鼠标左键单击“确定”按键--------

3、建立源程序;

A、汇编程序

鼠标左键单击菜单“File”----------
鼠标左键单击菜单“New”---------
在新建的文本窗口(Text1)中用键盘键入你的汇编程序
(
例如使P1.0输出高低电平的源程序:

ORG 8000H
LOOP: SETB P1.0
LCALL DELAY
CLR P1.0
LCALL DELAY
AJMP LOOP
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
ret
end

)------
鼠标左键单击菜单File------
Save as---------
在新建的文档中键入你的汇编程序--------
弹出Save As对话框----
用鼠标在"保存在"下拉框选择你要保存的文件夹(比如"我的文档")--------
在“文件名”文本框处用键盘敲入你给这个工程起的工程名(如"test1.a51")--------
鼠标左键单击“保存”按键
在左边资源管理器用鼠标左键双击“Target 1”或单击“Target 1”前的“+”号-----
鼠标右键单击Source Group--------
弹出“Add file to Group "Source Group 1"”------
“文件类型”选“asm source file (*.a*)”---
找到"test1.a51"文件,鼠标左键单击该文件--------
鼠标左键单击“Add”----
鼠标左键单击“Close”----


修改程序直到鼠标左键单击主菜单“Project”------
鼠标左键单击子菜单“Built target”------
下边窗口显示""test1"-0 Errors(s),0 Warning(s)"--------

B、C51程序

鼠标左键单击菜单“File”------
鼠标左键单击菜单“New”---------在新建的文本窗口“Text 1”中用键盘键入
你的C51程序
(

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

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

#include /* special function register declarations */
/* for the intended 8051 derivative */

#include /* 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 */

//My Add
// delay();//大约二秒
// P1=0xff;
// delay();
//My Add

// printf ("Hello World\n"); /* Print "Hello World" */
}
}


)------
鼠标左键单击菜单file------
save as---------
在新建的文档中键入你的汇编程序--------
弹出Save as对话框----
用鼠标在"保存在"下拉框选择你要保存的文件夹(比如"我的文档")--
在“文件名”文本框处用键盘敲入你给这个文件起的文件名(如"testc51.c51")--------
鼠标左键单击左边列表框Target1-----
鼠标右键单击Source Group--------
弹出Add file to Group "Source Group 1"------
文件类型选c source file (*.c)---
找到"testc51.c51"鼠标左键单击该文件--------
鼠标左键单击"add"-------
找到"C:\KEIL\C51\LIB\Startup.a51"鼠标左键单击该文件--------
鼠标左键单击"add"----
鼠标左键单击"close" --------
将 "Startup.a51"的"CSEG AT 0"改为"CSEG AT 08000H"


修改程序直到鼠标左键单击菜单“Project”------
鼠标左键单击子菜单“Built target”------
下边窗口显示""test1"-0 Errors(s),0 Warning(s)"

4、设置参数;


用鼠标左键单击主菜单“Project”------
用鼠标左键单击子菜单“Options for Target "Target1"”--------
弹出“Options for Target "Target1"”对话框------
在“Target”标签下修改“Xtal(Mhz)”为“11.0592”--------
在“Output”标签下,选中“Create HEX file”(如果你要生成hex文件用编程器写到目标板的
89C52单片机中)-------
在“C51”标签下修改“Interrupt vectors at address”为“0x8000”----
在“BL51 Locate”标签“Code”中填入“0x8000”------
在“debug”标签选中“Use keil monitor-51 driver”--------
用鼠标左键单击"Setting"按键-------
根据你用的串口用鼠标选择Port------
左键单击"ok"按键----
选中“Load Application at Start”---------
选中“Go till main()”---


用鼠标左键单击"确认"按键-------
其余缺省


5、仿真调试;


用鼠标左键单击主菜单“Debug”------
用鼠标左键单击子菜单“Start/Stop Debug Session”----
用鼠标左键单击主菜单“Peripheral”----
用鼠标移到子菜单“I/O - Ports”----
用鼠标左键单击子菜单“Port1”---
用鼠标左键单击子菜单“View”---
用鼠标左键单击子菜单“Periodic Window Update”---
切换到你的源程序窗口----
将光标移到开头的一条可执行语句上----
用鼠标左键单击主菜单“Debug”------
用鼠标左键单击子菜单“Run to Cursor line”------
用鼠标左键单击子菜单“Step”----
或用鼠标左键单击子菜单“Insert/Remove break point”-----
用鼠标左键单击子菜单“Go”--------
重复“Step”或“Insert/Remove break point”“Go”;
用万用表测AT89C52的P1.0(即1脚)的电压是否和程序?quot;parallel port 1"窗口一致;

停止debug用鼠标左键单击主菜单“Debug”------
用鼠标左键单击子菜单“Start/Stop Debug Session”

注意:每次重新“debug”前要按一下复位键;

二、目标板独立运行

1、确认程序调试通过后,若为汇编汇编程序则将“ORG 8000”改为“ORG 0”,
若为C51程序则将“Startup.a51”中“CSEG AT 08000H”
改回“CSEG AT 0H”,
鼠标左键单击菜单“Project”------
鼠标左键单击子菜单“Built target”------
下边窗口显示""test1"-0 Errors(s),0 Warning(s)"
2、将生成的文件“工程名.HEX”用编程器写入目标板51单片机,将其插回目标板
原处,通电独立运行;


说明较繁锁,难免有错误或遗漏,仅供参考,有错误或遗漏欢迎指出
配置:包括仿真机主机一台,电源一个,光盘一张,串口线一条

价格:MON51型单片机仿真机:175元
以上价格包括邮费
特快ems再加35元
联系邮件:SDMCU51@163.com
联系电话:0533-8637497(24小时开通)传真:0533-8637497
公司网址:SDMCU.126.COM
QQ:86815201
联系地址:山东淄博张店健康街45-18号
联系人:许涛
1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389