单片机原理与应用实验指导书xixi(201203) - 副本

上传人:marr****208 文档编号:117088526 上传时间:2019-11-18 格式:DOC 页数:135 大小:4.35MB
返回 下载 相关 举报
单片机原理与应用实验指导书xixi(201203) - 副本_第1页
第1页 / 共135页
单片机原理与应用实验指导书xixi(201203) - 副本_第2页
第2页 / 共135页
单片机原理与应用实验指导书xixi(201203) - 副本_第3页
第3页 / 共135页
单片机原理与应用实验指导书xixi(201203) - 副本_第4页
第4页 / 共135页
单片机原理与应用实验指导书xixi(201203) - 副本_第5页
第5页 / 共135页
点击查看更多>>
资源描述

《单片机原理与应用实验指导书xixi(201203) - 副本》由会员分享,可在线阅读,更多相关《单片机原理与应用实验指导书xixi(201203) - 副本(135页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及其应用实验指导书南通大学电气工程学院自动化系2012 年 3 月135前 言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。学生按要

2、求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。目 录第一章 集成开发环境简介 1第二章 演示程序 9第三章 实验项目 15 实验一 简单程序设计实验 15 实验二 I/O口实验 18 实验三 定时器实验 20 实验四 A/D、D/A转换实验 21 实验五 并行接口扩展实验

3、 25第一章 集成开发环境简介Super ICES-51 80C51单片机实验仪使用当前流行的Keil C51开发软件,采用uVision2集成开发环境。1.1 Keil C51简介 Keil C51软件是德国Keil 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。Keil包括以下几个部分:uVision2 IDE、C51编译器、A51汇编器、LIB库管理器、BL51连接器/定位器、uVision硬件调试器、RTX51实时多任务操作系统。Keil软件的最新版本是7.50。用户可以向Keil公司或国内代理商购买正版软件或索取Demo版本,也可以直接到Keil公司网站(http:

4、/)下载。1.2 uVision2 集成开发环境变量观察区存储器观察区输出信息窗口编辑区工程项目窗口项目名称栏工具菜单栏快捷图标图1-1 uVision2 集成开发环境uVision2集成开发环境如图1-1所示,有编辑、项目、输出等3个大窗口和File、Edit、View、Project、Debug、Periherals、Tools、SVCS、Windows、Help等下拉菜单。1.2.1 创建、保存工程文件在uVision2环境下,使用工程来管理各个文件。为了开始新的工程,选择“Project/New Projiect”选项,出现如图1-2所示界面。图1-2 创建新工程然后选择此新工程要保存

5、的路径,键入项目名称并保存,项目名称将会出现在集成环境的左上端,名称后缀为“.uv2”,如图1-3所示。图1-3 保存新工程注意项目名称最好不要超过8个字符、尽量不采用中文,与软件编程时变量的命名习惯一致。1.2.2 MCU选择接着系统出现“Select Device for Target”界面,要求选择目标硬件系统的MCU,如图1-4所示。选择要开发的目标硬件系统的MCU,点击“确定”即可。对于Super ICES-51实验仪,应选择Atlmel的AT89C51。图1-4 MCU选择1.2.3 添加源文件如图1-5所示,在“Target 1/Source Group 1”上点击右键,选择“/

6、Add Files to Group Source Group 1” 后,出现如图1-6所示界面,添加所要的源程序。源程序包括“*.C”、“*.ASM”、“*.LIB”、“*.A51”等。图1-5 添加源文件图1-6 选择待添加的源文件1.2.4 目标硬件系统配置源程序添加完毕后,进行“Option for Target”的设定。在菜单栏中,选择“Project/Option for Target”,出现如图1-7所示界面。图1-7 目标硬件系统配置点击Target选项卡,输入目标硬件系统的晶振频率,本实验仪为11.0592 MHz;点击Output选项卡,选中Crest Hex File 选

7、项,在编译时系统将会自动生成目标代码文件*.HEX;点击 Debug选项卡,如图1-8所示,选择仿真模式等。图1-8 debug配置uVision2的仿真模式分为Use Simulator(软件仿真)和Use(硬件仿真)2种。其中Use Simulator选项是将uVision2调试器设置成软件模拟仿真模式,在此模式下不需要实际的目标硬件就可以模拟8051单片机的很多功能。Use Simulator中的“Load Application at Start”是装入程序的复选框,“Go till main()”是表示从应用程序的主函数开始执行的复选框。除非有特殊情况,一般都同时使用这两复选框。Us

8、e选项有高级的GDI驱动(ICES仿真器)和Keil Monitor-51驱动。运用此功能可以把Keil C51 嵌入到自己的系统中去,从而实现在目标硬件上调试程序。实验仪选择“use keil Monitor-51 Driver”。选择 “load Application at start”,在启动时直接装载程序,选择“Go till main”,C51开发时,装载后直接运行到main函数。硬件仿真模式下还需配置波特率等,点击“Settings”选项,如图1-9所示。图1-9 串口等配置选择“serial interrupt”,在前面打勾,否则装载过程中,仿真器会发出“嘀”一声长声报警,仿真

9、结果将可能不正确。选择正确的串口号,波特率最高为38400;建议只选cache code。1.2.5 程序编译、连接与下载使用“Project”下拉菜单中的编译命令,“Build Target”()只编译和连接在项目窗口中的修改过的程序;“Rebuild all Target File”()编译和连接项目里所有的源程序文件。编译等无误后,使用菜单栏中的“Debug”下“/start/stop Debug Session”或使用快捷方式()进入硬件调试系统,如图1-10所示。图1-10 硬件调试系统界面“Debug”下“Step”或用快捷方式()进行单步(进子程序)调试;“Debug”下“Ste

10、p Over”或用快捷方式()进行单步(不进子程序)调试;“Debug”下“Run to cursor line”或用快捷方式()进行运行到当前光标处调试;“Debug”下“Go”或用快捷方式()进行全速运行,直到下一个有效断点;“Debug”下“/start/stop Debug Session”进入、退出硬件调试系统环境。另外,“Debug”下还有“stop running”、“rst”等操作。第二章 演示程序为了更好地熟悉uVision2集成开发环境仿真开发系统的应用,本指导书提供了一个完整的程序编译、调试例子,详细说明集成环境下的各种操作。程序内容:将110十个数相加,并把其和放入内部

11、 RAM 30H 单元。这个问题有好几种算法,如果单纯从算法上来说,下面所列算法并不是最优的,因为其目的在于让你熟悉仿真系统的各种操作。算法介绍:1加数、被加数、和最终单元(SUM)首先设置初始值,分别为1、0、0,加法次数单元(R2)设为10;2每次加法所得中间结果存放在被加数单元中(累加器ACC),同时将加数单元增1;3做完一次加法后,加法次数单元减1,并判断是否已为0(即已做完10次加法),如果不为0,继续做下次加法,若为0,则将累加器内容赋值给和最终单元;4做完后,程序原地循环。算法流程图及源程序分别如下:加数、被加数(和中间结果)、和最终结果单元、加法次数单元初始化被加数+加数,结果

12、放在被加数(和中间结果)单元结果放入和最终单元已做完10次加法?NY加数增1堆栈初始化源程序:;变量DATA_REG中的内容为加数(1-10);;ACC中的内容为被加数,同时也是每一次加法后的和中间结果存放单元;;做完10次加法后,再将ACC内容放入指定的和单元SUM中。;*DATA_REGEQU31H;定义加数单元SUMEQU30H;定义和单元;=ORG0000H;复位后PC指针LJMPMAIN;-ORG0100H;从程序存储空间 0100H 单元放程序MAIN:MOVSP, #70H;堆栈指针从复位后的 07H 调整到 70HMOVDATA_REG, #1;加数单元初始值为1MOVSUM, #00H;和单元初始值为0MOVR2, #10;加法循环次数为10CLRA被加数单元初始值为0CLRC;进位初始值为0ADD_LOOP:ADDCA, DATA_REG;被加数+加数,结果放入ACCINCDATA_REG;加数增1DJNZR2, ADD_LOOP;10次加法未做完,继续做MOVSUM,A;10次加法已做完,将和放入SUM单元LJMP$;原地循环;*END2.1 打开仿真环境,新建一个工程文件按第一章介绍建立一个工程名为“test.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号