单片机原理与接口技术实验指导书内容.docx

上传人:b****1 文档编号:23209152 上传时间:2023-05-15 格式:DOCX 页数:26 大小:890.54KB
下载 相关 举报
单片机原理与接口技术实验指导书内容.docx_第1页
第1页 / 共26页
单片机原理与接口技术实验指导书内容.docx_第2页
第2页 / 共26页
单片机原理与接口技术实验指导书内容.docx_第3页
第3页 / 共26页
单片机原理与接口技术实验指导书内容.docx_第4页
第4页 / 共26页
单片机原理与接口技术实验指导书内容.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机原理与接口技术实验指导书内容.docx

《单片机原理与接口技术实验指导书内容.docx》由会员分享,可在线阅读,更多相关《单片机原理与接口技术实验指导书内容.docx(26页珍藏版)》请在冰豆网上搜索。

单片机原理与接口技术实验指导书内容.docx

单片机原理与接口技术实验指导书内容

·目录·

1.序言1

2.Keil简介及安装3

2.1Keil简介3

2.2Keil安装3

3.Keil的使用5

3.1μVision2集成开发工具5

3.2创建Keil应用程序的一般步骤5

1、一个工程项目文件;5

2、选择目标器件(例如选择ATMEL公司的AT89C51)5

3、为工程项目设置软硬件调试环境;5

4、创建源程序文件并输入程序代码;6

5、保存创建的源程序项目文件6

6、把源程序文件添加到项目中。

6

4、实验一:

KEIL51集成开发环境的仿真与调试7

5、实验二:

单片机I/O口控制实验15

6、实验三:

中断实验17

7、实验四:

串行通信实验18

8、实验五:

LED静态显示实验19

9、实验六:

并行D/A转换实验20

 

1.序言

单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,并且已经深入到工业生产的各个环节以及人民生活的各层次中,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等,无不含有CPU控制器,即单片机。

MCS-51的开发环境要求较低,软件资源十分丰富,介绍其功能特性书籍和开发软件随处可取,只需配备一台PC(对电脑的配置基本上无要求),一台仿真编程器即可实现产品开发。

早期的开发软件多使用DOS版本,随着Windows视窗软件的普及,现在几乎都使用Windows版本,并且软件种类繁多,琳琅满目。

在众多的单片机开发软件中,KEIL软件的环境资源是最丰富的,这给用户带来极大的便利,并且也有大量的工程师在使用该软件。

为着眼于培养单片机人才、单片机工程师,我们在总结近年来教师的教学经验和近几届学生的学习效果的基础上,结合KEIL软件的使用方法,编写了针对培养学习者应用能力的《单片机原理与接口技术实验指导书》,以配合单片机课程教学的需要,并通过实验来带动学生学习能力和兴趣的提高。

众所周知,单片机是一门实践性很强的学科,即便考试得了100分,如果没有大量的实战训练,终究可能还是个“门外汉”,没有办法登堂入室成为一名真正的单片机应用开发工程师,这是成千上万开发人员多年来积累的经验教训。

在学习的过程中,千万不能偷懒,要一行一行地、老老实实得将程序敲进去,只有这样才有可能慢慢地、细心地体会程序设计的思想。

纵然万事开头难,但是切记:

良好的开端等于成功的一半!

所以不要在学习方法上失败,要认真迈好第一步。

2.Keil简介及安装

2.1Keil简介

KeilC51μVision2集成开发环境是KeilSoftware,Inc/KeilElektronikGmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、连接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程。

尤其C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

KeilC51集成开发环境的主要功能有以下儿点:

●μVision2forWindows:

是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;

●C51国际标准化C交叉编译器:

从C源代码产生可重定位的目标模块;

●A51宏汇编器:

从80C51汇编源代码产生可供定位的目标模块;

●BL51连接/定位器:

组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;

●LIB51库管理器:

从目标模块生成链接器可以使用的库文件;

●OH51目标文件至HEX格式的转换器:

从绝对目标模块生成IntelHEX文件;

●RTX-51实时操作系统:

简化了复杂的实时应用软件项目的设计。

这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51微控制器的绝大部分应用。

用户可以在KeiluVision2环境下学习编写、调试单片机程序,通过学习,用户可以掌握运用单片机进行项目开发的过程、步骤和方法,积累一定的调试方法、技巧。

2.2Keil安装

在up51v720\setup目录下,双击setup.exe图标,开始进行KEIL的安装。

这时会出现如图2.1所示的安装初始化界面,随后出现安装询问对话框,提示用户是安装完全版还是评估版,此处我们选择FullVersion,如图2.2所示。

图2.1安装初始化界面

图2.2安装询问对话框

在此后弹出几个确认对话框中单击Next按钮,直到要输入相应的序列号,如图2.3所示。

请参考up51v720文件夹内的安装说明.TXT内的序列号进行安装,并在LastName处填写自己的名字,接着按Next按钮进入下一步,就出现了如图2.4所示的安装进度指示画面。

图2.3安装序列号对话框

图2.4安装进度指示画面

接下来就是等待安装,安装完毕后单击Finish按钮加以确认,此时就可以在桌面上看到KeilμVision2软件的快捷图标,如图2.5所示,双击它就可以进入KeilμVision2集成开发环境。

图2.5μVision2的快捷图标

3.Keil的使用

3.1μVision2集成开发工具

μVision2支持所有的Keil80C51的工具软件,包括C51编译器、宏汇编器、链接器/定位器和目标文件至Hex格式转换器,μVision2可以自动完成编译、汇编、链接程序等操作。

(1)C51编译器和A51汇编器

由μVision2IDE创建的源文件,可以被C51编译器或A51汇编器处理,生成可重定位的object文件。

KeilC51编译器遵照ANSIC语言标准,支持C语言的所有标准特性。

另外,还增加了几个可以直接支持80C51结构的特性。

KeilA51宏汇编器支持80C51及其派生系列的所有指令集。

(2)LIB51库管理器

LIB51库管理器可以从由汇编器和编译器创建的目标文件建立目标库。

这些库是按规定格式排列的目标模块,可在以后被链接器所使用。

当链接器处理一个库时,仅仅使用了库中程序使用了的目标模块而不是全部加以引用。

(3)BL51链接器/定位器

BL51链接器使用从库中提取出来的目标模块和由编译器、汇编器生成的目标模块,创建一个绝对地址目标模块。

绝对地址目标文件或模块包括不可重定位的代码和数据。

所有的代码和数据都被固定在具体的存储器单元中。

(4)μVision2软件调试器

μVision2软件调试器能十分理想地进行快速、可靠的程序调试。

调试器包括一个高速模拟器,您可以使用它模拟整个80C51系统,包括片上外围器件和外部硬件。

当您从器件数据库选择器件时,这个器件的属性会被自动配置。

(5)μVision2硬件调试器

μVision2调试器向您提供了几种在实际目标硬件上测试程序的方法。

安装MON51目标监控器到目标系统,并通过Monitor-51接口下载程序;使用高级GDI接日,将μVision2调试器同类似于DP-51PRO单片机综合仿真实验仪或者TKS系列仿真器的硬件系统相连接,通过μVision2的人机交互环境指挥连接的硬件完成仿真操作。

(6)RTX51实时操作系统

RTX51实时操作系统是针对80C51微控制器系列的一个多任务内核。

RTX51实时内核简化了需要对实时事件进行反应的复杂应用的系统设计、编程和调试。

这个内核完全集成在C51编译器中,使用非常简单。

任务描述表和操作系统的一致性由BL51链接器/定位器自动进行控制。

此外μVision2还具有极其强大的软件环境、友好的操作界面和简单快捷的操作方法,其主要表现在以下几点:

●丰富的菜单栏;

●可以快速选择命令按钮的工具栏;

●一些源代码文件窗口;

●对话框窗口;

●直观明了的信息显示窗口。

3.2创建Keil应用程序的一般步骤

在Keil集成开发环境下使用工程的方法来管理文件,而不是单一文件的模式,所有的文件包括源程序(包括C程序、汇编程序)、头文件等都可以放在工程项目文件里统一管理。

对于刚刚使用Keil的用户,一般可以按照下面的步骤来创建一个自己的应用程序,即:

1、一个工程项目文件;

2、选择目标器件(例如选择ATMEL公司的AT89C51)

3、为工程项目设置软硬件调试环境;

4、创建源程序文件并输入程序代码;

5、保存创建的源程序项目文件

6、把源程序文件添加到项目中。

具体的过程我们将通过实验一来详细说明如何建立一个应用程序并进行仿真调试。

 

4、实验一:

KEIL51集成开发环境的仿真与调试

一、实验目的和要求:

1、熟悉KEIL51集成开发环境的使用方法

2、熟练掌握KEIL51集成开发环境的工程建立、编辑与编译功能。

3、通过编写简单单片机程序学习仿真调试功能。

二、实验内容:

1、建立一个新的工程

2、编写一个新的ASM汇编语言程序

3、调试并仿真

三、实验步骤

1、建立一个项目

双击桌面快捷图标即可进入如图4.1所示的集成开发环境编辑操作界面,主要包括三个窗口:

工程项目窗口、编辑窗口和输出窗口。

图4.1μVision2编辑操作界面

单击Project菜单,在弹出的下拉菜单中选中NewProject选项,新建一个项目,如图4.2所示。

图4.2Project界面

然后选择你要保存的路径,输入工程文件的名字(比如保存到uv目录里,工程文件的名字为shiyan1),如下图4.3所示,然后点击保存。

图4.3Project保存设置界面

这时会弹出一个对话框,要求你选择单片机的型号。

可以根据你使用的单片机来选择,keil几乎支持所有的51核的单片机,这里以Atmel的89C51来说明,如下图4.4所示。

首先选择Atmel公司,然后点击左边的+号选择AT89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定,在随后弹出的对话框选择“否”。

图4.4器件选择

完成以上步骤后,屏幕如下图4.5所示。

图4.5初始化编辑界面

首先进行选项设置,将鼠标指向“Target1”并单击右键,再从弹出的右键菜单中单击“OptionsforTarget”选项,如图4.6所示。

图4.6“OptionsforTarget”选项

从弹出的“Options”窗口中选择“Output”标签栏,并如图4.7所示设置其中各项:

图4.7“Output”标签栏

首先选择“SelectFolderforObjects”按钮,为后面生成*.hex文件选择一个存放目录,然后在后面的空格里面为将要生成的hex文件命名一个文件名,再将下面的“CreateHEXFile”前的选项前打:

“√”,最后确认即可。

此处的存放目录和文件名要记清,后面将要用到该hex文件并要将其烧录到单片机内部。

2、建立一个新的ASM汇编语言程序并编译

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

(1)在菜单栏中,单击“File”菜单,再在下拉菜单中单击“New”选项,或者直接点击工具栏的快捷图标

来建立一个新的编辑窗口,此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。

此处建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名,如此处键入Text1.asm,然后,单击“保存”按钮,如图4.8所示。

注意:

如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名为(.asm),且必须添加扩展文件名。

图4.8保存源程序

(2)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,弹出如下图4.9所示菜单。

图4.9弹出菜单栏

然后单击“AddFilestoGroup‘SourceGroup1’”屏幕如下图4.10所示,在文件类型处默认为CSourcefile(*.c),因为前面我们保存的是汇编语言的文件,故需要下拉选择AsmSourcefile(*.s*;*.src;*.a*),这样在上面就可以看到刚才保存的汇编语言文件Text1.asm,双击该文件则自动添加至项目,点击Close关闭对话框。

图4.10添加文件对话框

对比图4.11和图4.9,可以看出二者的不同点:

在添加了汇编语言文件后,在SourceGroup1文件夹左出现了一个+号(图4.11左图),点击+号展开就看到了刚才添加的Text1.asm文件(图4.11右图)。

图4.11添加文件前后工程栏的变化

(3)然后就可以在右侧的编辑区进行汇编源程序的输入了。

在输入指令时,读者可以看到事先保存待编辑文件的好处:

Keil会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。

程序输入完毕后别忘了再次保存,最后如下图4.12所示。

图4.12程序输入完毕后状态

(4)程序文件编辑完毕后,单击“Project”菜单,再在菜单中单击“BuiltTarget”选项(或者使用快捷键F7),或者点击工具栏的快捷图标

来进行编译,如图4.13所示。

图4.13编译菜单

(5)如果有错误,则在最后的输出窗口会出现所有错误所在的位置和错误的原因,并有“Targetnotcreated”的提示。

通过双击该处的错误提示,则在上面的编辑区错误指令处左面就有蓝色箭头提示,然后对当前的错误指令进行修改,如图4.14所示。

图4.14错误提示

(6)将所有提示过的错误进行修改,然后再次重复(4)的操作进行编译,直至出现“"shiyan1"-0Error(s),0Warning(s)”,说明编译完全通过,如图4.15所示。

图4.15编译通过提示

3、调试并仿真

编译成功后,就可以进行调试并仿真了。

单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),或者点击工具栏的快捷图标

就可以进入调试界面,如下图4.16所示

图4.16调试界面

左面的工程项目窗口给出了常用的寄存器R0-R7以及a、b、sp、dptr、pc、psw等特殊功能寄存器的值。

在执行程序的过程中可以看到,这些值会随着程序的执行发生相应的变化。

在存储器窗口的地址栏处输入C:

0000H后回车,可以观看所有单片机片内程序存储器的内容,如下图4.17所示。

如果没有出现存储器窗口,则可以通过菜单栏View\MemoryWindow将存储器窗口调出查看。

下图4.17用横线画出来的部分就是已经编辑的源程序转化成的机器语言的十六进制数(或者说是对应的机器码)。

如果在存储器窗口的地址栏处输入D:

00H后回车,则可以观看所有单片机片内数据存储器的内容,如图4.18所示。

图4.17程序存储器窗口

图4.18数据存储器窗口

在联机调试状态下可以启动程序全速运行、单步运行、设置断点等,单击“Debug菜单/Go”选项,启动用户程序全速运行。

下面介绍几种常用的调试命令及方法。

(1)

复位CPU

用Debug菜单或工具栏的ResetCPU命令可以复位CPU。

在不改变程序的情况下,若想使程序重新开始运行,执行此命令即可。

执行此命令后程序指针返回到0000H地址单元。

另外,一些内部特殊功能寄存器在复位期间也将重新赋值。

例如,A将变为00H,DPTR变为0000H,SP变为07H,I/O口变为0FFH。

(2)

全速运行(F5)

用Debug工具栏的Go快捷命令Run命令按钮即可实现全速运行程序。

当然若程序中已经设置断点,程序将执行到断点处,并等待调试指令;若程序中没有设置任何断点,在

Vision2处于全速运行期间,

Vision2不允许任何资源的查看,也不接受其他命令。

(3)

单步跟踪(F11)

用Debug工具栏的Step或快捷命令StepInto命令按钮可以单步跟踪程序。

每执行一次此命令,程序将运行一条指令(以指令为基本执行单元)。

当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语言呈绿色。

在汇编语言调试下,可以跟踪到每一个汇编指令的执行。

Vision2处于全速运行期间,

Vision2不允许任何资源的查看,也不接受其他命令。

(4)

单步运行(F10)

用Debug工具栏的StepOver或快捷命令StepOver按钮,即可实现单步运行程序,此时单步运行命令将把函数和函数调用当作一个实体来看待,因此单步运行是以语句(该语句不管是单一命令行还是函数调用)为基本执行单元。

(5)

执行返回(Ctrl+F11)

在用单步跟踪命令跟踪到子函数或子程序内部时,可以使用Debug菜单栏中的StepOutofCurrentFunction或快捷命令按钮StepOut,即可实现程序的PC指针返回到调用此子程序或函数的下一条语句。

(6)

停止调试(Ctrl+F5)

由于Led_Light程序使用了系统资源P1口,为了更好地观察这些资源的变化,用户可以打开它们的观察窗口。

选择Peripherals

I/O-Ports

Port1命令,即可打开并行I/O口P1的观察窗口。

4、参考程序

参考教材P84页第6题,在KEIL下进行仿真调试,并在存储器区窗口观察程序执行后的结果。

5、实验二:

单片机I/O口控制实验

一、实验目的和要求:

1、掌握单片机I/O口的工作原理

2、利用单片机I/O口进行数据输出

3、掌握子程序调用指令的使用方法

4、掌握DELAY延时子程序的编程和使用方法

二、实验内容:

1、要求利用P1口做输出口,接八只发光二极管。

编写程序,使发光二极管循环点亮,或者产生有一定规律的花样。

2、编写程序,调试运行,观察运行结果。

三、实验步骤

1、编写程序

利用实验一的过程进行程序的编写、编译操作,然后进行调试。

注意子程序的编写方法和子程序调用的方法。

2、仿真调试

在本次实验中由于要用到P1口,所以要将P1口调出来,方法是:

菜单栏Peripherals\I/O-Ports\Port1,如下图5.1所示。

图5.1P1口调用

则弹出P1口如下图5.2所示。

从高到低依次为.P1.7-P1.0,高电平用√表示,低电平则不显示。

图5.2P1口

全速运行程序,可以通过观察P1口的状态观察程序的运行结果,直至程序能正确运行。

3、程序烧录

将单片机实验箱和电脑用串口电缆连接起来,然后打开实验箱的电源开关。

将实验箱左上角的“MON51仿真器”A1区的MOD_SW1开关拨到LOAD模式,即在下载模式下。

参看实验一的图4.7的操作,假定生成的HEX文件保存在D:

\SHIYAN下,文件名为SHIYAN1.HEX

打开程序DPFlashICD\DPFlash,界面如图5.3所示。

点击左上角的打开文件夹图标,找到前面已经生成的SHIYAN1.HEX,点击打开,如图5.3所示。

再点击左下角的编程按钮,弹出如图5.4所示的编程对话框,再次按编程按钮对单片机芯片进行编程。

图5.3DPFlash操作界面

图5.4编程窗口

4、连线并观察结果

用导线把A2区的J61接口与D1区的J52接口相连接。

将实验箱左上角的“MON51仿真器”A1区的MOD_SW1开关拨到RUN模式,即在运行模式下,即可观察到结果。

6、实验三:

中断实验

一、实验目的和要求:

1、掌握中断系统的工作原理

2、掌握中断控制寄存器的编程使用方法

3、掌握中断入口地址的使用方法

4、熟练掌握单片机的外部中断

二、实验内容:

利用单片机的P1.0—P1.7做输出口接八只发光二极管,用P3.2外部中断来模拟故障信号。

编写程序,使发光二极管循环点亮模拟正常控制,利用外部中断模拟有故障,并且在故障时使P1.0-P1.7全部点亮。

三、实验步骤

1、编写程序

利用实验一的过程进行程序的编写、编译操作,然后进行调试。

注意中断程序的编写方法和中断子程序调用、返回的方法。

2、仿真调试

在本次实验中由于要用到P1口和P3口,所以要将P1口和P3口都调出来,方法同上一次实验一样,然后通过将P3.2变低来模拟故障,再观察P1口的状态来验证程序的运行结果。

3、程序烧录

按照实验一的方法进行程序的下载、烧录。

4、连线并观察结果

用导线把A2区的J61接口与D1区的J52接口相连接,将A2区J58接口的INT0引脚与D1区的J54接口的SW1相连接。

将实验箱左上角的“MON51仿真器”A1区的MOD_SW1开关拨到RUN模式,即在运行模式下,通过将开关SW1打开或者断开即可控制LED灯的亮灭,从而观察到结果。

 

7、实验四:

串行通信实验

一、实验目的和要求:

1、熟练掌握串行口的工作原理

2、掌握单片机串行口的工作方法和串行口控制寄存器的编程使用方法

3、掌握串行口中断的使用方法

4、掌握MAX232芯片的使用方法

二、实验内容:

编写一段程序,利用PC机和单片机的串行口相连接进行双工异步通信,采用方式1,波特率为9600bps。

利用PC机向单片机发送数据,单片机在接收到该数据后将数据保存并返回给PC机。

编写程序,调试运行,数据收发正确。

三、实验步骤:

1、编写程序

利用实验一的过程进行程序的编写、编译操作,然后进行调试。

注意串行发送和接收程序的编写方法和中断子程序调用、返回的方法。

注意波特率的设定,注意在中断服务程序中将TI和RI清零。

2、程序烧录

按照实验一的方法进行程序的下载、烧录。

3、观察结果

该程序不需要连线,但是需要串口调试软件。

在图5.3所示的界面菜单栏点击“串口调试器”,出现如图7.1所示的串口调试窗口。

特别注意要将串口进行设置,即窗口左下角部分,尤其是波特率和数据位数的设定。

在发送时选择HEX发送,接收时选择十六进制显示。

然后可以在“处理字符串”框里输入字符,并点击“发送”按钮,则可以在接收窗口观察到接收的数据。

编写程序要使发送和接收数据保持同一个数据。

8、实验五:

LED静态显示实验

一、实验目的和要求

1、掌握LED显示器件的编程使用方法

2、掌握查表指令的使用方法

3、掌握1秒定时的计算和编程方法

4、熟练掌握定时器的工作原理

二、实验内容

利用单片机的P1口做输出口和一位8段数码LED数码管相连接,利用定时器0或定时器1产生1S定时中断,采用软件查表的方式来实现一个能进行0-9显示的个位秒表显示。

三、实验步骤:

1、编写程序

利用实验一的过程进行程序的编写、编译操作,然后进行调试。

注意定时器定时时间的确定,初值的计算,主程序的初始化设置,定时器工作方式的确定,中断服务子程序的内容以及中断调用、返回的方法,显示部分采用软件查表方式。

2、仿真调试

在本次实验中由于要用到定时器和P1口,所以要将定时器和P1口都调出来。

前面已经介绍了P1口的调用方法,这里再介绍一下定时器的调用。

方法是:

菜单栏Peripherals\Timer\Timer0,如下图7.1所示。

图7.1定时器的调用

则弹出定时器窗口如下图7.2所示。

图7.2定时器0窗口

通过观察P1口和定时器0窗口的状态来验证程序的运行结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1