单片机实验教案.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 集成开发环境keil c51的使用与调试 Keil C51 u Vision2 是德国Keil公司开发的基于Windows环境的8051软件开发平台,它集项目管理、源程序编辑、程序调试于一体,是一个强大的集成开发环境。 u Vision2 支持Keil的各种8051工具,包括:C编译器,宏汇编译器、连接/定位器及Object-hex转换程序,可以帮助用户快速有效的实现嵌入式系统的设计与调试。 硬件安装 1、连接51CPU板,在实验箱右下角有三个插座:J1、J2、J3,用来连接51CPU板,在51CPU板上有一个小拨码开关:J18,是单片机的EA脚,是用来选择读片内还是片外ROM的,拨向左边为读片内ROM;拨向右边为读片外ROM。 2、KEIL仿真器与实验箱的连接:将KEIL仿真器40芯的排线连到51CPU板的40芯插座上,仿真器的USB连接线连到微机的USB口。 3、八段数码管右上角的两个拨码小开关是用来设置工作模式的,将两个拨码小开关同时拨向右边是选择51单片机工作模式,此时应拨向右边。 新建一个项目文件 首先点击 Keil uVision2 ,进入uVision2界面。点击工具栏Project选项中的New Project,准备开始建立自己的项目。 输入工程文件名称,并选择保存工程文件的目录。 为项目文件选择一个目标器件(如ATMEL89C51),如图所示。 用鼠标对项目工作区的目标1,点击右键在弹出的菜单中选择“为目标‘目标1’设置选项”如下图所示。 在“为目标‘目标1’设置选项”中,点击“调试”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真,连接实验箱做实验时选择硬件仿真,点击硬件仿真选项后面的[设置]选项,在此对对话框中选择串口和波特率,串口根据所连电脑来决定。波特率为38400。。 选择串口选择波特率硬件仿真软件仿真      选择串口 选择波特率 硬件仿真 软件仿真 点击“文件/新建”创建源程序文件并输入程序代码。 在文本框中输入原程序,如下图所示 点击“文件/保存“对程序进行保存 用鼠标对项目工作区的目标1,点击右键在弹出的菜单中选择添加文件到原代码组,如下图所示 在弹出的添加文件框中,选择需要添加到项目中的文件 点击编译连接的图标,对项目文件进行编译 点击“调试/启动/停止调试”进入调试界面 在调试界面中可以对程序进行单步或者全速运行的调试 连机/停止单步全速运行 连机/停止 单步 全速运行 若要查看内存中的数据,点击“视图/存储器窗口” 在此地址框中,输入不同的指令查看内部数据 如果需要查看一些内部数据,在菜单栏点击[视图/存储窗口]。 C:0X地址 显示程序存储区数据 X:0X地址 显示数据存储区中数据 D:0X地址 显示CPU内部存储区中数据 注意:仿真器使用者使用时应注意: Keil C仿真器用户程序在全速运行时,如果需暂停运行,请按实验仪键盘“RST”,此时仿真器存储器数据清零。如果您要再次运行您所编写的程序,就必须重新装载运行。 1.3 实验指导使用说明 点击“帮助/使用手册”打开“HK系列实验指导” 选择“软件实验”右边的下三角可选择实验类别或者芯片查询 点击实验目的、实验电路、实验连线、实验程序可查看关于实验的具体介绍 在芯片查询中,可查看常用芯片的管脚定义 实验二 程序设计实验 C51中进行绝对地址访问: 在头文件中加入 #include <absacc.h> 可以使用 CBYTE XBYTE PWORD DBYTE CWORE XWORD PBYTE DWORD 指向内存空间的绝对地址。(具体看课本Page 71~72) 使用指针进行绝对地址访问(具体看课本Page68~71,课后用指针对下面实验程序进行修改) 例如: #define ADDR XBYTE[0x8000] 定义ADDR为 片外RAM地址0x8000的内容 Segment = CBYTE[0x0002] 将程序存储器的0002H地址的内容赋值给Segment Segment = XBYTE[0x0002] 将向片外RAM的0002H地址的内容赋值给Segment XBYTE[0x0002]=57 将57赋值给片外RAM0002H绝对地址 实验1:将片外8000H中的内容拆开,高位送8001H地址低位,低位送8002H的地址低位,8001H和8002H地址单元的高位清零。 #include <reg51.h> #include <absacc.h> #define a0 XBYTE[0x8000] #define a1 XBYTE[0x8001] #define a2 XBYTE[0x8002] void main() { a0 = 0xab; a1 = a

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档