选择左侧“模式选择工具栏”中的 图标,选择“对象选择窗口”中的 按钮,将出现如图 8-2 所示的元件选择界面: 图 8-2 Components 中的元件库选择界面 单击在列表框中输入您需要的器件类型(例如:电阻器、微处理器 IC、LED 光电器件),或者在左上角的关键字框中输入您需要的器件的关键字(例如:信号源 – 时钟、运算放大器) amp – CA3140等),您需要的一系列相关组件将在图8-2的大空白框中列出。 这时,你可以用鼠标选择你想要的元件,图8-2右上角的预览框就会显示你想要的元件的原理图。 如果是您想要的元件,点击“太阳”按钮,图 8-1 左侧的“对象选择窗口”中就会列出该元件的通用名称(参见图 8-1 左侧下框)。图1)。 选择需要的元件后,在“对象选择窗口”中选择一个元件,并将其放置到编辑窗口中(图8-1)(如果元件的方向不合适,可以使用左下角的旋转按钮图一角朱!改一下吧)。 选择所有需要的元件后,将其放置在适当的位置,然后用连接线连接电路,并保存结果(请按照指定的目录保存,并记住其他路径/目录/文献【学生证-实验系列】数字])。 51单片机编程器——使用KeilV3 Keil编程器可用于MCS-51单片机软件编程和调试。 其工作界面如图8-3所示: Ke定制编程器是Keil Software Inc/Keil Electronic GmbH开发的基于80C51内核的微处理器软件开发平台。 它可以完成从项目(Project)的建立和管理、程序编译和连接、目标代码形成、软件仿真等一整套软件开发过程。
与Proteus连接,可以进行单片机应用系统的硬件仿真。 汇编语言编程方法: 1、在弹出的文本框(Textl)中编写所需的汇编语言程序。 1、程序写好后,保存(从File-SaveAs..-选择一个目录,文件需要是.ASM,保存MAIN:MOVC.P1.3MOVP1.7.CMOVCP1.2连接对应的发光二极管:为了控制发光二极管,打开“Project”菜单,选择一个新项目“NewProject…”——在弹出的窗口中填写:项目名称——*保存(文件名的后缀)就是.uv2,此时会在图8-3的工程窗口中创建TargetSourceGroup菜单,选择Components、Environment、Books,在弹出的窗口“ ]中点击ProjectComponents中的“AddFiles”——添加编写好的文件汇编文件(选择文件,添加);在Project菜单中选择SelectDeviceTarget“Target”——在弹出的CPU窗口中选择微控制器制造商(选择Atmel)和CPU芯片名称(如AT89C51),按“OK”即可打开Project菜单,选择Target'Target~在弹出的窗口中选择“Output”,填写输出文件名,选择输出文件类型(HEX文件)【见图8-4】图8-3 KeilV3 接口图 图 8T 是输出文件 HEX 类型的命名和确定 – 在弹出的窗口中选择“Debug” – 选择连接调试的仿真器【见图 8-5】 图 8-5 选择仿真器并运行设备进行调试。 建议在ProteusISIS世界中加载设计好的硬件图,双击CPU,填写对应的HEX运行文件名(见图8-6,文件所在目录要正确),然后点击运行按钮即可实现软硬件联调。
图 8-6 单片机程序可执行文件路径及名称输入示例: 硬件电路图如图 8-7 所示; 对应的汇编语言程序如下: ORG0000HAJMPMAINMOVPlACMOVC.P1.1MOVP1.5.CMOVC.P1.0MOVP1.4.CACALLDELAYAJMPMAINDELAY :MOVR5.#5FHLI:MOVR6,#OAFHDJNZR6,DJNZR5,L1RET 图 8- 示例的电路图7进入Ke自定义编程世界并编译成可执行的HEX文件。 双击图8-7中的CPU即可参考图片。 8-6 输入对应HEX文件的路径和名称,按“确定”键退出。 单击运行按钮(图8-7下边缘的LU),运行状态如图8-8所示。 图 8-8 电路运行结果示例。 请自行完成以上示例的硬件和软件调试。 将每个人的实验结果以所需文件的形式打包提交(DZ班级-学号-实验序号),完成实验报告。 KEIL编译器与Proteus软件联调 图8-10 远程联调 Proteus在ProteusISIS界面加载设计好的硬件图,点击Debug,使用远程调试设备选项打J即可启动Proteus的远程联调功能。 然后点击ISIS界面左下角的 ,将设计好的电路置于运行模式。 预订平台,创建工程,打开“Project”菜单——选择OptionsTarget——Target——在弹出的窗口中选择“Debug”——选择连接调试的模拟器【见图8-11】——按“确认8” 11Keil*Proteus 设置完成后,点击Keil工程编译成功,点击图8-12中的按钮,使编译成功的源文件进入调试状态。
8-12Keil-Proteus进入联调状态,程序处于等待状态。 最初,PC指针光标I指向0000H,开始顺序复位等功能的选择。 实现程序运行的Debug跟踪,辅助调试程序,最终用户的运行结果可以通过图8-10的ISIS世界来观察硬件的状态变化。 图8-13 程序运行状态 (4)作业:在ProteusISIS 界面中设计如图8-14.8-15 所示的MCS-51 单片机与ADC0809 接口的电路原理图,为下一步实验做准备。 图 8-148031ADC0809 接口设计 图 8-148031DAC0832 接口设计实验 9 并行 AD 和 DA 实验 实验目的:掌握使用并行接口扩展外部器件的方法:掌握 ADC0809 模数转换芯片与单片机的接口设计及典型实例ADC0809应用; 掌握DAC0832模数转换芯片与单片机之间的接口设计以及DAC0832的典型应用。 准备工作需要了解内存和10个统一寻址的外设端口地址的映射和控制; 了解使用查询模式和中断模式的模数转换程序的编写方法:了解DAC0832直通模式、单缓冲模式、双缓冲模式编程方法。 实验设备计算机Proteus仿真软件ADC0809 AD的工作模式从开始转换到结束转换需要一段时间,称为转换时间。
ADC0809转换是否完成可以通过EOC引脚来表征。 START 信号上升沿后不久,EOC 变低。 当A/D转换结束时,EOC立即输出正阶跃信号,可作为转换结束的查询信号或中断请求信号。 从开始AD转换开始读取AD转换结果有三种方法:延迟法、查询法和中断法。 延时法是在开始AD转换后,等待一段时间(等待时间>=转换时间)后读取AD转换结果。 查询方法是在启动AD转换后不断查询EOC引脚电平是否为高电平。 如果满足条件,则认为转换完成,并读取AD转换结果。 中断方式利用EOC转换完成后产生的电平变化来触发单片机的外部中断,实现在服务程序中读取AD转换结果。 由于代表ADC0809转换结束的EOC电平逻辑与89C51单片机外部中断电平逻辑标准相反,因此采用中断方式触发89C51的外部中断。 EOC需要经过一个反相器,然后连接到外部中断接口。 DAC0832 的工作模式 DAC0832 内部有两个寄存器,可以实现双缓冲、单缓冲和直通模式三种工作模式。 缓冲操作模式意味着两个寄存器是分开控制的。 当ILE.CS和WR1信号均有效时,数字量写入输入寄存器,此时不进行A/D转换。
当两个WR2 XFER信号都有效时,原来存储在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换器进行D/A转换。 从一次转换完成到下一次转换开始,由于寄存器的锁存功能,转换器的输入数据保持恒定的泄漏,因此D/A转换的输出也保持恒定的泄漏。 单缓冲区操作意味着仅控制一个寄存器。 这时就会用到寄存器的相关控制信息。 直通工作模式是指两个寄存器的相关控制信号都被预设为有效,并且两个寄存器都打开。 图9-1是ADC0809的扩展电路图,利用Proteus仿真软件搭建硬件电路图。 讲解AD转换的过程,并在Keil环境下设置断点运行以下程序。 将可调电源调节到两个极端,观察寄存器和内存单元的变化。 图 9-1 ADC0809 ORG 0000H MAIN 扩展电路图:CLR SETBP3.3; 设置EOC接口10为接收状态MOV DPTR,#0FEF8H; 选择A/D端口地址 NOP MOVX DPTR, ; 启动AD转换WAIT:JB P3 WAITMOVX DPTR; 读取结果NOP LJMP MAIN为DAC0832的扩展电路图。 使用Proteus仿真软件设计硬件电路图。填写以下内容