单片机实验步骤汇编及C.docx

上传人:b****4 文档编号:27518641 上传时间:2023-07-02 格式:DOCX 页数:28 大小:944.96KB
下载 相关 举报
单片机实验步骤汇编及C.docx_第1页
第1页 / 共28页
单片机实验步骤汇编及C.docx_第2页
第2页 / 共28页
单片机实验步骤汇编及C.docx_第3页
第3页 / 共28页
单片机实验步骤汇编及C.docx_第4页
第4页 / 共28页
单片机实验步骤汇编及C.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

单片机实验步骤汇编及C.docx

《单片机实验步骤汇编及C.docx》由会员分享,可在线阅读,更多相关《单片机实验步骤汇编及C.docx(28页珍藏版)》请在冰豆网上搜索。

单片机实验步骤汇编及C.docx

单片机实验步骤汇编及C

第一部分ProteusISIS集成环境

一、启动

双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus6Professional”→“ISIS6Professional”,便可进入ProteusISIS集成环境。

二、工作界面

ProteusISIS的工作界面是一种标准的Windows界面。

包括:

标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口(元件列表窗口)、图形编辑窗口。

如图1所示。

 

图1-1工作界面

1.图形编辑窗口

该窗口是用来绘制电路原理图的。

这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。

正确的操作是:

中键或F6、F7缩放原理图;左键放置元件;右键选择元件;双击右键删除元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键。

2.预览窗口

预览窗口可显示整张原理图的缩略图。

另外当你在元件列表中选中一个元件时,预览窗口会显示该元件的预览图。

如图2所示。

图2图形编辑窗口与预览窗口

3.绘图工具栏

绘图工具栏分为主要模型、配件及2D图形三部分。

(1)主要模型(MainModes)如图3所示

主要模型有以下工具:

*选择元件(components)(默认选择的)

*放置连接点(Junctiondot)

*标签(Wirelable)(用总线时用到)

*文本(Textscript)

*用于绘制总线(Bus)

*用于放置子电路(Sub-cricuit)

*用于即时编辑元件(Instanteditmode)

(左击任意元器件即可编辑该元器件的属性)

(2)配件(Gadgets)如图4所示

*终端接口(terminals),有VCC、地、输出、输入等接口

*器件引脚

*仿真图表(graph)

*录音机

*信号发生器(generators)

*电压探针

*电流探针

*虚拟仪表,有示波器等

4.对象选择器窗口(元件列表窗口)

用于挑选元件(components)、终端接口(terminals)、信号发生器(generators)等。

在某些状态下(如当选择“components”),对象选择器有一个“P”按钮(即Pick切换按钮),单击该按钮会弹出库元件选择对话框。

通过该对话框可选择元件并置入元件列表窗口,以后在绘图时要用该元件时,只需在元件列表中选择即可。

例:

要将AT89C51放置到元件列表窗口。

(1)单击“P”按钮,出现元件选择对话框。

 

(2)在对话框的KEYWORDS文本框中输入89C51,选择AT89C51,单击OK,关闭对话框,这时元件列表中列出AT89C51。

如图8所示。

5.对象方位控制按钮

许多类型的对象可以调整其方向,可旋转0,90,270,360,也可做x轴或y轴镜象。

如图9所示。

旋转:

旋转角度只能是90的整数倍。

翻转:

完成水平翻转和垂直翻转。

可对原理图或预览窗口中的对象进行旋转或翻转。

方法是先选择元件,再左击相应的旋转图标。

6.仿真进程控制按钮如图10所示。

*运行

*单步运行

*暂停

*停止

三、文件操作

1.ISIS的文件类型

主要使用的是扩展名为.DSN的文件(称为设计文件,DesignFiles),该文件包含一个电路的所有信息。

2.常用文件命令(File主菜单)

(1)开始一个新的设计(NewDesign)

命令将清除所有原有的设计数据,选择图幅(A0-A4)后开始新的设计,新设计的缺省名字为UNTITLED.DSN。

若设计文件要改变当前页的大小,可用System菜单的SetSheetSizes命令即可。

(2)保存设计(SaveDesign或SaveDesignAs)

(3)装入设计(LoadingDesign)

(4)退出ISIS(Exit)

四、基本的编辑操作

1.对象放置的步骤:

(1)选择对象

∙对一般对象(如:

线、文本等):

在绘图工具栏中选择相应的图标即可;

∙对元件:

先将元件从库中调到元件列表窗口,再在元件列表窗口中选择要的元件。

(2)若对象是有方向的,可以通过点击旋转和镜象图标来调整对象的朝向。

(3)最后将鼠标指向编辑窗口并点击鼠标左键放置对象。

2.选中对象

∙要选中一个对象,用鼠标指向对象并点击右键即可选中该对象。

∙要选中一组对象,可以通过依次右击每个对象的方式,也可通过右键拖出一个选择框的方式,但只有完全位于选择框内的对象才可以被选中。

∙选中对象时,该对象上的所有连线同时被选中,并以高亮显示。

对象被选中后就可以对对象进行编辑、删除、拖动等操作。

∙在空白处点击鼠标右键可以取消所有对象的选择。

3.编辑对象

许多对象具有图形或文本属性,这些属性可以通过一个对话框进行编辑。

编辑单个对象的步骤:

先选中对象,再用鼠标左键点击对象。

4.删除对象

∙要删除一个对象,用鼠标指向选中的对象并点击右键可以删除该对象,同时该对象的所有连线也一起被删除。

∙要删除一组对象,选中需要删除的对象,按键盘的Delete键。

5.拖动对象

用鼠标指向选中的对象并用左键拖曳可以拖动该对象。

该方式不仅对整个对象有效,而且对对象中单独的labels也有效。

6.调整对象大小

图表、线、框和圆及子电路是可以调整大小的。

当你选中这些对象时,对象周围会出现黑色小方块叫做“手柄”,通过拖动这些“手柄”即可调整对象的大小。

7.电路图的缩放

电路图可进行缩放,缩放的方法主要有两种:

一种是利用F6键、F7键和F8键,按F6键可以放大电路图(连续按会不断放大直到最大),按F7键可以缩小电路图(类似的连续按会不断缩小直到最小),按F8键可以把一整张图缩放到完全显出来。

另一种缩放电路图的方法是滚动鼠标中间的滑轮。

8.拷贝所选中的对象

拷贝一整块电路的步骤:

先选中需要的对象,然后利用复制和粘贴工具即可。

当一组元件被拷贝后,他们的标注自动重置为随机态,用来为下一步的自动标注做准备,防止出现重复的元件标注。

9.移动所选中的对象

移动一整块电路的步骤:

先选中需要的对象,然后利用剪切和粘贴工具即可。

10.拖动对象标签

许多类型的对象有一个或多个属性标签附着。

例如,每个元件有一个“reference”标签和一个“value”标签。

可以很容易地移动这些标签使你的电路图看起来更美观。

移动标签的步骤为:

先选中对象,再用鼠标指向标签并用左键拖曳该标签。

11.画线

没有画线的图标按钮。

在两个对象间连线:

(1)左击第一个对象连接点。

(2)如果你想让ISIS自动定出走线路径,只需左击另一个连接点。

另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。

第二部分汇编程序在Proteus中的仿真

 

用户可以直接在ISIS环境中直接编辑、编译源代码,并且当源程序修改后很快就能看到对仿真结果的影响。

步骤如下:

进入ProteusISIS

1.绘制原理图

2.创建源文件

1)选择Source主菜单中的Add/RemoveSourcefiles命令,出现如图12所示对话框。

 

2)ISIS软件有自带编译器,有ASM的、PIC的、AVR的汇编器等,所以先选择编译器。

单击CodeGenerationTool下方的下三角按钮,将出现系统已定义的编译器,选择其中的ASEM51。

如图13所示。

图13编译器的选择

3)单击对话框中的NEW按钮,会弹出一个对话框,要求输入源文件名(.ASM),并选择保存路径,输入完毕后单击“打开”按钮,则新建好了一个ASM源文件。

3.编辑源文件

打开Source主菜单,选择上一步中新建的ASM源文件,如图15所示,即可打开源文件窗口,在源文件窗口中输入程序。

4.编译连接

选择Source主菜单中的BuildAll命令,对源文件进行编译连接,生成目标代码。

同时弹出BUILDLOG日志输出窗口,该窗口会显示程序是否有错。

若有错,需修改源程序后重新编译,直到没错为止。

如图16所示。

 

5.源代码调试

(1)添加目标代码文件

编辑原理图中8051单片机的属性,会打开一对话框,将前面编译连接后生成的目标代码文件(.HEX文件)加载到ProgramFile项中。

如图17所示。

 

(2)仿真调试

选择Debug主菜单项中的Start/RestartDebugging命令或按CTRL+F12进入调试模式。

这时系统会自动打开一个源代码窗口,你的汇编源程序及执行情况就显示在该窗口中。

点击仿真控制按钮中的运行按钮

,即可开始全速运行程序。

若要停止运行,点击仿真控制按钮中的停止按钮

即可。

6.调试工具

程序开始仿真调试后,ISIS软件提供了一些很有用的调试工具,下面简单加以介绍。

(1)Debug主菜单中的调试工具(如图18所示)

Execute(F12):

全速运行;

StepOver(F10):

单步运行;

StepInto(F11):

跟踪运行,即可跳入子程序或函数执行;

SimulationLog:

显示和模拟调试有关的信息;

8051CPURegisters:

打开寄存器窗口,可观察8051各寄存器的值的变化;

8051CPUSFRMemory:

打开特殊功能寄存器(SFR)窗口;

8051CPUInternal(IDATA)Memory:

打开数据寄存器窗口,可观察8051内部RAM的值的变化;

WatchWindow:

可将常用的寄存器及程序中需要观察的寄存器添加到观察窗口。

可发现无论在单步调试状态还是在全速调试状态,WatchWindow的内容都会随着寄存器的变化而变化,这点是很有用的。

(2)断点的使用

断点对发现程序中存在的问题是非常有用的。

通常可在存在问题的子程序的起始点设置断点,然后开始运行程序。

当程序运行到断点处,会暂停,此后可对程序进行单步调试,观测各寄存器及存储单元的值。

当选择了Debug主菜单项中的Start/RestartDebugging命令或是进人单步调试状态,系统都会自动打开一个源代码窗口,在这个窗口中,我们可以设置断点。

方法有两种,一种是:

鼠标先点击要设置的断点处(某程序语句),此时该语句变为黑色,再点击鼠标右键,会出现一个下拉菜单,选择其中的Toggle(Set/Clear)Breakpoint菜单项,即在相应的语句处设置了断点,第二种:

鼠标先点击要设置的断点处,再按F9即可。

若要清除断点可用相同的方法,也可用Ctrl+F9清除所有断点。

第三部分Keilc51与Proteus的联调

Keil是一个51单片机开发软件平台。

Keil的μVision2中包含了一个高效的源程序编辑器、一个项目管理器和一个源程序调试器。

μVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路),也可利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可使用μVision2的内嵌模块KeilMonitor-51在不需要额外硬件仿真器的条件下,搭接单片机硬件系统对项目进行实时仿真。

由于proteus不支持C51,可以在keil中调用proteus进行单片机的仿真。

步骤如下:

1.启动proteus,画出相应电路图,并在Debug主菜单中选中UseRemoteDebugMonitor选项。

2.启动keilμVision2,创建项目

具体步骤如下:

(1)新建一个源文件

新建一个源文件可通过单击工具栏中的

按钮或选择File主菜单项中的New菜单项即可打开一个新的文本窗口,在该窗口中可进行C源程序或汇编源程序等的编辑,编辑完毕后保存即可。

注意:

保存源文件时必须加上扩展名,如C源程序要存成.c,汇编源程序要存成.a*等。

(2)创建一个项目文件

源文件编辑好后,需要进行编译、连接,而keilC51软件不能对单一的源程序进行编译、连接,只能对项目文件进行编译、连接等操作。

keilμVision2集成环境提供了强大的项目管理功能,通过项目文件可以方便地进行应用程序的开发。

一个项目中可以包含各种文件,如源程序文件、头文件和说明文件等。

因此当源文件编辑好后,要为源文件建立项目文件,方法如下:

a.选择Project主菜单项中的NewProjec命令,此时会弹出一个对话框,要求输入项目文件名(不需要扩展名)并选择保存路径,输入完毕后单击“保存”按钮,就新建好了一个project文件(项目文件),如图20所示。

图20在keil中新建一个项目

b.项目文件名保存完毕后,系统会弹出一个对话框,要求对CPU进行设定,这里可选择Atmel公司的At89C51,如图21所示。

图21选择CPU

(3)将源程序文件添加到项目文件中

创建一个新项目后,需将源程序文件添加到项目文件中。

方法为:

将光标指向项目窗口中的SourceGroup1,并点击鼠标右键,会弹出一快捷菜单,选择其中的AddFilestoGroup‘SourceGroup1’选项,将刚才新建的源文件添加进去即可。

如图22所示。

图22项目窗口的快捷菜单

3.项目的设置

(1)选中项目工作区的Target1,再选择Project主菜单项中的OptionforTarget'Target1'命令,出现如图23所示的对话框,点中Output选项卡,勾上CreateHEXFi。

图23Option选项中的Output选项卡

(2)在上述对话框中选择DEBUG选项卡,在右上部的下拉菜选中ProteusVSMMonitor-51Driver,再进入seting进行设置。

如果是同一台机,IP设为127.0.0.1,若不是同一台机则填另一台的IP地址。

端口号一定为8000。

注意:

可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。

如图24所示。

图24Option选项中的DEBUG选项卡

4.项目的编译、连接

选择Project主菜单项中的Buildtarget菜单项,系统将按OptionforTarget对话框内的各种选项设置对当前项目中所有源程序进行编译、连接,若编译、连接有错,则改错,直到正确为止。

5.项目的调试运行

选择Debug主菜单项中的Start/StopDebugSession命令,即进入仿真调试状态,同时在proteusISIS中查看直观的结果。

在此状态下的项目窗口自动转换到Regs标签页,显示调试过程中单片机内部工作寄存器R0~R7、累加器A、堆栈指针SP、数据指针DPTR、程序计数器PC以及程序状态字PSW等的值。

如图25所示。

 

图25keil仿真调试状态窗口

在仿真调试状态下,选择Debug主菜单项中的Go命令,即可启动程序全速运行。

若要终止程序运行,先选择Debug主菜单项中的StopRunning命令,再选择Debug主菜单项中的Start/StopDebugSession命令。

6.调试工具

keilμVision2还提供了多种调试工具可供使用,下面详细介绍。

(1)Debug菜单(如图26所示)

Start/StopDebugSession(Ctrl+F5):

进入/停止仿真调试;

Go(F5):

全速运行;

Step(F11):

跟踪运行,能进入到被调函数或子程序执行;

StepOver(F10):

单步运行;

StepOutofcurrentFunction:

跳出当前函数;

RuntoCursorline:

运行到光标所在行;

StopRunning:

停止运行;

Inset/RemoveBreakpoint:

插入/删除断点。

可通过该菜单项在编辑窗口当前光标所在行上设置/去除一个断点(在该行双击也实现同样的功能);

Enable/DisableBreakpoint:

激活/禁止当前光标所指向的一个断点;

DisableAllBreakpoints:

禁止所有已经设置的断点;

KillAllBreakpoints:

去除所有已经设置的断点。

断点对发现程序中存在的问题是非常有用的。

通常可在存在问题的子程序的起始点设置断点,然后开始运行程序。

当程序运行到断点处,会暂停,此后可对程序进行单步调试,观测各变量及寄存器存储单元的值。

(2)模拟仿真调试窗口

keil在对程序进行调试时提供了多个模拟仿真窗口,主要包括主调试窗口、存储器窗口(MemoryWindows)、反汇编窗口(DissamblyWindows)、观测窗口(Watch&CallStackWindows)等。

进入调试模式后,单击View菜单中的相应选项,就可以方便地打开/关闭相应的调试窗口,View菜单如图27所示所示。

a.存储器窗口(MemoryWindows)

单击View菜单中的MemoryWindows选项就可以打开存储器窗口。

该窗口用来显示程序调试过程中单片机系统的各类存储器中的值,在Address文本框内键入存储器地址(“字母:

数字”),即可显示对应存储空间的内容。

其中:

字母表示要查看的存储器的类型,可以是C、D、I、X等,“C”表示程序存储空间(即ROM空间);“D”表示直接寻址的片内RAM空间;“I”表示间接寻址的片内RAM空间;“X”表示扩展的外部RAM空间。

数字表示要查看的地址值。

如:

键入D:

05H,可查看地址从05H开始的片内RAM单元中的内容;键

图27调试状态下的View菜单

 

入C:

0000H,可查看地址从0000H开始的ROM单元中的内容,即查看程序的二进制代码。

如图28所示。

存储器窗口的显示值可以是十进制、十六进制和字符型等多种形式。

若需改变显示的形式只需在存储器窗口单击鼠标右键,通过设置弹出的快捷菜单中相应的选项即可。

图28存储器窗口

b.观测窗口(Watch&CallStackWindows)

观测窗口也是调试程序时用到的一个重要窗口。

在Regs页面中仅可观察到工作寄存器和若干有限的寄存器,如:

A、SP、DPTR、PSW等(参见图25),若要观察其它SFR或某些变量的值时,就需要借助于观测窗口。

单击View菜单中的Watch&CallStackWindows选项就可以打开观测窗口。

观测窗口有四个标签页,分别是局部变量(Locals)、观测1(Watch#1)、观测2(Watch#2)及调用堆栈(CallStack)标签页。

Locals页可显示程序调试过程中当前局部变量的值。

在Locals页中单击鼠标右键可设置显示值按十进制或十六进制形式显示,如图29所示。

Watch页显示用户程序中已经设置了的观测点在调试中的当前值。

CallStack页显示程序执行过程中对子程序的调用情况。

图29观测窗口的局部变量Locals页

实验一P1口实验

一、实验题目

(1)P1口做输出口,接八只发光二极管,编程使发光管循环点亮;

(2)P1口做输入、输出口,P1.0~P1.3做输入口,接四个开关;P1.4~P1.7做输出口,接四只发光管。

编程读取开关的状态,将此状态在发光管上显示出来。

二、实验目的

1.学习P1口的使用方法;

2.学习延时子程序的编写和使用。

三、实验元件

AT89C51、LED-YELLOW、SW-SPDT等

注:

地用左侧绘图工具栏中Inter-sheetTerminal中的GROUND

实验二外中断实验

(含救护车的交通灯控制问题)

一、实验题目

以P1口作为输出口,控制六个发光二极管燃灭,模拟交通灯管理。

二、实验目的

1。

学习外部中断技术的基本使用方法;

2。

学习中断处理程序的编程方法。

三、实验说明

1.端口分配:

设东西和南北方向均有红、黄、绿三盏灯,用P1口的六位分别控制两方向的各三盏灯,如:

东西方向--P10绿灯,P11黄灯,P12红灯

南北方向--P13绿灯,P14黄灯,P15红灯

2.正常情况下的交通灯控制规则

(1)南北方向绿灯亮

东西方向红灯亮

保持6秒

(2)南北方向黄灯亮

东西方向红灯亮

保持3秒

(3)南北方向红灯亮

东西方向绿灯亮

保持6秒

(4)南北方向红灯亮

东西方向黄灯亮

保持3秒

(5)返回

(1)进行循环。

主程序的大体框架如下:

第1步:

输出

(1)状态/*movP1,#xxx……*/

延时6秒

第2步:

输出

(2)状态

延时3秒

第3步:

输出(3)状态

延时6秒

第4步:

输出(4)状态

延时3秒

第5步:

再执行第1步

3.增加有救护车通过的情况

在前面基础上,当有救护车通过时,两个方向均亮红灯,救护车通过后,恢复原来状态。

此时有救护车通过这一外部事件可作为外中断的中断源。

外部中断有两种触发方式:

(1)边沿触发

P32(INT0)接一单脉冲,以此作为中断申请,表示有救护车通过,且设通过时间为5秒,5秒过后返回原先状态。

(注意:

设置IT0或IT1)

中断子程序:

先保存两路口的原状态/*movxx,P1*/

后两路口红灯亮/*P1=……*/

延时5秒

再恢复两路口的原状态/*P1=xx*/

(2)电平触发

P32(INT0)接一手动开关,开关初始状态打在上面(高),路口处于正常状态。

当有救护车通过时,将开关拨到下面(低),则进入中断服务函数(使两个方向红灯亮,等开关再打在上面,则恢复P1口原状态。

voidint0_srv(void)interrupt0using2

{

先保存两路口的原状态

两路口红灯亮

while(!

INT0);/*等待开关拨上*/

再恢复两路口的原状态

}

四、实验电路

AT89C51,TRAFFICLIGHTS,SW-SPDT,

实验三定时计数器实验

一、实验题目

从8031的P3.4引脚输入一外部脉冲。

编程对该外部脉冲个数进行计数,并将计数值按二进制数在P1口驱动发光二极管显示出来,计到15秒再从0开始计。

二、实验目的

1.学习8031内部定时/计数器的使用及编程方法;

2.进一步掌握中断处理程序的编写方法。

三、实验说明

8031内部有两个定时/计数器T0与T1。

本实验中T1做定时器,产生15秒定时,T0做计数器,对从P3.4引脚引入的外部脉冲进行计数。

对定时器来说,最大的定时时间与定时器的工作方式相关,所以要根据定时时间来确定定时器的工作方式。

对计数器而言,8031在每个机器周期采样一次从外部输入的波形,如有跳变,则计数值自动加1,因此单片机至少需两个机器周期才能检测到一次跳变。

这就要求输入脉冲的频率不能超过机器周期的频率,在设置外部单脉冲时,要注意其频率。

四、实验元件

外部脉冲PULSE的频率为1Hz,幅度为5V,占空比50%

脉冲输出端接P3.4(T0),P1.0~P1.7分别接LED-GREEN。

 

实验四串行通信实验

 

一、实验题目

利用虚拟终端,实现上位机与下位机的通信。

上位机发出指定字符,下位机收到后返回原

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

当前位置:首页 > 初中教育 > 初中作文

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

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