目录第1章Quick51硬件结构 (1)1.1 SmartSOPC与Quick51 (1)1.2 Quick51特性 (1)1.3 Quick51电路结构 (2)第2章Keil C51和Quick51入门 (4)2.1 Keil C51简介 (4)2.2 Keil C51的安装 (4)2.3 建立第1个Keil C51程序 (4)2.4 安装Flash Magic软件 (9)2.5 以ISP下载方式运行程序 (9)2.6 以硬件在线仿真的方式调试程序 (10)2.7 Keil C51仿真调试的若干基本操作 (12)2.7.1 源程序窗口 (12)2.7.2 寄存器窗口 (12)2.7.3 汇编窗口 (12)2.7.4 存储器窗口 (12)2.7.5 程序的运行控制 (13)2.7.6 变量观察和堆栈窗口 (13)2.7.7 外围设备访问 (14)2.8 Quick51在线仿真芯片占用的系统资源 (14)第1章 Quick51硬件结构1.1 SmartSOPC与Quick51SmartSOPC教学实验开发平台集众多功能于一体,是SOPC、DSP、EDA、ARM、ARM7 SOC以及8051教学实验、科研开发的最佳选择。
开发平台采用“主板+核心板”的模式,更换不同的核心板即可实验不同平台的功能。
Quick51正是跟SmartSOPC相配套的8051单片机核心板,实物照片见图 1.1。
Quick51是一款自由的、开放全部系统资源的单片机实验板。
单片机芯片采用Philips最新推出的拥有64KB Flash的增强型8052内核单片机P89LV51RD2,工作电压3.3V(3V逻辑是大趋势)。
Quick51与SmartSOPC配合,可以做各种单片机教学实验,如LED点阵扫描显示、键盘检测、动态数码管、液晶屏、电机驱动、I2C总线、红外收发、蜂鸣器、数字温度计、电子钟,等等。
图 1.1 Quick51照片1.2 Quick51特性采用Philips半导体新型单片机P89LV51RD2,增强型Intel 8052 CPU内核。
具有许多增强功能,如内置64KB用户程序Flash,8KB引导Flash(用来支持ISP和IAP功能),1KB片内静态RAM,双倍速模式,双DPTR,4个中断优先级,进入掉电模式后外部中断可唤醒(8052只有复位,不方便),硬件SPI,增强型UART,等等。
配备的P89LV51RD2单片机支持ISP(在系统可编程)方式下载用户程序。
Quick51只需要一根普通电脑RS-232通信电缆(该电缆已经随SmartSOPC实验箱标配)就能实现ISP下载,不需要制作专门的下载线。
配备1片专门的仿真芯片。
在目前最流行的8051内核单片机Windows环境软件开发工具Keil C51的支持下,能够方便地进行硬件在线仿真,而且并不需要安装特别的驱动程序。
该仿真芯片能够全面支持单步、全速、断点、跳出、变量观察、外围设备访问等仿真功能。
晶振(默认11.0592MHz)采用插座式安装,为用户替换成其它频点的晶振来做实验提供了方便。
复位方式可选:RC复位、按键复位、看门狗复位。
此外,看门狗芯片还内置有256B 的EEPROM。
单片机的4组I/O端口全部用双排插针引出,方便用户做实验。
扩展32KB静态RAM。
扩展512KB大容量Flash存储器,可以用作程序Flash或者大容量数据存储。
扩展1个8位并行高阻输入端口、1个8位并行推挽输出端口。
采用PLD器件作为译码器。
提供8组输出,地址范围已经印在PCB上,一目了然。
在产品光盘里提供译码器内部结构的等效电路原理图。
Quick51与SmartSOPC配合,可以做各种单片机教学实验,如LED点阵扫描显示、键盘检测、动态数码管、液晶屏、电机驱动、I2C总线、红外收发、蜂鸣器、数字温度计、电子钟,等等。
提供丰富的实验例程。
为了照顾不同客户的需求,每个实验例程都提供汇编和C两种版本,书写规范,有比较详细的注释,以供学习参考。
1.3 Quick51电路结构Quick51的电路原理图在光盘中。
Quick51的PCB元件布局如图 1.2所示。
表 1.1 Quick51跳线设置表跳线编号跳线名称跳线接法功能描述VCC与/EA短接(默认)执行存储于片内Flash的程序JP1 /EA跳线/EA与GND短接执行存储于片外Flash的程序/PSEN与GND断开(默认)正常模式JP2 /PSEN跳线/PSEN与GND短接用于某些型号单片机的ISP下载WDT与RST短接看门狗复位JP3 复位跳线RST与RC短接(默认)阻容复位A16~A18全接GND(默认)不使用扩展地址(64KB以内)JP4~JP6 Flash扩展地址跳线A16~A18分别接P10~P12 使用扩展地址(可达512KB)RXD短接、TXD短接(默认)RXD、TXD用于串行口通信JP7 串行口跳线RXD断开、TXD断开 RXD、TXD可作为I/O使用Quick51的跳线设置非常重要,在做Quick51大部分实验时,跳线的接法都和表 1.1中“默认”的接法一致。
图 1.2 Quick51 PCB元件分布图第2章 Keil C51和Quick51入门Quick51实验板中的例程全部使用Keil C51软件来调试。
如果您对Keil C51还不熟悉,请先仔细阅读本章相关内容。
2.1 Keil C51简介Keil C51是德国知名软件公司Keil(现已并入ARM公司)开发的基于8051内核的微控制器软件开发平台,是目前开发8051内核单片机的主流编译工具。
在光盘中有Keil C51 V7.09的评估版本。
2.2 Keil C51的安装安装Keil C51非常简单,步骤如下:运行光盘中Keil C51 V7.09评估版SETUP目录下的“Setup.exe”。
当出现如图 2.1的对话框时,请选择“Eval Version”安装。
图 2.1 Keil C51评估版安装选择在接下来的几个对话框中选择“Next”或“Yes”,提示填入用户名和公司名时,照实际情况填写。
安装完毕后按“Finish”结束。
2.3 建立第1个Keil C51程序Keil C51是一个功能很强大的软件,但是使用起来并不复杂。
现在就通过建立一个简单的LED流水灯实例来初步掌握Keil C51的基本用法。
运行Keil C51软件。
您可以通过双击电脑桌面上的“Keil uVision2”快捷方式图标来启动。
新建工程。
选择Keil C51软件的菜单“Project | New Project…”,弹出一个名为“Create New Project”的对话框,参考图 2.2。
为工程取名为“First”。
然后准备选择一个合适的文件夹来存放,比如“E:\Quick51”。
在此文件夹下再新建一个文件夹,可以取名为“First”。
最后,进入文件夹“E:\Quick51\First”,按“保存”按钮。
紧接着,Keil C51提示您选择CPU器件。
8051内核单片机最早是由鼎鼎大名的Intel 公司发明的,后来其他厂商如Philips、Atmel、Winbond等先后推出其兼容产品,并在8051的基础上扩展了许多增强功能。
因此,在这里您可以选择Intel公司的第1个器件“80/87C52”,参见图 2.3。
图 2.2 保存Keil C51新建的工程图 2.3 选择CPU图 2.4 选择是否要添加启动代码接下来弹出一个如图 2.4所示的对话框。
该对话框提示您是否要把标准8051的启动代码添加到工程中去。
Keil C51既支持C语言编程也支持汇编语言编程。
如果打算用汇编语言写程序,则应当选择“否(N)”;如果打算用C语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。
在这里,我们的第1个实验程序是要用汇编来写的,要选择“否(N)”。
今后,如果没有特别说明,都要选择“否(N)”,即不添加启动代码。
至此,一个空的Keil C51工程建立完毕。
图 2.5 保存新建的汇编源程序文件图 2.6 准备添加源程序文件到工程中选择Keil C51软件的菜单“File | New…”,出现一个名为“Text n”(其中n表示序号)的文档。
选择菜单“File | Save”,弹出一个名为“Save As”的对话框。
建议将文件名改为“main.asm”,然后保存,参见图 2.5。
文件名也可以取“first.asm”,或其它名字,但扩展名必须为“.a*”的形式。
现在,一个空的源程序文件已经建立,但是这个文件与刚才新建的工程本身并没有什么联系。
我们需要把源程序文件“main.asm”添加到工程中去。
单击Keil C51软件左边“Project Workspace”项目工作窗口的“+”,然后右击“Source Group 1”文件夹,会弹出如图 2.6所示的选择菜单。
单击其中的“Add Files to Group 'Source Group 1'”项,将弹出如图 2.7所示的对话框。
先选择文件类型为“Asm Source file”,这时,对话框内将出现刚才保存的“main.asm”。
单击文件“main.asm”,再按一次“Add”按钮(请不要多次点击“Add”按钮),最后按“Close”按钮。
这时,源程序文件“main.asm”出现在项目工作窗口的“Source Group 1”文件夹内,可以单击左边的“+”展开后查看。
图 2.7 弹出的添加源程序文件的对话框现在开始输入源程序。
请按程序清单 2.1在“main.asm”中输入程序代码。
如果您以前学习过8051的汇编语言,则该程序是很容易理解的。
程序清单 2.1 LED流水灯实验源程序main.asm;LED流水灯实验程序ORG0000HLJMP MainORG0080H;延时子程序,延时大约(10000*R7)个机器周期Delay:PUSH 02HPUSH 03HDelay_00:MOV R2, #100Delay_10:MOV R3, #50Delay_20:DJNZ R3, Delay_20DJNZ R2, Delay_10DJNZ R7, Delay_00POP03HPOP 02HRET;主程序Main:#0FEHMOV P1,Loop:MOV R7, #10LCALL DelayMOV A, P1RL AAMOV P1,SJMP Loop;程序结束END图 2.8 编译器输出格式设置单击Keil C51工具栏的“”图标,弹出名为“Options for Target ‘Target 1’”的对话框。
单击“Output”标签页,选中“Create HEX File”项,然后“确定”。