单片机实验指导书

51系列单片机实验系统指导书

电子工程系

目 录 前言

第1章 下载式实验系统的使用方法

1.1 软件安装与启动

1.1.1

1.1.2 文件操作

1.1.3 建立工程项目(汇编)

1.1.4 调试程序

第2章 软件实验

2.1 数据传送实验

2.2 清0实验

2.3 数据转换实验

2.4 拆字、拼字实验

2.5 散转程序实验

2.6 时钟实验

2.7 计数器实验

2.8 无符号十进制数加法实验

2.9 数据排序实验

2.10 单字节BCD码除法实验

2.11 查找相同个数实验

第3章 硬件实验

3.1 P1口彩灯控制实验

3.2 数码管显示实验

3.3 顺序控制实验

3.4 8031和8155接口扩展与数码管显示实验

3.5 键盘、数码管显示综合实验

3.6 A/D转换实验

3.7 D/A转换实验

3.8 A/D与D/A转换综合实验

第4章 89C51系列实验

4.1 顺序控制实验

4.2 数码管显示实验

4.3 键盘、数码管显示综合实验

4.4 A/D转换实验

4.5 D/A转换实验

2

前 言

目前,51系列单片机在我国的各行各业得到了广泛应用,各大专院校、 职业培训学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系列的软硬件实验、理论联系实际,才能学好、学懂,取得较好的学习效果。为了适应这一学习上的要求,国内外厂家开发了多种实验、开发系统,但普遍存在集成度高,严重脱离实际的情况。作者集多年理论教学、实验教学、产品开发的经验,完全摒弃了以前各种实验设备的那种思维模式,重新开发出一种实验、开发系统,专从产品开发角度出发,安排各种硬件实验,并且做到每一个实验就是一个小产品,每个实验就是一个产品开发的过程,从单片机最小系统开始,逐步扩展功能,从单一功能到功能多样,从小到大,从简单到复杂,自成系统给人一种完整的学习思路,让学习者概念清晰、直观明了、易学易懂,特别是加强了硬件故障排除方法的指导,解决了学习者中普遍对硬件故障排除难的问题;其次是加强了软件调试的指导,提供了一些软件调试方法和步骤,帮助初学者很快入门,帮助熟练者更加深化。

本实验系统采用模块式设计,为各学校单片机的课程设计、学生的毕业设计、提供了硬件设备,该模块可反复使用、任意组合、方便经济,解决了各单位研究与实验经费不足的问题。特别在开发产品中更加适用,一个产品谈妥后厂家往往要求几天之内拿出产品样机,你可用此系统很快拼装成一个产品样机,供编程人员仿真,同时进行印制板设计。若出现问题,硬件可及时修改、添加,一切开发成功后,再作印制板,一次成功,减少经费损失,缩短了开发周期,为产品开发提供了方便。

本实验指导书分四章:第1章,下载式实验系统的使用;第2章,软件实验;第3章, 硬件实验;第4章,89C51单片机实验, 特别第4章完全讲解的是一个产品开发的全过程,力求使学习者获得更大的收益。

3

4

第1章 下载式实验系统的使用方法

1.1 软件安装与启动

下载式实验系统,是一套既可脱离硬件仿真又可与实验系统联机仿真的实验装置,

对于硬件实验,只要将软件调试好后就可将程序用串行口直接在线写入芯片,再不必象以前那样要专用的编程器来固化程序。

1.1.1 软件安装

1. 为使 QTH 调试器能够正常运行,您必须提供以下软硬件环境: 586 以上的 PC 及兼容机;100M 以上的剩余硬盘空间;分辨率为 800×600 以上的显示器;具有SPP 功能的打印机接口;使用符合 Intel 标准的汇编器、编译器和连接器。如

Franklin/Keil V3.2 或 keil V6.02 及以上版本。

2.使用:单击开始/程序,在程序条中选QTH2008XS 下载式单片机实验仪V2004.1

或直接双击桌面上QTH-2008XS 快捷图标。

图1-1连机出错提示框

如果已经连接仿真器或实验仪,则直接进入 QTH 调试器窗口。如果没有连接仿真

器,等一下屏幕上会出现图1-1所示的连机出错提示框:可以选择是否进入模拟调试:“是”——进入调试;“否”——请检查并使仿真器正常工作后,再按调试菜单上的复位钮,进入仿真调试。出现如图1-2

所示的模拟调试器窗口:

图1-2

模拟调试器窗口

1.2 系统使用方法

学习单片机的最终目的是开发单片机产品或维修单片机产品,开发一个产品必须经历硬件设计和软件设计两个阶段。而实验系统是将一些简单的实用电路已设计好。再在该系统中编写程序,调试程序,编写调试程序又必须经历写程序;编译程序;调试程序三个大的过程,每一个过程又有很多步骤和方法。写程序有程序输入、程序修改、程序保存。编译程序有成功与否,不成功要反复修改,成功后会自动生成列表文件(.LST)和目标文件(.OBJ),可进行调试程序,调试过程较复杂,下面分别叙述。

首先在图1-2所示的窗口中可进行程序编写或打开已编好的程序,若编写新的程序则在主菜单中单击“文件/新建”,若打开编好的程序,则在主菜单中单击“文件/打开”,现打开一个编好的文件(P1.ASM),出现如图1-3所示的模拟调试器窗口:

图1-3模拟调试器窗口

在主菜单中有9项,即文件、编辑、查看、项目、调试、设置、外设、窗口、帮助下面将每一项及每一项的子菜单分别叙述,其中文件和编辑菜单内容一般会用,重点讨论查看、项目、调试、设置、外设、窗口,帮助一项也可自已随时使用。

1.2.1 查看

主菜单的“查看”下拉菜单中的内容有:工具栏、状态栏、寄存器窗口、程序寄存器窗口、数据寄存器窗口、逻辑分析窗口、跟踪记录窗口、变量表、项目管理器窗口、信息窗口、观察窗口。这些窗口和工具条显示在屏幕或关闭的方法都是第一次选中且单击打开(关闭)对应的选项,第二次选中且单击关闭(打开)对应的选项。将全部打开后的屏幕窗口显示如图1-4所示:

① 号窗口为综合窗口,单击本窗口下面的标签,此窗口会变换成项目管理器窗口,特殊功能寄存器窗口,内部数据存储器(00H-FFH)窗口,内部位(20H-2FH范围内的00-7F 之间共计128个位)显示窗口。随着程序的不同可以任意选择其中的一个窗口。在项目管理器窗口和内部数据存储器(00H-FFH)窗口中单击鼠标右键有对应的浮动菜单出现,选中且单击选项可进行对应的操作。后面的3个窗口可直接改变单元中的数值(赋值)。

5

6

②号窗口为信息窗口,该窗口是显示所有操作的信息内容,特别是在将程序进行编

译或编译连接装载后,显示程序出错与否的信息,主要看错误(ERROR)和警告(WARNING)两项,特别是错误项有一个错误就不能编译通过,调试就不能进行,有警告无错误还可通过,最好显示是“0”个错误,“0”个警告。

③号窗口也是一个综合窗口,单击本窗口下面的标签,此窗口会变换成代码(Code)

窗口,外部程序(XData)存储器窗口,数据(Data)存储器窗口。随着程序的不同可以任意

选择其中的一个窗口进行观察。

图1-4模拟调试器窗口

在每一个窗口中单击鼠标右键有对应的浮动菜单出现,选中且单击选项可进行对应

的操作。例如在外部程序(XData)存储器窗口中单击鼠标右键出现浮动菜单,要看指定的单元中的内容,选中浮动菜单中“选择显示地址”且单击出现地址对话窗口,在窗口中输入要看的地址,对应的地址项马上出现在本窗口中,解决了查找之苦。所有窗口可直接改变单元中的数值(赋值)。

④号窗口为观察窗口,有时要观察的值太多,可将要观察的值选定到此窗口中进行

观察,方法是:在此窗口中单击鼠标右键出现浮动菜单,选中浮动菜单中“增加观察项”且单击出现如图1-5所示的对话窗口,按窗口中的要求选中对应的各项,选中的变量

图1-5模拟调试器窗口

马上出现在④号窗口中。

⑤主窗口,程序所在的窗口,也有浮动菜单,为调试程序提供了方便。

从上可见观察内容很多,一个屏幕上不可能容纳这么多内容, 有的时候窗口很大,就需要用窗口调整指令来调整好各个窗口位置大小。窗口整体移动的方法是用鼠标单击上边框条,上边框变蓝,将鼠标左键按住整体移动,鼠标整个窗口一起移动,放到合适位置,松开鼠标就行。窗口四边分别收缩或放大的方法是,将鼠标点击窗口边线,出现左右或上下形式的箭头(注意此箭头一晃而过要认真捕捉),马上按住鼠标左键整体移动鼠标,边线就跟着移动,移至合适位置,松开鼠标就行,有些窗口为竖式长方形,有些窗口为横式长方形,若要调整它的形状,用窗口命令就行。

1.2.2 项目

项目菜单为解决多个程序组合或混合编程(汇编语言C语言)的问题而设置。单击主菜单中项目,出现下拉菜单,在下拉菜单中有新建项目、打开项目、关闭项目、项目属性、编译当前文件、编译连接装载、加入模块文件、加入库文件、装入调试信息。下面重点讨论几项,其他的自已照着操作不再一一叙述。

1.新建项目

单击“项目/新建项目”,出现对话框,在框重输入文件名字,新的项目就建立了。若有原项目,只是打开就行了(但源文件修改以后,每次就在“文件”菜单中选“保存”或用保存工具图标保存文件)。

2.编译文件

单击“项目/编译当前文件”或 “项目/编译连接装载”(两种方式的区别在于前者只编译,后者既编译又将编译后的代码下载到CPU中)将新编写的或打开的程序进行编译,编译成功的话,下面的信息窗口(Massage)会出现新创建的文件名,且在窗口中出现组装完成(ASSEMBLY COMPLETE),“0”个错误(ERROR)“0”个警告(WARNING) 。系统会自动生成列表文件和目标文件。若编译有错,信息窗口会指出错误在什么地方,反复修改,直至编译通过为止。

注意:若有一项错误,目标文件和列表文件就不能自动生成。

3.项目属性

7

8

单击“项目/项目属性”出现对话框,框中第一页如图1-6所示

⑴ C

编译器页

图1-6工程设置对话框

SMALL、COMPACT、LARGE 这些指令控制存储器模式选择。存储器模式对不同的变量定

义有所影响。

SMALL:小模式,所有函数和过程的变量及局部数据段被定义在8051片内数据存储

区。

COMPACT:紧凑模式,所有函数和过程的变量及局部数据段被定义在8051片外数据存

储区中256字节。这种模式使用(@R0、@R1)访问外部数据存储器。

LARGE:紧凑模式,所有函数和过程的变量及局部数据段被定义在8051片内数据存储

区中64K 字节空间。这种模式通过数据指针(DPTR)访问外部数据存储器。

CODE/NOCODE:CODE 指令在列表文件后附加上一个汇编记忆表,源程序中的每个函数

被表示为汇编代表。

OPTIMIZE(n):括号内n 为一个0-5的十进制数,另外可选OPTIMIZE(SIZE) 和

OPTIMIZE(SPEED),以决定优化重点是放在代码长度上还是执行速度上。

RAM(SMALL、COMPACT、LARGE)

RAM 指令用来决定程序内存的大小,它影响跳转指令的编码。

RAM(SMALL): CALL 和JMP 指令作为ACALL 和AJMP 指令的编码,最大程序空间可达2K

字节,整个用户程序必须分布在这2K 字节空间内。

ROM(COMPACT):CALL 指令以LCALL 编码,函数内JMP 指令以AJMP 编码,因此函数长

9

度不得超过2K 字节,而整个程序长度不得超过64K 字节,这种用法必须根据不同的目的而决定,看其是否比标准设置ROM(LARGE)效果更佳。

ROM(LARGE):将CALL 和JMP 指令以LCALL 和LJMP 编码。这样就允许不加限制地使

用整个地址空间,用户程序最大可达64K 字节。

⑵PL/M

编译器页

图1-7工程设置对话框

CODE/NOCODE:CODE 控制表明开始列出生成标准汇编语言格式地目标代码,这些汇编

语言目标代码紧随源程序列表清单之后,NOCOD 控制是在出现CODE 控制之前,不列出所生成地目标代码清单。注意:NOPRINT 控制不能对CODE 控制有抑制作用,而且NOOBJECT 中也隐含了NOCODE 功能。

INTVECTOR/NOINTVECTOR

在INTVCTOR 控制下,编译程序可为模块中每个中断过程产生一个字节入口的中断向

量。对中断n,中断向量入口的绝对地址为8n+3。当然,可以用ASM51单独建立中断向量。在选用NOINTVECTOR 控制时,编译程序将不产生任何中断向量。

RAM(SMALL、MEDUIM、LARGE)

RAM 指令用来决定程序内存的大小,它影响跳转指令的编码。

RAM(SMALL): CALL 和JMP 指令作为ACALL 和AJMP 指令的编码,最大程序空间可达2K

字节,整个用户程序必须分布在这2K 字节空间内。8051为提高编码密度,仅在2K 块内转移和调用,尽可能不使用3个字节的调用和转移指令。

ROM(MEDUIM):将正在进行编译的模块适合INBLOCK,而其他模块(包括来自PLM51.LIB

10

的那些模块)可以任意安放,这样就需使一些调用成为长调用(3个字节)。但是大多数的转移和大部分调用,仍能保持短编码形式。

ROM(LARGE):将CALL 和JMP 指令以LCALL 和LJMP 编码。这样就允许不加限制地使

用整个地址空间,用户程序最大可达64K 字节。

OPTIMIZE(n):括号内n 的可取值为一个0-3的十进制数,在产生目标代码中,该

控制实现各种优化处理。每一优化级包含了比优化级别低的所有优化处理功能。

REGISTERBANK(寄存器组控制)

其中,寄存器组值为0、1、2或3。在代码生成中,REGISTERBANK 控制将确定选用

其四个8051寄存器组中的一个。对一个含有USING 属性的控制,能够由一个过程所替代,PL/M51认为,一个过程中断总是与他所中断的过程使用不同的寄存器组,因而如果在一个独立模块中为每个中断编译代码,则应在REGISTERBANK 控制下编译所有非中断代码,所有的低级中断和高级中断分别处在各自寄存器组的设置下。因此,不用USING 属性也能避开引起的麻烦。

⑶连接器页

图1-8工程设置对话框

该页中其它各项已介绍,下面只讲述定位控制项:

BIT:起始地址/段名,定位BIT 段。

DATA:起始地址/段名,定位DATA 段。

IDATA: 起始地址/段名,定位IDATA 段。

STACK:段名,定位STACK 段。

CODE: 起始地址/段名,定位CODE 段。

XDATA: 起始地址/段名,定位XDATA段。

PDATA: 起始地址,为PDATA类型的段定义起始地址。

PRECODE:起始地址,在寄存器和位存储区中定位段。

1.2.3.调试程序

调试程序是使用该软件的最复杂、最关键的一步,在调试之前, 要进行各项操作与设置,不然下拉菜单中的各项打不开(没有从白色变成黑色)。

1.装载:装入当前程序的调试信息。该命令的快捷键为Ctrl+L,工具图标见由“查看/工具栏/调试工具”打开的工具条。

2.源程序调试:进入源程序调试方式。

3.混合码调试:对 C 程序进入源与汇编码的混合状态调试方式。

4.单步执行:跟踪运行程序,在反汇编窗口下执行一条指令,如果当前是调用指令,则进入所调用的子程序;如果在源程序窗口下,执行当前文本下的一条语句,如

果是调用指令则进入所调用的子程序。该命令的快捷键为F8,工具图标见由“查看/

工具栏/调试工具”打开的工具条。

5.宏单步执行:单步运行程序。反汇编窗口下如果是调用指令,则越过所调用的

子程序;源程序窗口下,如果是调用语句,则越过所调用的子程序。该命令的快捷键

为F10,工具图标见由“查看/工具栏/调试工具”打开的工具条。

6.连续单步:连续单步操作。该命令的快捷键为Ctrl+F8。

7.连续宏单步:连续宏单步操作。该命令的快捷键为Ctrl+F10。

8.连续执行:全速运行,遇断点停止。该命令的快捷键为F5,工具图标见由“查看/工具栏/调试工具”打开的工具条。

9.执行到光标处:全速运行到光标处。该命令的快捷键为F7,工具图标见由“查看/工具栏/调试工具”打开的工具条。

10.跳出子程序:当前执行在子程序处时,执行该命令跳出子程序。该命令的快捷键为Shift+F11,工具图标见由“查看/工具栏/调试工具”打开的工具条。

11.设置断点:单击“调试/设置断点”出现断点设置窗口,可设置或清除断点;

设置断点属性等。该命令的快捷键为F9。

12. 复位:复位仿真器, 该命令的快捷键为Ctrl+R。

13. 屏蔽断点全速运行该命令的快捷键为Ctrl+F5。

1.2.4设置(S)

1.仿真器设置:

单击“设置/仿真器设置”出现如图1-9所示的对话框,在该对话框中可设置仿

真器的仿真模式。

11

⑴ 8052 模式 选择 8052 仿真模式,(EA=0)。

在此模式下可仿真采用 8031/8032、80C31/80C32、8051/8052、78C32 单片机的应用系统。仿真程序存贮器模式选择栏中,可选择四种仿真存贮器模式之一:

① 内程序存贮器 内数据存贮器

仿真程序存贮器在仿真器上。数据存贮器也在仿真器上,该模式在无目标板时,最初调试软件用以排除软件中的故障。

图1-9仿真模式设置对话框

② 内程序存贮器 外数据存贮器

仿真程序存贮器在仿真器上,数据存贮器及 I/O 口在用户板上。一般采用该模式。通过该模式进行在线测试,可排除目标板上硬件故障,并进行软件调试。

③ 外程序存贮器 内数据存贮器

程序存贮器在用户板上(EPROM),数据存贮器在仿真器上。该模式很少使用。主要用于目标板缺少数据存贮器,将仿真器上数据存贮作临时使用。

④外程序存贮器 外数据存贮器

程序存贮器在用户板(EPROM)上,数据存贮器及 I/O 口在用户板上。该模式可进行反汇编跟踪分析目标板程序,或调试目标板上 EPROM 中程序。

⑵ 8752 模式

当选择8752仿真模式,(EA=1)。可仿真采用 87C51/87C52 、W78E5X、AT89C5X、LG90C5X 单片机的应用系统。仿真程序存贮器模式选择栏中,可选择四种仿真存贮器模式之一:

① 内程序存贮器 内数据存贮器

例如:仿真 89C52 8K 程序存贮器,大于 8K 程序存贮器在仿真器上,扩展的外

12

部数据存贮器在仿真器上。该模式在无目标板时调试软件,用于排除软件中的故障。

② 内程序存贮器 外数据存贮器

例如:仿真89C52 8K 片内程序存贮器,大于 8K 程序存贮器在仿真器上,扩展的外部数据存贮器及I/O 口在用户板上。一般采用该模式。通过该模式进行在线测试,可排除目标板上硬件故障,并进行软件调试。

③ 外程序存贮器 内数据存贮器

例如:仿真 89C52 8K 片内程序存贮器,大于 8K 程序存贮器在用户板上。扩展的外部数据贮器在仿真器上。该模式很少使用。主要用于目标板缺少数据存贮器时,将仿真器上数据存贮作临时使用。

④ 外程序存贮器 外数据存贮器

例如:仿真 89C52 8K 片内程序存贮器,大于 8K 程序存贮器在用户板上。扩展的外部数据存贮器及 I/O 口在用户板上。

⑶ 仿真器存贮空间选择

当选择 8752 模式时,跟据 CPU 片内存贮器空间有四种选择:

87C51/78E51 4K 片内程序存贮器

87C52/78E52 8K 片内程序存贮器

87C54/78E54 16K 片内程序存贮器

87C58/78E58 32K 片内程序存贮器

⑷ 主频选择

主频分仿真主频及逻辑主频两类。仿真主频是指仿真器的仿真频率;逻辑主频是指带逻辑分析仪仿真器的采集频率。有四种频率选择:6MHz、12MHz、24MHz对于(QTH-8052F+ 其频率选择为:2.7648MHz、5.5296MHz、11.0592MHz)及外晶振,当选择外晶振时,由目标板或仿真头提供振荡频率(即用户自己选择的晶振)。

⑸ 外复位选择

该功能允许用户板的复位引入仿真器内仿真 CPU,可调试外部复位电路及实时仿真外部看门狗电路及自复位电路。

2.设置PC值:设置当前程序计数器值。

3.设置文本编辑器:单击“设置/设置文本编辑器”弹出设置文本编辑器对话框,可设置环境参数,如字体、颜色等。

4.项目属性:设置源程序的编译/连,在前面已讲述

1.2.5外设(O)

1. 端口:端口设置窗口,显示或改变端口的状态。如图1-10所示。

13

可以作为定时器0初始化的编程依据,如图1-10所示。

图1-10 外设图示

3. 定时/计数器 1:定时器/计数器 1 模式和控制窗口,其 TMOD 和 TCON 的值,可

图1-11外设图示

以作为定时器1初始化的编程依据。

14

作为定时器 2 初始化的编程依据。

5. 串行口:串行口工作模式和控制窗口,其 SMOD 和 SCON 的值,可以作为串行口初始化的编程依据。如图1-11所示。

6. 中断:中断状态窗口,包括 INT0,INT1,T0,T1,T2 和 UART 中断状态以及优先级和允许设置。设置或清除相应的标志,可以改变中断的状态,也可以通过相应的值,作为中断初始化的编程依据。如图1-11所示。

1.2.6 QTH 集成开发实验系统使用

QTH 集成开发环境提供了以下两种方式开发应用程序:

z不使用QTH 集成开发环境项目管理方式——对源程序文件直接进行汇编/连接方式,兼容传统开发习惯。

z使用 QTH 集成开发环境项目管理方式——可进行多模块、混合语言编程的方式,也同样适合单模块程序的开发。

1.不使用项目管理方式开发应用程序

不使用 QTH 集成开发环境项目管理方式,只能进行单模块方式下的应用程序开发,具有很大的局限性。以下是不使用 QTH 集成开发环境项目管理方式开发应用程序的步骤。

⑴ 关闭当前项目

单击“项目/关闭项目” 此时 QTH 集成开发环境关闭界面上所有的窗口。

不使用 QTH 集成开发环境项目管理方式开发应用程序,用户必须关闭已经打开的项目,因为当打开项目文件后,QTH集成开发环境默认所有编译/汇编、产生代码的过程都是对项目或项目所包含的文件进行的。

⑵ 在文件菜单下打开应用程序

单击“文件/新建”或“文件/打开”,出现如图1-12所示的对话框。

单模块方式下的文件调试可以按照以下方法新建或打开文件:

●单击“文件/新建”,输入文件名和扩展名,新建文件

●单击“文件/打开”,选择文件选取框中的文件将其打开

15

图1-12 打开对话框

⑶ 编译/汇编

单击“项目/编译”

QTH 集成开发环境根据文件的扩展名,自动对当前激活的文件选择调用外部编译器或汇编器:

图1-13 信息框

① 如果当前文件的扩展名为 ASM,“编译/汇编”命令调用外部汇编命令对当前文件汇编。

② 如果当前文件的扩展名为 C,“编译/汇编”命令调用外部 C编译命令对当前文件编译。

执行“项目/编译”命令后产生的结果显示在如图1-13所示的信息框中:

⑷错误信息关联

QTH 集成开发环境调用外部命令编译后产生的结果,显示在信息窗口中。信息窗口中,当编译发生错误时,信息窗口中的错误信息自动与源文件关联,提示出错的位

16

置。在信息窗口中错误提示处双击鼠标左键,也可将错误信息与源文件的错误位置关联,如图1-14所示。

图1-14 信息关联框

z如果编译没有错误,可进入第⑸步操作

z如果编译出现错误,在修改文件后重复进行第⑶步操作

⑸ 产生代码并装入仿真器调试

单击“项目/装入调试信息”或“调试/装入”

装入调试信息或装入命令对编译连接无误后产生的 OBJ 文件进行连接,产生用于下载的代码。此命令自动地对修改过的源程序进行编译或汇编,对没有修改过的程序将越过编译或汇编过程,然后连接所有的 OBJ,LIB 文件,再装载代码到仿真器,完成调试程序所需的准备工作。装载完成后,调试器窗口调试工具条所有命令钮变亮。

2.使用项目管理方式开发应用程序

使用 QTH 集成开发环境项目管理方式,可以对单模块和多模块方式应用程序进行

开发。以下是使用 QTH 集成开发环境项目管理方式开发应用程序的步骤:

17

18

z 建立一个新的项目进入第⑴步——新建项目

z 打开已经存在的项目文件进入第⑶步——打开项目

图1-15新建项目对话框

⑴ 新建项目

单击“项目/新建项目”出现图1-15所示的对话框

项目名称栏:QTH 集成开发环境的项目文件是按项目名称管理的,项目管理器内

的项目名称不可以相同。在项目名称输入栏内,项目名称用户必须输入,并且项目名称不得超过 8 个字符,不可以使用汉字以及“-,?,*,/”等 DOS 文件所不可以使用的字符。

图1-16打开对话框

立即加入模块文件:选择立即加入模块文件,表示在项目建立后,会自动打开文

件选取框,供用户选择文件添加到项目管理器。

⑵ 加入模块文件

单击“项目/加入模块文件”出现“打开”窗口,选择文件在当前新建或打开的项

目中添加源程序文件。

注意:必须逐个加入模块文件,并且把主模块第一个加入其中

⑶ 打开项目

单击“项目/打开项目” 出现“打开”窗口。对于调试已经存在的项目,可以直

接打开项目文件进入第四步操作。

⑷ 设置项目属性

设置当前项目的编译及连接控制属性。

⑸ 编译/汇编/连接

单击“项目/编译连接装载”,QTH 集成开发环境根据文件的扩展名,自动对激活

的文件选择调用外部编译器或汇编器进行编译。

z如果当前文件的扩展名为ASM,编译/汇编命令调用外部汇编命令对当前文件

汇编。

z如果当前文件的扩展名为 C,编译/汇编命令调用外部 C 编译命令对当前文

件编译。

文件编译/连接的命令行参数由“项目/项目属性”确定。

⑹ 错误信息关联

文件经过编译/连接后的结果显示于信息窗口,出现错误后错误信息与文件关联。在信息窗口中错误之处双击鼠标左键,可将错误与文件关联:

● 如果没有错误,进入第⑹步操作

● 如果出现错误,修改文件后重复第⑸步操作

⑺ 装入调试信息

单击“项目/编译连接装载”

单击“项目/装入调试信息”

单击“调试/装入”

编译连接装载命令对经过编译/汇编无误后产生的 OBJ 文件进行连接产生用于下

载的代码。此命令对修改过的源程序自动进行编译或汇编,否则将越过编译或汇编过

程进行连接并装载代码到仿真器,完成调试文件所需的准备工作,并自动装入调试信

息到仿真器。

z使用编译连接装载命令,命令管理器会自动判别文件是否需要重新编译/汇编,提高调试效率,对编译连接通过的程序自动装入调试信息到仿真器。

z使用重新装入信息或装入命令,直接装入调试信息到仿真器。

1.2.7 调试举例

例1-1:单模块汇编语言源程序(不使用项目管理方式开发应用程序)

程序用已编好的文件,存于QTH\ASM文件夹中,文件名:P1.ASM

19

⑴ 关闭项目文件

关闭当前已经打开的项目,保证编译/汇编连接都是对当前激活的文件进行操作。

⑵ 打开文件掌握数据转换方法程序编写方法

点击“文件/打开”,在文件选取框中选择文件 P1.ASM。

⑶ 编辑修改文件

对打开后的文件进行编辑修改。

⑷ 编译连接装载

单击“项目/编译连接装载”命令P1.ASM 文件汇编,编译/汇编后产生的结果出现在 QTH 集成开发环境信息窗口。如果程序存在错误,集成开发环境将自动关联到源程序的错误处,转到第⑶步操作;如果正确,则装入调试信息到仿真器可进行第⑹步。

⑸ 装入代码到仿真器

使用[项目|装入调试信息]命令,将产生代码装入仿真器,此时 QTH 集成开发环境进入调试状态。QTH 集成开发环境的文件窗口 P1.ASM 的左侧出现了一列小圆点,表示当前程序计数器 PC。如图1-17所示。

图1-17

⑹ 调试应用程序.

20

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支

持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

单片机实验指导书

单片机实验指导书 适用专业:计算机控制、网络、物联网等 学时:12 编写人:孔庆臣 2016-5-12

实验一 IO口输入输出实验 1. 实验内容 (1) P2口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2) P1口做输入口,接八个扭子开关,P2口接八只发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 2. 实验目的 学习keil仿真软件的使用方法 学习IO口的使用方法。 学习延时子程序的编写和使用。 stc-isp软件的使用 3.有关说明 P1口为准双向口,P1的每一位都能独立地定义为输入或输出线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。单片机IO口在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。 可以用第二个实验做一下实验。先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。 再来看一下延时程序的实现。通常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 本实验系统晶振为11.0592MHZ,则一个时钟周期为0.0904us。现要写一个延时0.1s的程序,可大致写出如下: void Delay100ms() //@11.0592MHz { unsigned char i, j, k; i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } 5.实验电路设计 (1)分析附录1 单片机实验系统部分原理图,选择合适的电路模块,并根据实验要求的功能进行合理的电路模块间的电路连接。 (2)画出本次实验独立的原理图 5、实验要求 (1)完成实验电路设计 (2)完成实验程序设计 (3)实现要求的实验结果

单片机实验指导书

实验一8051简单编程与调试实验目的 通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。学会Proteus与Keil的整合调试。 实验基本要求 建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。画出实验程序的流程框图。 实验步骤 采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤: 1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。 在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。如图所示。 点击“确定”按钮后,弹出如下的对话框

如果是进行汇编语言编程选择“否”。 2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。 在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。程序编写完后,再次保存。 在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求: 1)掌握单片机开发板的使用方法(驱动识别,程序下载) 2)掌握单片机程序开发软件KEIL的使用 3)掌握单片机程序烧录软件STC-ISP下载软件的使用 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中 3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

2)实训程序一: #include "reg52.h" sbit LED=P1^0; void main() { LED=0; while(1); } 实训程序二: #include "reg52.h" #define LED P1; void main() { LED=0xaa; while(1); } 3)实训步骤 ①打开KEIL软件编写LED控制程序。 ②程序调试无误后,使用KEIL生产HEX文件。 ③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。

3)实验现象记录 实训程序一:。实训程序二:。 4)实训报告要求 ①将实训程序中的注释补充完整,了解每条语句作用。 ②完成如下评分表

实训项目二LED的闪烁1、实训目的及要求: 1)掌握单片机控制LED点亮和熄灭的方法。 2)了解单片机延时程序的原理及设计。 3)了解单片机中常用的变量类型及其定义方法。 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 1)流程图

单片机实验指导书——带答案

《单片机原理及应用》 实验指导书 姓名: 学号: 专业班级: 所在学院:成人教育学院 2012年5月日

单片机实验指导书 目录 实验一系统认识实验 (3) 实验二程序调试 (6) 实验三外部中断实验 (6) 实验四串口实验 (8)

实验一系统认识实验 一、实验目的 1.掌握SICElab-G2200实验/仿真系统的结构与使用方法; 2.熟悉单片机系统开发软件WA VE6000。 二、实验设备 1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台 3.连线若干根 4.计算机 1 台 三、实验内容 P1端口接发光二极管,加1点亮。 四、连线方案: 五、实验步骤 1.连接Lab51CPU板。(已由实验师连好) 2.仿真器与实验平台的连接 将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。(已由实验师连好) 3.仿真器与计算机的连接 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。 特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。 4.实验连线 按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。拆线时,应先回转一下,不要硬拨,以免损坏线路板。不管是拆线还是插线,都应 在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。

5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。 6.在计算机上打开“WA VE6000集成调试环境”,界面如下图所示: 7.建立新程序(如果程序已编好,直接跳到第9步) 选择菜单[文件 | 新建文件]功能。 出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序 ORG 0 MOV P1,#0 ;熄灭发光二极管 LOOP: INC P1 CALL Delay SJMP LOOP Delay: MOV R2,#3 ;延时程序 MOV R1,#0 MOV R0,#0 DLP: DJNZ R0,DLP DJNZ R1,DLP DJNZ R2,DLP RET END 8.保存程序 选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。 9.建立新的项目 选择菜单[文件 | 新建项目]功能。 新建项目会自动分三步走。 (1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。 (2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如果没有包含文件,按取消键。 (3)保存项目。在保存项目对话框中输入项目名称。MY1无须加后缀。软件会自动将后缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。 10.设置项目 11.编译程序 选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。 在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可以执行、调试程序了。 12.执行、调试程序 有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。 (1)全速执行 (2)程序单步跟踪 选择[执行 | 跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序。 (3)执行到光标处 (4)设置断点 (5)观察各变量值的方法

单片机实验指导书终稿

实验一清零、移数、判断 一、实验目的 1、掌握汇编语言程序设计和调试方法。 2、掌握RAM存储器读写及存储块操作方法 3、熟悉分支结构程序的设计。 二、实验内容 将片内30H~40H及片外0010H~0100H清零,然后将片内41H~47H的内容移到片外0041H~0047H,判断: 若(0041H)<15,则求其平方存到0050H中,并将位00H置1。 (0041H)=15,则加15存到0050H中,并将位01H置1。 (0041H)>15, 则减15存到0050H中,并将位02H置1。 三、实验说明 通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。 四、实验框图 片内外RAM清零流程图移数流程图

判断流程图 五、思考题 1、如果平方数超过255,怎样将数放到片内RAM 30H和31H单元内,写出指令。 2、位的表示方法有哪些,举例说明?将01H位清零的方法有几种,写出指令。

实验二排序、加法 一、实验目的 1、进一步掌握汇编语言程序设计和调试方法。 2、掌握数据排序的算法及加法运算。 二、实验内容 1、有两个长度为10个字节的无符号数分别放在片内30H和40H为首的存储单元中 (低字节),求其和(带进位位),放在50H为首的单元中。 2、将50H为首单元中的数按升序排列放在60H为首的单元中。 三、实验说明 通过本实验,学生可以了解单片机排序的算法,本程序采用“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。 四、实验框图 加法运算流程图排序流程图 五、思考题 1、-125与-9相加,PSW中OV、AC、CY的值是多少?各表示什么含义? 2、两个压缩BCD码59和22相加,结果放到片内RAM 30H单元中,写出程序。

单片机实验分析指导书

\\ 《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 哈尔滨理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行[主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本 实例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 1

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下: 2

51单片机实验指导书

《MCS-51单片机原理及应用》实验指导书 福建师范大学光电与信息工程学院 2016年03月

目录 实验一开发环境IDE (1) 实验二汇编程序设计初步 (1) 实验三汇编程序设计-进阶 (1) 实验四简单的单片机C语言程序 (2) 实验五内部定时器0/1应用 (3) 实验六中断及服务程序设计 (4) 实验七LED流水灯程序 (1)

实验一开发环境IDE 一、实验目的 1、熟悉一种51单片机开发软件,例如Keil或Wave,掌握IDE使用方法,掌握项目创建、软件仿真等调试方法。 二、实验仪器 1、PC机1台 三、实验内容 1、初步认识IDE软件(以Keil为例)的软件界面及使用; 2、了解asm、lst、hex等文件; 3、简单程序编写、调试; 4、掌握Watch、Memory等观察调试方法。 四、预习要求 1、读懂各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、为什么程序需要一个死循环? 2、比较“跟踪”、“单步”和“断点”调试方式的特点。

实验二汇编程序设计初步 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机1台 三、实验内容 (1)多字节加法 (2)多字节减法 (3)多字节乘法 (4)多字节除法 四、预习要求 1、读懂课堂PPT各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、比较“跟踪”、“单步”和“断点”调试方式的特点。

《单片机原理》实验指导书proteus

《单片机原理及接口》 实验指导书 莆田学院信息工程学院 2016年2月

目录 实验一仿真系统搭建 (1) 实验二实验系统编程应用 (7) 实验三流水灯实验 (9) 实验四 LED数码管显示实验 (11) 实验五键盘实验 (13) 实验六中断系统实验 (15) 实验七 51定时器实验 (17)

实验一仿真系统搭建 一、实验目的 了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。 熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。 二、实验原理 整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。 主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。 整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。 1、Keil软件的安装设置:

MSP430单片机实验指导书

试验一 一、实验目的 进一步熟悉IAR for MSP430编程软件和PROTEUS仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握MSP430单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。 二、实验内容 1、运用PROTEUS仿真软件绘制LED流水灯电路; 2、运用IAR for MSP430编程软件编辑led流水灯程序,并且生成.hex 或.d90文件,并且将生成的文件加载到单片机中,程序使用P1或其它端口来演示跑马灯,输出低电平驱动。 三、实验器材 电脑一台 四、实验原理及介绍 LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1或其它端口的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED灯就会熄灭。 五、程序流程图 开始 端口初始化 LED顺序点亮 结束 六、实验步骤 1、运用PROTEUS仿真软件绘制电路图; 2、运用IAR for MSP430编写流水灯程序,并且生成‘’.hex’’或“.d90”文件

3、将‘’.hex’’或“.d90”文件软件加载到PROTEUS仿真软件中; 4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用 七、参考程序 #include "msp430f249.h" #define uint unsigned int /******************** 主函数 **************************/ void main(void) { Uint I; WDTCTL = WDTPW + WDTHOLD; P1DIR = ox0ff; while(1) { PIOUT = 0x00; For(I = 0;I < 65565;I ++); PIOUT = 0x0ff; For(I = 0;I < 65565;I ++); } } 八、心得体会(二页以上)

单片机实验指导书

1.TKSTDIO 集成开发环境简介 TKSTDIO 是一个集成开发环境软件。它提供了工程管理、文件编辑、编译连接、调试与仿真等强大功能。在此环境下可方便地开发单片机应用系统。 在TKSTDIO 集成开发环境中,工程是一个非常重要的概念。它是用户组织一个应用的所有源文件、设置编译连接选项、生成可调试下载文件和最终Bin 文件的一个基本结构,所有工作都围绕工程而展开。一个工程管理一个应用的所有源文件、库文件及其它输入文件,并根据实际情况进行相应的编译连接设置。 实验基本操作步骤: (1)建立自己实验项目文件夹(以学号或姓名命名); (2)打开TKSTDIO ; (3)[文件]→[新建]→[工程]→[Project Wizard]→[选择自己文件夹]→[输入工程名]→[确定]→[输入/选择单片机型号(STC89C51RC )]→[确定]; (4)[文件]→[新建]→[文件]→[Asm File]→[选择自己文件夹]→[输入文件名]→[确定]; (5)在弹出窗口输入/粘贴/打开实验1源程序; (6)[工程]→[生成“ ”]; (7)[调试]→[启动/停止调试]→……; (8)[打开STC-ISP.EXE]; (9)[打开程序文件]→[工程文件夹→DeBugRel →*.hex ]→[打开]→[DownLoad/下载]→程序在实验箱/开发板上运行,观察运行情况。 2.实验箱驱动与译码电路 由于实验箱上扩展器件较多,所以在系统总线上加了驱动器。数据总线(P0)口通过双向驱动器芯片74LS245驱动。低5位地址(A0A1A2A3A4)和控制信号(WR ———、RD ——— 、ALE )通过单向驱动器芯片74LS244驱动。系统通过两片3-8译码器芯片74LS138级联形成4-16译码逻辑,其译码输出作为实验箱上其它扩展器件译码控制信号,确定其地址范围。P 2.7P 2.6P 2.5P 2.4作译码器输入,译码输出SEL0~SEL7所确定的地址空间分别为:0xxxH 、1xxxH 、图1.1 实验箱驱动与译码电路

51单片机实验指导书

实验一、80C51存储器数据传输实验: 1、实验目的: 1)熟悉嵌入式交叉开发环境,结合简单的应用实例,完成工程的建立、应用程序的编写,并进行编译、调试,观察相关寄存器及存储空间的使用情况。 2)熟悉51单片机的开发环境Keil C51,掌握80C51单片机内部数据存储器、外部数据存储器的数据传送特点和应用。 2、实验内容: 第三章思考与练习(p87),从12、14、15、16中任选2题进行实验验证 要求:回答题目中问题,并列写出程序执行完后所涉及的各寄存器的值。 实验二、80C51汇编语言编程实验: 1、实验目的: 1)熟悉80C51单片微机汇编语言设计及编程技巧。 2)掌握逻辑运算程序的设计方法。 3)掌握多字节无符号十进制数加、减法程序的设计。 2、实验内容: 1)逻辑运算 设:A=63H ,B=82H ,C=C5H ,D=36H ,根据下列逻辑运算式,编写程序计算运算结果。 Y =A?B ?C ????????????????D +A ???????? 2)十进制加、减运算 286729 + 652430 -752196 = ? 在8051片内数据存储器的20H~22H 中放入3字节被加数(低位在先)、23H~25H 放入加数(低位在先)、26~28H 放入减数,结果存入29H~2BH 单元(低位在先)。 附:实验二参考例程 1)逻辑运算: ORG 0000H AJMP MAIN ORG 0080H MAIN: M OV A, #63H ;将A 值给累加器A MOV R0, #36H ;将D 值给R0 ORL A, R0 ;将A 与D 逻辑或,即A+D 存入累加器A CPL A ;求A +D ???????? MOV R1, A ;将A +D ????????存入R1 MOV A, #82H ;将B 值给累加器A MOV R0, #0C5H ;将C 值给R0 ANL A, R0 ;B 与C 逻辑与,结果存入累加器A CPL A ;求反,即B ?C ?????? MOV R0, #63H ;将A 值存入RO XRL A, R0 ;A?B ?C ??????,存入累加器A CPL A ;A?B ?C ??????????????? ANL A, R1 ;A?B ?C ????????????????D +A ???????? END

AVR单片机C语言程序设计实验指导书

实验一发光二极管的移动控制 一、实验目的 1.熟悉并行接口的设置与应用; 2.进一步熟悉编译软件和下载软件的使用; 3.熟悉C语言中移位、延时、数组等指令的应用; 4.增强学习单片机的兴趣。 二、实验内容 1.参考课本P128“发光二极管的移动控制”实验程序,实现发光二极管循环点亮的按键控 制。 ) 2.设计一个完整程序(另建一个文档),实现8个led灯的自动顺序(加法)点亮和逆序 (减法)点亮。见参考程序,并在程序中添加必要的解释文字。 三、实验步骤 1.以班级和姓名为文件夹名称在D盘根目录下新建一个子目录文件夹,用来保存每次实验的项目和程序。(注意:每次实验的位置固定,即下次实验的计算机还是上次的计算机。) 2.再在这个子目录下以实验题目为名新建一个文件夹。打开ICCAVR开发编程软件,新建一个工程文件项目,参照程序清单或根据实验要求自己重新修改设置并输入程序。 3.保存程序,并将程序源文件添加到项目里。见下图1。 图1 ( 4.设置项目属性,选择目标芯片等,见下图2,3。

图2 图3 5.编译程序。将所输入的程序进行编译(菜单Project→ Make命令),或者在工具栏单击 按钮),若编译时下方出现错误提示,说明程序有语法错误,此时必须根据编译器所列 出的错误消息,逐条查改,重新编译,直到错误消除并生成*.hex文件。 6.功能仿真。利用proteus或AVR studio的仿真功能对程序进行功能性仿真,验证程序功能是否正确。 7.打开下载软件(progisp或AVR Studio里的JTAG ICE),将刚刚生成的相应*.hex文件写入单片机(在此之前,须将单片机实验板按要求与PC机连接正确,并接通电源)。 8.验证硬件实现的结果是否与功能要求一致。 四、参考程序(实现8个led灯的自动顺序(加法)和逆序(减法)点亮的部分程序) > /*********************** 系统外接8M晶振 ************************/ unsigned char i; while (1) { for (i = 0; i < 8; i ++) { PORTB = ~(1 << i); delay_ms(200); 。 } for (i = 8; i > 0; i --) { PORTB = ~(1 << i-1); delay_ms(200); } }

单片机实验指导书

单片机实验指导书 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 哈尔滨理工大学 自动化学院自动化系 实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单文件新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比 如:.ASM文件,使用A51来对它编译。本实例文件名为。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单项目编译、连接 ]或[主菜单项目重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单运行进入调试状态] b)点击工具条的进入后的窗口如下:

51单片机实验指导书

《 MCS-51单 片 机 原 理 及 应 用 》 实 验 指 导 书 福建师范大学物理与光电信息科技学院 2012年03月

目录 实验一指令和汇编语言 (1) 实验二汇编程序设计初步 (1) 实验三汇编程序设计-进阶 (1) 实验四简单的单片机C语言程序 (2) 实验五内部定时器0/1应用 (3) 实验六中断及服务程序设计 (4)

实验一指令和汇编语言 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机 1台 三、实验内容 1、初步认识仿真器软件(以Wave为例)的软件界面及使用; 2、了解asm、lst等文件; 3、简单程序编写、调试 (1)传送指令 (2)数据交互指令 (3)堆栈操作指令 (4)算术运算指令(加、减、乘、除) (5)逻辑操作指令 (6)清零和求反指令 (7)循环移位指令 (8)控制转移指令 (9)子程序调用及返回 四、预习要求 1、读懂各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、为什么程序结束用“STOP:SJMP STOP”指令?用没有其他的停止方式? 51单片机启动后,是否一直不断地在执行指令? 2、比较“跟踪”、“单步”和“断点”调试方式的特点。

实验二汇编程序设计初步 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机 1台 三、实验内容 (1)多字节加法 (2)多字节减法 (3)多字节乘法 (4)多字节除法 四、预习要求 1、读懂课堂PPT各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、比较“跟踪”、“单步”和“断点”调试方式的特点。

单片机实验指导书

《单片机原理及接口技术》实验指导书 编著:张玲汪用瑜李惠颖

第一章概述 (1) 第二章软件实验 (6) 实验一清零程序 (6) 实验二拆字程序 (7) 实验三拼字程序 (7) 实验四数据区传递子程序 (8) 实验五数据排序实验 (9) 实验六无符号双字节快速乘法子程序 (9) 实验七脉冲计数(定时/计数器实验) (10) 第三章、硬件实验 (12) 实验一P3.3口输人. P1口输出 (12) 实验二8255 PC口控制PB口 (13) 实验三8255控制交通灯 (14) 实验四A/D转换实验 (16) 实验五D/A转换 (17) 实验六8253方波 (19) 实验七步进电机控制 (20) 实验八继电器控制 (21) 实验九电子音响 (22) 实验十小直流电机调速实验 (23) 参考程序 (24) 一、软件实验 (24) 实验一清零程序 (24) 实验二拆字程序 (24) 实验三拼字程序 (24) 实验四数据块传送 (25) 实验五数据排序 (26) 实验六双字节乘洁程序 (27) 实验七脉冲计数 (29) 二、硬件实验 (31) 实验一 P3口、P1口使用 (31) 实验二 8255 PC口控制PB 口 (32) 实验三 8255控制交通灯 (33) 实验四 A/D0809应用实验 (34) 实验五 D/A 0832应用 (36) 实验六定时计数器8253 (37) 实验七步进电机实验 (38) 实验九直流电机调速实验 (44)

第一章概述 一、DVCC系列单片机仿真实验系统键盘简介 系统自带32个标准键盘,16个数字键和16个多功能键,显示部分有6个高亮LED 组成,通常左边4个用于显示地址,右边2个用于数据,为用户现场调试带来方便。 下面介绍键盘功能: 右边十六个功能键,在LED状态输入操作命令,其功能如下: TV/MEM: TV/程序存储器检查 REG/OFST;片内RAM寄存器,特殊功能寄存器检查/偏移量计算 ODRW/INS:外部数据存储器、外部RAM、I/O检查/插入一个字节 EPRGH/DEL: EPROM高速写入/删除一字节 F1/LAST:第一标志键/读上一字节 F2/NEXT:第二标志键/读下一字节 STEP/NVBP:单拍、单拍跟踪/* EXEC/FVBP:连续执行/断点运行 PCDBG/EPRGL:与IBM PV/XT通讯调试/低速固化 EPMOV:固化区内容移入目标RAM EPCH/EPCOM: EPROM查空/EPROM比较 PRT:打印命令 COMP:源程序与目标程序相比较 MOVE:程序块或数据块移动 DAR:反汇编 MON:退出当前操作,返回初态——显示闪动“P.”位 RESET;系统复位按钮,它在硬件上与开发系统复位线连在一起,无论何时按压 RESET键,都使整个系统复位,返回初始状态——闪动“P.” 在数字键的右上角或功能键的右上角,右下角所标的字符标记分别是进入TV状态时,用于输入汇编语言或高级CBASIC高级语言程序时所用到的符号和字母。[SHIFT]为上档键(除TV状态不用)。 二、51系统键盘监控命令简介 1.键盘监控程序工作状态 用户可以通过32个键向本机发出各种操作命令,大多数键均具有2个以上的功能,本机无上下档转换键,计算机到底进行什么操作,不仅与按压什么键有关,也与当前计算机所处的工作状态有关,下面作有关介绍: 2.单板状态:在本状态显示器的左端显示提示符,一个闪动的“P.”字符,表开发机处于始化状态,等待操作。 在计算机接通电源自动复位时处于单板状态; 按压RESET复位键后,使本机处于单板状态; 在大多数情况下,按MON键,也可以使本机进入单板状态(待命状态0)。待命状态0时,可以进入的操作有: *按压任意数字键,进入待命状态1,显示该键入数; *按压F1标志键,进入仿真2态,PC值指向外部用户仿真程序空间,DPTR指向外部数据空间,显示闪动的“H……”; *按压F2标志键,进入仿真1态,PC值指向用户程序空间,DPTR指向外部数据空间显示闪动的“P……”; *按压PCDEG键,进入与IBM PC/XT通讯、调试、反汇编,显示全暗; *按压EPCH键,检查EPROM内容是否是全FFH;

单片机实验指导书

单片机实验指导书 一、硬件实验系统介绍 (一)电路原理 实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。 详细的电路原理图见附件 (二)各模块开关控制简表 二、单片机实验板使用说明 (一)程序下载

1、下载软件为STC-ISP V3.X,建议使用V3.5版本。 2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。 3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。 (二)程序运行 1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。 2、各元件的电源开关均靠近本元件。 (三)注意事项 由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。 2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。 3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零 三、Keil软件使用简要说明 1、建立工程文件:单击“工程”菜单中的“新工程”命令。选择路径、输入项目名称,不 需要扩展名。在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。 2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。 a)在“目标”标签中,晶体X晶振频率(MHz),默认为24MHz,是CPU所支持的 最高频率,可以有针对性修改。其它采用默认设置。 b)在“输出”标签中,在“建立 hex格式文件”前打勾选中,其它采用默认设 置。 3、建立源程序文件:单击“文件”菜单中的“新建”,编辑源程序。完成后,选择“保 存”文件,扩展名为“.asm”格式保存。 4、添加文件到当前项目组中。 a)单击工程管理器中“Target1”前的“+”号,出现“Source Group1”后再单 击,加亮后右击,在下拉窗口中选择“增加文件到Source Group1”。 b)选择刚才以ASM格式编辑保存的文件*.ASM(注意文件类型),鼠标单击“Add” 按钮。 5、编译文件:执行“工程”菜单中的“重新构造所有目标文件”。无错误时,自动产生“*.hex” 文件。 6、如果有错误,根据提示信息修改源程序,直至编译通过。编译通过后将产生以HEX为扩 展名的目标文件。 硬件及接口实验 实验一简单点亮历程的流水灯实验 一、实验题目 1.P2口做输出口,接八只发光二极管,编写程序,使发光二极管从上到下循环点亮,时间间隔1S。 2.P2口做输出口,接八只发光二极管,编写程序,使发光二极管从下到上循环点亮,时间间隔2S。 二、实验目的 1.学习熟悉汇编软件Keil和程序下载软件的使用。 2.学习P2口的使用方法和移位指令的使用。

相关文档
最新文档