单片机与嵌入式系统实验讲义全Word下载.docx
《单片机与嵌入式系统实验讲义全Word下载.docx》由会员分享,可在线阅读,更多相关《单片机与嵌入式系统实验讲义全Word下载.docx(34页珍藏版)》请在冰点文库上搜索。
取消上次操作
Redo
Ctrl+Shift+Z
重复上次操作
Cut
Ctrl+X
Ctrl+Y
剪切所选文本
剪切当前行的所有文本
Copy
Ctrl+C
复制所选文本
Paste
Ctrl+V
粘贴
IndentSelectedText
将所选文本右移一个制表键的距离
UnindentSelectedText
将所选文本左移一个制表键的距离
ToggleBookmark
Ctrl+F2
设置/取消当前行的标签
GotoNextBookmark
F2
移动光标到下一个标签处
GotoPreviousbookmark
Shift+F2
移动光标到上一个标签处
ClearAllBookmarks
清除当前文件的所有标签
Find
在当前文件中查找文本
F3
向前重复查找
Shift+F3
向后重复查找
Ctrl+F3
查找光标处的单词
Ctrl+]
寻找匹配的大括号、圆括号、方括号(用此命令将光标放到大括号、圆括号或方括号的前面)
Replace
替换特定的字符
FindinFiles…
在多个文件中查找
GotoMatchingbrace
选择匹配的一对大括号、圆括号或方括号中的容
2)选择文本命令
在μVision2中,可以通过按住Shift键和相应的键盘上的方向键来选择文本。
如Ctrl+->可以移动光标到下一个词,那么,Ctrl+Shift+->就是选择当前光标位置到下一个词的开始位置间的文本。
当然,也可以用鼠标来选择文本。
3)项目菜单Project和项目命令Project(如表1-2所示)
表1-2项目菜单和项目命令Project
NewProject…
创建新项目
ImportμVision1Project…
转化μVision1的项目
OpenProject…
打开一个已经存在的项目
CloseProject…
关闭当前的项目
TargetEnvironment
定义工具、包含文件和库的路径
Targets,Groups,Files
维护一个项目的对象、文件组和文件
SelectDeviceforTarget
选择对象的CPU
Remove…
从项目中移走一个组或文件
Options…
Alt+F7
设置对象、组或文件的工具选项
FileExtensions
选择不同文件类型的扩展名
BuildTarget
F7
编译修改过的文件并生成应用
RebuildTarget
重新编译所有的文件并生成应用
Translate…
Ctrl+F7
编译当前文件
StopBuild
停止生成应用的过程
1~7
打开最近打开过的项目
4)调试菜单Debug和调试命令(如表1-3所示)
表1-3调试菜单和调试命令Debug
Start/StopDebugging
Ctrl+F5
开始/停止调试模式
Go
F5
运行程序,直到遇到一个中断
Step
F11
单步执行程序,遇到子程序则进入
Stepover
F10
单步执行程序,跳过子程序
Stepoutof
Ctrl+F11
执行到当前函数的结束
CurrentfunctionstopRuning
Esc
停止程序运行
Breakpoints…
打开断点对话框
Insert/RemoveBreakpoint
设置/取消当前行的断点
Enable/DisableBreakpoint
使能/禁止当前行的断点
DisableAllBreakpoints
禁止所有的断点
KillAllBreakpoints
取消所有的断点
ShowNextStatement
显示下一条指令
Enable/DisableTraceRecording
使能/禁止程序运行轨迹的标识
ViewTraceRecords
显示程序运行过的指令
MemoryMap…
打开存储器空间设置对话框
PerformanceAnalyzer…
打开设置性能分析的窗口
InlineAssembly…
对某一行重新汇编,可以修改汇编代码
FunctionEditor…
编辑调试函数和调试设置文件
5)外围器件菜单Peripherals(如表1-4所示)
表1-4外围器件菜单Peripherals
ResetCPU
复位CPU
以下为单片机外围器件的设置对话框(对话框的种类及容依赖于你选择的CPU)
Interrupt
中断观察
I/O-Ports
I/O口观察
Serial
串口观察
Timer
定时器观察
A/DConoverter
A/D转换器
D/AConoverter
D/A转换器
I2CConoverter
I2C总线控制器
Watchdog
看门狗
6)工具菜单Tool(如表1-5所示)
利用工具菜单,可以设置并运行GimpelPC-Lint、SiemensEasy-Case和用户程序。
通过CustomizeToolsMenu…菜单,可以添加需要的程序。
表1-5工具菜单Tool
SetupPC-Lint…
设置GimpelSoftware的PC-Lint程序
Lint
用PC-Lint处理当前编辑的文件
LintallCSourceFiles
用PC-Lint处理项目中所有的C源代码文件
SetupEasy-Case…
设置Siemens的Easy-Case程序
Start/StopEasy-Case
运行/停止Siemens的Easy-Case程序
ShowFile(Line)
用Easy-Case处理当前编辑的文件
CustomizeToolsMenu…
添加用户程序到工具菜单中
3、创建项目实例
μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。
要创建一个应用,需要按下列步骤进行操作:
●启动μVision2,新建一个项目文件并从器件库中选择一个器件。
●新建一个源文件并把它加入到项目中。
●增加并设置选择的器件的启动代码
●针对目标硬件设置工具选项。
●编译项目并生成可编程PROM的HEX文件。
下面将逐步地进行描述,从而指引读者创建一个简单的μVision2项目。
1)选择【Project】/【NewProject】选项,如图1-2所示。
图1-2Project菜单
2)在弹出的“CreateNewProject”对话框中选择要保存项目文件的路径,比如保存到Exercise目录里,在“文件名”文本框中输入项目名为example,如图1-3所示,然后单击“保存”按钮。
图1-3CreateNewProject对话框
3)时会弹出一个对话框,要求选择单片机的型号。
读者可以根据使用的单片机型号来选择,KeilC51几乎支持所有的51核的单片机,这里只是以常用的AT89C51为例来说明,如图1-4所示。
选择89C51之后,右边Description栏中即显示单片机的基本说明,然后单击“确定”按钮。
图1-4选择单片机的型号对话框
4)这时需要新建一个源程序文件。
建立一个汇编或C文件,如果已经有源程序文件,可以忽略这一步。
选择【File】/【New】选项,如图1-5所示。
5)在弹出的程序文本框中输入一个简单的程序,如图1-6所示。
图1-5新建源程序文件对话框图图1-6程序文本框
6)选择【File】/【Save】选项,或者单击工具栏按钮,保存文件。
在弹出的如图1-7所示的对话框中选择要保存的路径,在“文件名”文本框中输入文件名。
注意一定要输入扩展名,如果是C程序文件,扩展名为.c;
如果是汇编文件,扩展名为.asm;
如果ini文件,扩展名为.ini。
这里需要存储ASM源程序文件,所以输入.asm扩展名(也可以保存为其他名字,比如new.asm等),单击“保存”按钮。
图1-7“SaveAs”对话框图
7)单击Target1前面的+号,展开里面的容SourceGroup1,如图1-8所示。
图1-8Target展开图
8)用右键单击SourceGroup1,在弹出的快捷菜单中选择AddFiletoGroup`SourceGroup1`选项,如图1-9所示。
图1-9AddFilestoGroup‘SourceGroup1’菜单
9)选择刚才的文件example.asm,文件类型选择AsmSourcefile(*.C)。
如果是C文件,则选择CSourcefile;
如果是目标文件,则选择Objectfile;
如果是库文件,则选择Libraryfile。
最后单击“Add”按钮,如果要添加多个文件,可以不断添加。
添加完毕后单击“Close”按钮,关闭该窗口,如图1-10所示
图1-10AddFilestoGroup‘SourceGroup1’对话框
10)这时在SourceGroup1目录里就有example.asm文件,如图1-11所示。
图1-11example.asm文件
11)接下来要对目标进行一些设置。
用鼠标右键(注意用右键)单击Target1,在弹出的会计菜单中选择OptionsforTarget“Target1”选项,如图1-12所示。
图1-12ptionsforTarget“Target1”选项
12)、弹出OptionsforTarget“Target1”对话框,其中有8个选项卡。
设置Output选项卡(如图1-17所示)
●如果不设置,就存储在项目文件的目录里。
NameofExecutable:
设置生成的目标文件的名字,缺省情况下和项目的名字一样。
目标文件可以生成库或者obj、HEX的格式。
图1-17设置Output卡
●SelectFolderforObjects:
单击该按钮可以选择编译后目标文件的存储目录,
●CreateExecutable:
如果要生成OMF以及HEX文件,一般选中DebugInformation和BrowseInformation。
选中这两项,才有调试所需的详细信息,比如要调试C语言程序,如果不选中,调试时将无法看到高级语言写的程序。
●CreateHEXFile:
要生成HEX文件,一定要选中该选项,如果编译之后没有生成HEX文件,就是因为这个选项没有被选中。
默认是不选中的。
●CreateLibrary:
选中该项时将生成lib库文件。
根据需要决定是否要生成库文件,一般应用是不生成库文件的。
●AfterMake:
栏中有以下几个设置。
●Beepwhencomplete:
编译完成之后发出咚的声音。
●StartDebugging:
马上启动调试(软件仿真或硬件仿真),根据需要来设置,一般是不选中。
●RunUserProgram#1,RunUserProgram#2:
这个选项可以设置编译完之后所要运行的其他应用程序(比如有些用户自己编写了烧写芯片的程序,编译完便执行该程序,将HEX文件写入芯片),或者调用外部的仿真器程序。
根据自己的需要设置。
设置Listing选项卡(如图1-18所示)
KeilC51在编译之后除了生成目标文件之外,还生*.lst、*m51的文件。
这两个文件可以告诉程序员程序中所用的idata、data、bit、xdata、code、RAM、ROM、stack等的相关信息,以及程序所需的代码空间。
图1-18设置Listing选项卡
选中AssemblyCode会生成汇编的代码。
这是很有好处的,如果不知道如何用汇编来写一个long型数的乘法,那么可以先用C语言来写,写完之后编译,就可以得到用汇编实现的代码。
对于一个高级的单片机程序员来说,往往既要熟悉汇编,同时也要熟悉C语言,才能更好地编写程序。
某些地方用C语言无法实现,便用汇编语言却很容易。
有些地方用汇编语言,很繁琐,用C语言就很方便。
单击SelectFolderforListings按钮后,在出现的对话框中可以选择生成的列表文件的存放目录。
不做选择时,使用项目文件所在的目录。
设置Debug选项卡(如图1-19所示)
这里有两类仿真形式可选:
UseSimulator和Use:
KeilMonitor-51Driver,前一种是纯软件仿真,后一种是带有Monitor-51目标仿真器的仿真。
●LoadApplicationatStart:
选择这项之后,Keil才会自动装载程序代码。
●Gotillmain:
调试C语言程序时可以选择这一项,PC会自动运行到main程序处。
这里选择UseSimulator。
如果选择Use:
KeilMonitor-51Driver,还可以单击图1-19中的Settings按钮,打开新的窗口如图1-20,其中的设置如下。
●Port:
设置串口号,为仿真机的串口连接线COM_A所连接的串口。
●Baudrate:
设置为9600,仿真机固定使用9600bit/s跟Keil通信。
●SerialInerrupt:
允许串行中断,选中它。
●CacheOptions:
可以选也可以不选,推荐选它,这样仿真机会运行得快一点。
1-19设置Debug选项卡
最后单击OK按钮关闭窗口。
图1-20Target设置
13)编译程序,选择【Project】/【Rebuildalltargetfiles】选项,如图1-21所示。
图1-21Rebuildalltargetfiles
或者单击工具栏中的按钮,如图1-22所示,开始编译程序。
图1-22工具栏中的按钮
如果编译成功,开发环境下面会显示编译成功的信息,如图1-23所示。
图1-23编译成功信息
14)编译完毕之后,选择【Debug】/【Start/StopDebugSession】选项,即就进入仿真环境,如图1-24所示。
图1-24仿真
或者单击工具栏中的铵钮,如图1-25所示。
15)装载代码之后,开发环境下面显示如图1-26所示的信息。
图1-25工具栏仿真按钮
图1-26装载代码
4、ISP软件的使用
打开下载软件,双击目录下的文件ISPgm.exe,打开软件进入软件使用界面
.芯片选择:
左击界面右面芯片选择窗口的下拉箭标,选择编程芯片的型号。
.导入hex文件到缓冲区:
左击界面上的“OpenFile”按钮,选择本目录下的hex文件。
.向芯片写入文件:
左击界面上的“Write”按钮,开始编程向芯片写入程序。
.完成写入编程。
.退出程序:
左击界面右上角的“x”按钮,退出此程序。
三、实验容
(1)熟悉单片机最小系统的结构及其基本电路的工作原理;
(2)编写一个简单的C51程序,分别采用汇编和C语言控制P1.1端口输出高电平、低电平和高低电平变化,在Keil中完成编译后,在Keil中仿真运行并查看其结果;
(3)采用Keil调试的方法开展调试,逐步查看调试过程及其结果;
(4)将编程代码通过STC-ISP程序下载到单片机开发板中运行,用观察P1.1口的输出电平情况。
看是否与理论相符。
四、实验要求
(1)掌握8051时钟电路与复位电路的设计,熟悉8051最小系统的构成;
(2)掌握在Keil集成开发环境下开发C51程序的一般方法,编写的简单程序能够在Keil中成功编译、及模拟仿真与调试;
(3)完成Keil的调试,记录实验过程;
(4)下载代码到单片机实验板上,测试实际运行结果,并与前两种仿真结果进行对比;
(5)撰写实验报告。
五、发挥部分
(1)请思考如何开展8051单片机的系统仿真调试功能;
(2)了解其它C51的开发环境与开发工具,并比较各自的异同;
实验二信号灯的控制
一.实验目的
1.进一步熟悉软件的操作和使用方法;
2.了解有关汇编指令的应用;
二.实验设备
AT89c51基本实验单元、计算机设备系统、发光二极管显示单元。
三.实验原理
(一)实验说明
1.了解以89c51为基础的单片机实验系统的基本组成及功能。
2.通过最小系统实例了解单片机的基本工作过程。
点亮8个LED
延时
熄灭8个LED
结束
开始
读P0.0的脚
P0.0接地
8个LED交叉亮灭
程序2流程图
N
Y
设循环次数
设循环初值
显示模式字送P1
显示模式字左移1位
次数-1=0?
程序3流程图
程序1流程图
(三)程序流程图
四.实验步骤:
1.输入程序1并检查无误,对程序进行汇编、调试,然后烧写程序到89c51;
2.按照实验连线要求,运行程序观察二极管的是否是不停的亮灭;
3.输入程序2并进行汇编、调试和烧写;
4.将P0.0接地,运行程序2观察二极管的亮灭情况,将P0.0悬空,运行程序2观察二极管的亮灭情况是否和P0.0接地时相同;
5.输入程序3并进行汇编、调试和烧写;
6.运行程序3,观察8个二极管的亮灭情况是否为顺序点亮。
思考题:
1.如何编写程序改变延时的时间?
实验三、数码管动态显示
1、熟悉有关汇编指令的应用(查表)。
2、熟悉数码管显示的原理。
二、实验设备
8031基本实验单元、计算机设备系统、数码显示单元
1、用89C51控制8个LED数码管以一定的速度将一个数字8向左移动7次后又向右移动7次,并循环不止。
2、数码管动态显示12345678。
(二)流程图
初始化参数
查表输出段码
输出位码
循环结束束?
位码移位
四实验步骤
1.输入程序并检查无误,对程序进行汇编、调试,然后下载到单片机实验板中;
2.运行程序,看数码管是不是将字符按要求循环的移动。
五思考题
修改程序,使这组字符交替移动5分钟后停止移动并显示?
实验四数字钟实验
1、熟悉MCS-51定时器,串行口和中断初始化编程方法。
2、了解定时器的应用,时钟程序的设计与调试技巧。
二、实验容
1、编写程序,从本实验板上显示0-100S的计数,用定时器产生1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
2、编写程序,从本实验板上显示时间。
四、实验步骤
连续运行程序,数码管上实时显示时间值。
五、思考题
1.电子钟走时精度和程序中哪些常数有关?
2.修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。
3.设计一个倒计时时钟,如何来修改程序?
实验五、D/A转换实验
1、掌握TLC5615的编程方法。
2、掌握D/A转换程序的编程方法和调试方法。
二、实验说明
1、TLC5615的工作特点
·
单5V电源工作;
3线串行接口;
高阻抗基准输入端;
DAC输出最大电压为2倍基准输入电压;
上电时部自动复位;
TLC5615引脚图
微功耗,最大功耗为1.75mW;
转换速率快,更新率为1.21MHz;
2、引脚说明
DIN,串行二进制数输入端;
SCLK,串行时钟输入端;
-CS,芯片选择,低有效;
DOUT,用于级联的串行数据输出;
AGND,模拟地;
REFIN,基准电压输入端;
OUT,DAC模拟电压输出端;
VDD,正电源电压端;
3、工作时序图
当CS为低电平时,在每一个SCLK时钟的上升沿通过DIN将一位数据输入(注意,二进制最高有效位应最先输入)。
有效数据输入完毕后,SCLK的上升沿将1O位有效数据锁存于1O位DAC寄存器,供DAC电路进行转换。
当片选CS为高电平时,串行输入数据无效,不能被移入16位移位寄存器。
1、编制程序用TLC5613并实现三角波、方波、梯形波程序。
2、观察示波器测量输出波形的周期和幅度。
四、流程图
等待
转换
启动D/A转换
转换结束输出
1、计算输出方波的周期,并说明如何改变输出方波的周期。
实验六、A/D转换实验
1、了解TLC1543的工作原理;
2、了解A/D转换的工作原理及具体应用;
3、掌握单片机与TLC154