仿真板说明-v7资料_第1页
仿真板说明-v7资料_第2页
仿真板说明-v7资料_第3页
仿真板说明-v7资料_第4页
仿真板说明-v7资料_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Keil C51源程序仿真开发功能板. 可仿真调试各种 8051, 包括带 ISP 功能的新型单片机. 学习单片机高级语言 C51的硬件平台.Windows 编译环境接口 , 简单可靠.MAX7219驱动 8 位高亮 LED. 用户程序零地址仿真. 单片机引脚插座. 用户扩展区1Keil C51源程序仿真板使用说明Keil C51源程序仿真板是一种功能强大而实用的单片机开发调试工具,它充分利用台式 PC机的系统资源 , 使用户可以轻松完成 8051 单片机应用系统的仿真调试工作 . 用户在 PC机上完成软件程序的编辑 , 编译 , 连接 , 通过串行口通信方式将目标程序相比之下载到C51 仿真

2、开发功能板中,可对汇编语言和高级语言源程序进行跟踪调试,具有指令单步 / 过程单步运行 , 设置多达10 个临时断点 , 随时察看内存数据或单片机内部资源 , 在线修改源程序等多种功能, 仿真开发功能板上预留了用户扩展区, 并将单片机的引脚全部引出, 可作为外部仿真头使用, 还预留了若干译码输出, 可作为8279 键盘 ,A/D,D/A等接口使用。 采用本仿真开发功能板对用户源程序进行实时在线调试, 可极大地缩短单片机应用系统的开发时间。一、仿真开发功能板资源*.单一 +5V电源供电。*. 8-32K仿真 RAM/用户 ROM,配有 32KRAM芯片 62256,调试时用户程序被下载到该芯片中

3、,调试完成后可将其换为固化有用户程序的 2764/27256 芯片。*. 8K/24K用户 RAM, 配有 8KRAM芯片 6264, 作为用户的数据存储器。*. MAX7219 共阴极 8 段 LED驱动器 ,可直接驱动8 个共阴极数码显示器。*. 8031 单片机 ( 基本配置 ), 可选配其它类型单片机如 :Winbond77E58,DS80C320, Phiips98C51RDx(ISP),SST89C58(ISP)等新型单片机。仿真开发板仅占用单片机内部串行口和定时器T1以便于与 PC机的通信 , 完成用户程序的仿真调试 , 其它所有片内资源均可由用户使用。如在开发中需使用串行口,

4、可选用内部带有双串口的单片机如DS80C320,Winbond77E58等*. 单片机全部引脚都引出, 可作为仿真插头接口 , 还预置了若干译码输出端口 ( 地址线 ) 以及数据线以便于用户使用, 板上留有充分的用户扩展区 , 方便用户进行各种接口扩展。2二、扩展插座引脚说明电源 /UART0 引脚说明:插座 P3(8279 键盘板 )引脚说明 :插座 P4(仿真头 )引脚说明 :ALE 12 VCCVCC 1 2 P1.0RSTP0.0P1.1WRRDP0.1P1.2A0C800HP1.2P1.3D1D0P1.3P1.4GNDD2P1.4P1.5REKD3P1.5P1.6D4P1.6P1.7

5、D7D5P1.7RSTGND 19 20 D6RXDALETXDPSENINT0P2.7INT1P2.6T0P2.5T1P2.4WRP2.3RDP2.2P2.1P2.039 403三、插座及跳线说明U2 插座可插入32K 仿真 RAM62256芯片 , 用于从 KEIL 仿真环境下载程序进行调试 ,也可插入用户ROM27256芯片 , 用于全速运行调试通过的用户程序。该插座地址范围为0000H 7FFFH,配有 4 个跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置JP1RSE仿真仿真调试RSEA15用户 ROM运行用户程序JP2PSEN用户 ROM哈弗 ( 数据程序分开 )

6、P/SP/S仿真冯诺依曼 ( 数据程序共享 )JP327256用户 ROM运行用户程序6225662256仿真仿真调试JP427256用户 ROM运行用户程序6225662256仿真仿真调试U4 插座可插入RAM6264或 62256芯片 , 用于存贮用户数据, 该插座地址范围为8000H DFFFH。配有 3 个跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置JP5RD哈弗 ( 数据程序分开 )P/SP/S冯诺依曼 ( 数据程序共享 )JP664插入 6264 芯片6456插入 62256 芯片JP764插入 6264 芯片6456插入 62256 芯片U5 插座上插入的是

7、监控 ROM芯片 , 其中是仿真实验板与 KEIL 环境连接所需的监控程序 , 该插座地址范围为 E000H FFFFH。配有 1 个跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置JP8E000运行监控程序E000GND实验板检测GAL16V8插座配有1 个跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置56K不用板上扩展地址JP948K用板上扩展地48K址4U10插座上插入的是单片机8031 芯片 , 用户可根据自己的需要插入其他类型的兼容8051 芯片。该插座配有 1个跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置JP10VCC运行

8、片内程序或进行 ISP 操作GNDGND运行片外程序U8 插座上插入的是固化74LS04 芯片,配有1 个跳线 , 其作用如下:跳线名跳线位置说明默认位置JP11EMU运行监控程序EMUUSER运行用户程序板上左边靠近MAX232芯片处有一个 P2 跳线 , 其作用如下 :跳线名跳线位置功能作用连接方式说明默认位置P1.3此两脚短路时可使用DS80320的第二个串行断开空脚口 UART1空脚此两脚短路时可使用DS80320的第二个串行断开P1.4口 UART1UART1插座已经预留在板上, 但需要用户自己焊接。以上跳线的默认位置是为便于与KEIL 仿真环境接口 , 方便下载调试程序而设置的 ,

9、用户可根据自己需要改变跳线位置。一般在进行仿真调试时应按默认方式配置, 若用户改变跳线位置后出现无法与KEIL环境连接的现象 , 请蒋跳线恢复到默认位置。在仿真调试状态与 KEIL 环境联机后 , 很容易将用户程序下载到实验板中, 可以进行单步运行、插入断点、过程单步运行等,当用户程序调试通过后, 可将所生成的 HEX文件写入自己的 EPROM芯片 , 插入到实验板的 U2 插座中 , 并将 U5插座上的监控芯片取下 , 上电或复位后将全速运行用户的程序。存储器地址空间分配:存储器空间地址范围仿真 RAM/用户 ROM区0 x0000 0 x7EFF用户数据 /IO 扩展区0 x8000 0

10、x9EFF,0 xA0000 xBFFF用户扩展区0 xC000 0 xDFFF监控 RAM区0 x9F00 0 x9FFF监控 ROM区0 xE000 0 xFFFF5四、用户程序的仿真调试使用说明首先要建立一个项目,如图 1 所示,启动 Keil uVision2 后之后,单击“ Project 菜单 /New ”选项:图 1从弹出的窗口中 , 选择要保存项目的路径 , 并输入项目文件名“ Hello.uv2 ”, 然后点击保存按钮,如图 2 所示:图 26这时会弹出一个选择 CPU型号的对话框 , 可以根据所使用的单片机来选择 , 如图 3 所示选择 Ateml89C52, 选定 CPU

11、型号之后从窗口右边一栏可以看到对这个单片机的基本说明 , 然后点击确定按钮。图 3接下来要创建程序文件, 如图 4 所示,单击“File菜单 /New ”选项:图 47在弹出的编辑窗口中输入如下C51 源程序:/*HELLO.C测试 Keil C51源程序仿真版及串行口例子程序,需要调用对板上LED接口芯片MAX7219进行初始化的汇编语言程序: DINPUT.A51和 DISPLY.A51 */#include #include /*-定义外部汇编语言子程序:DINPUT为 MAX7219初始化命令写入子程序,其中参数 aa 为 MAX7219内部寄存器地址,参数 bb 为待写入的命令。DI

12、SPLY为 MAX7219显示子程序,其中参数*cc为显示缓冲区首地址。-*/extern void DINPUT(unsigned char aa, unsigned char bb); /*外部 A51 程序 */extern void DISPLY(unsigned char data * cc);/* -定义在 Keil C51源程序仿真版上LED显示的“ HELLO”字符数据-*/static unsigned char dg=0 x37,0 x4f,0 x0e,0 x0e,0 x7e,0 x00,0 x00,0 x00;/*-使用 Keil C51 源程序仿真版时,若希望用 Deb

13、ug 中的 Stop 按钮停止运行用户程序,则需要如下语句来保留串行中断入口-*/#ifdef MONITOR51char code reserve 3 _at_ 0 x23;#endif/*主函数 */void main (void) 8/* -不使用 Keil C51源程序仿真版时,需要初始化串行口,以便从Debug 的串行窗口输出字符串: “ HELLO”-*/#ifndef MONITOR51SCON = 0 x50; /*设置 SCON: 方式 1, 8 位 UART, 允许接收 */TMOD |= 0 x20; /*设置 TMOD: 使用 T1,方式 2, 8位自动重装初值*/TH

14、1= 0 xFD; /*设置 TH1初值 :使用 11.05MHz 晶振, 9600 波特率 */TR1 = 1;/*启动 T1 */TI =1;#endif/*-初始化 MAX7219 并显示“ HELLO”字符-*/DINPUT(0X0A,0X07);/*将命令 0 x07 写入 7219 亮度寄存器*/*使占空比为15/32 */DINPUT(0X0B,0X07);/*将命令 0 x07 写入 7219 扫描界限寄存器*/*设置为 8 位 显示方式*/DINPUT(0X09,0X00);/*将命令 0 x00 写入 7219 译码方式寄存器*/*设置为 BCD 译码方式*/DINPUT(

15、0X0c,0X01);/*将命令 0 x0 写入 7219 停机寄存器*/*设置为正常工作状态*/DISPLY(&dg0);/*在 C51 仿真板上显示HELLO */while (1) printf (Hello Worldn); /*在 UV2串行口显示Hello World */程序输入完成后,单击“File菜单 /Save as ”选项,如图5 所示:9图 5从弹出的窗口中 , 选择要保存程序文件的路径 , 并输入程序文件名 “ Hello.c ”, 然后点击保存按钮,如图 6 所示:图 6重复上述步骤输入以下汇编语言程序,并在同一个路径下保存为“DINPUT.A51”文件:10;*M

16、AX7219 初始化命令写入子程序 : DINPUT.A51 ;*NAME DINPUT?PR?_dinput?DINPUT SEGMENT CODEPUBLIC _DINPUTRSEG ?PR?_dinput?DINPUT_DINPUT:MOV A,R7;C51函数传递的第1 个参数保存在R7 中MOV R2,#08;作为 Max7219控制寄存器的8 位地址值LOOP1: RLC AMOV P1.0, CCLR P1.2SETB P1.2DJNZ R2,LOOP1MOV A,R5; C51函数传递的第2 个参数保存在R5 中MOV R2,#08;作为写入 Max7219 控制寄存器的8 位

17、命令数据值LOOP2: RLC AMOV P1.0, CCLR P1.2SETB P1.2DJNZ R2,LOOP2CLR P1.1SETB P1.1RETEND再重复上述步骤输入以下汇编语言程序,并在同一个路径下保存为“DISPLY.A51”文件:;*MAX7219 显示子程序 : DISPLY.A51 ;*NAME DISPLY?PR?_disply?DISPLY SEGMENT CODE PUBLIC _DISPLYEXTRN CODE (_DINPUT) RSEG ?PR?_disply?DISPLY11_DISPLY:MOV A,R7 ;R7 的内容为 Max7219显示缓冲区入口地

18、址 MOV R0,AMOV R1,#01MOV R3,#08LOOP3: MOV A,R0MOV R5,AMOV A,R1MOV R7,ALCALL _DINPUTINC R0INC R1DJNZ R3,LOOP3RETEND下面需要将刚才创建的程序文件添加到项目中去。先用鼠标左建点击Target 1前面的“ +”号 , 展开里面的内容“ source Group 1”,然后将鼠标指向“ Sourece Group 1” 并单击右键 , 弹出一个右键菜单 , 单击右键菜单中的“ Add Files to GuoupSource Group 1 ”选项,如图 7 所示 :图 712从 弹 出 的

19、 窗 口 中 分 别 选 择 刚 才 保 存 的 文 件 “ Hello.c”、“ DINPUT.A51” 和“ DISPLY.A51”, 并单击“ Add”按钮,将它们分别添加到项目中去,如图8 所示。图 8程序文件添加完毕后,然后将鼠标指向“Target 1”并单击右键,再从弹出的右键菜单中单击“Options for Target”选项,如图9 所示:图 913从弹出的“ Options ”窗口中选择“Target ”标签栏,并如图10 所示设置其中各项:图 10重复上述步骤,从弹出的“ Options ”窗口中选择“ Output ”标签栏,并如图 11 所示设置其中各项:图 1114

20、重复上述步骤,从弹出的“ Options ”窗口中选择“ C51”标签栏,并如图 12 所示设置其中各项:图 12重复上述步骤,从弹出的“ Options ”窗口中选择“ BL51 Locate ”标签栏,并如图 13 所示设置其中各项:图 1315重复上述步骤,从弹出的“ Options ”窗口中选择“ Debug”标签栏,并如图 14 所示设置其中各项:图 14为了使Keil C51源程序仿真版能与PC机正常通信,还需要设置COM端口和波特率 , 单击图14 中上部右边的“Settings”按钮,从弹出的窗口中设置COM端口和波特率 ,如图 15 所示 ( 仿真板可以进行自动波特率调整,

21、降低波特率可提高联机可靠性) :图 15到此为止完成了必要的各项设置,将鼠标指向“Target 1”并单击右键,从弹出16的右键菜单中单击“Build target”选项,如图16 所示:图 16开始对项目中的程序文件进行编译连接,并生成与项目文件同名的可执行代码及用于 EPROM编程的 Hex 文件,如果没有错误uVision2环境将如图17 所示:图 1717单击“ Debug 菜单 /Start/Stop Debug session”选项,开始进入调试状态,如图所示:图 18进入调试状态后uVision2环境将显示联机状态及监控程序版本号,如图19 所示:显示连接状态及监控程序版本号图

22、1918如果联机失败将弹出如图20 所示窗口,这可能是COM口或波特率设置不对,也可能是在单步调试过程中改变了单片机的串行口设置,请单击窗口的“Settings ”按钮重设 COM口和波特率,并按一下仿真板上的复位( 红色 ) 按钮,即可成功联机。图 20在联机调试状态下可以启动程序全速运行、单步运行、设置断点等,单击“Debug菜单 /Go”选项,启动用户程序全速运行,如图21 所示:图 21全速运行状态下单击“View 菜单 /Serial Window #1”选项,可以从uVision2的串行窗口中观察程序的运行结果,如图22 所示,这时串行窗口将显示“Hello World”字符串,同

23、时仿真板上的LED也将显示“ HELLO”字样:19图 22需要注意的是,仿真板上单片机8051 的 P1.0 、 P1.1 、 P1.2 分别连接到MAX7219的 DI、 CS(LOAD)、 CLK引脚 , 通过 P1 口的这些引脚来模拟7219 串行工作时序达到实现与 LED显示接口的目的。关于 MAX7219的详细操作过程 , 请参阅 MAX7219的相关资料。为使用户方便应用仿真板 , 前面给出了 2 个关键的 MAX7219接口汇编语言子程序文件:文件 “ DINPUY.A51”是完成对 MAX7219的串行数据输入 , 以 R7 的内容作为 MAX7219各个控制寄存器的地址, 以 R5 的内容作为写入到各个控制寄存器的数据, 实现 MAX7219的初始化及其他数据输入操作。文件“ DISPLY.A51”是将 8051 单片机片内8 个显示缓冲区单元的内容送往LED显示 , 以 R7 的内容作为显示缓冲区首地址, 如果 MAX7219采用 BCD译码方式工作 , 则缓冲区每个字节的低 4 位存放 BCD码 , 并且 D7 位为 1 时将点亮小数点。如果MAX721

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论