单片机实验指导书电子.docx
- 文档编号:10817342
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:36
- 大小:1.23MB
单片机实验指导书电子.docx
《单片机实验指导书电子.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书电子.docx(36页珍藏版)》请在冰点文库上搜索。
单片机实验指导书电子
伟福LAB6000系列
《单片机应用实验》
实验指导书
黎芳\杨红编
广州大学
2011年9月
实验一ProteusISIS快速入门实验3
实验二KeilC51与Proteus的联调15
最小系统板原理图
(1)24
最小系统板原理图
(2)25
最小系统板原理图(3)26
实验三最小系统板的设计(12学时)27
实验四实时电子时钟实验(6学时)28
实验五串行通信实验(6学时)29
实验六直流电源的设计(12学时)30
实验七实时时钟的硬件设计(12学时)31
实验一ProteusISIS快速入门实验
一、简介
Proteus软件是一款强大的单片机仿真软件,对于单片机学习和开发帮助极大。
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和数字集成电路,包括单片机。
在单片机课程中我们主要利用它实现下列功能:
1、绘制硬件原理图,并设置元件参数。
2、仿真单片机及其程序以及外部接口电路,验证设计的可行性与合理性,为实际的硬件实验做好准备。
3、如有必要可以利用它来设计电路板。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,可以实现从构想到实际项目完成全部功能。
二、界面介绍
双击桌面上的ISIS7Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus7Professional”→“ISIS7Professional”,出现如图1-1所示屏幕,表明进入ProteusISIS集成环境。
图1-1ProteusISIS集成环境
进入之后的界面类似如图1-2所示。
图1-2ISIS主窗口
三、项目的设计过程
1、建立新项目
启动软件之后,首先,新建一个项目:
点击菜单:
File→NewDesign,如图1-3所示,即可出现如图1-4所示的对话框,以选择设计模板。
一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择,出现一个空白的设计空间。
图1-3新设计图1-4选模板
这时设计名称为UNTITLED(未命名),你可以点击菜单file→savedesign来给设计命名。
也可以在设计的过程中任何时候命名。
2、调入元件
在新设计窗口中,点击对象选择器上方的按钮P(如图1-5所示),即可进入元件拾取对话框,如图1-6所示。
图1-5调入元件
图1-6查找元件
在图1-6所示的对话框左上角,有一个Keywords输入框,可以在此输入要用的元件名称(或名称的一部分),右边出现符合输入名称的元件列表。
我们要用的单片机是AT89C51,输入AT89C,就出现一些元件,选中AT89C51,双击,就可以将它调入设计窗口的元件选择器。
在Keywords中重新输入要用到的元件,比如LED,双击需要用的具体元件,比如LED-YELLOW,调入。
继续输入,调入,直到够用。
点击OK,关闭对话框。
以后如果需要其他元件,还可以再次调入。
元件调入之后的情形类似图1-2中的对象选择列表所示。
我们这次要用到的元件列表如下:
AST89C51单片机
LED-YELLOW发光二极管-黄色
RX88电阻排200欧姆
BUTTON按钮
以上元件就够用了,其他多余的只是供选用。
比如发光二极管可以选用其他颜色,按钮也可以使用SWITCH代替或者使用DIP-SW8代替,电阻排也可以使用单个电阻RES来代替。
3、设计原理图
3-1放置元件
在对象选择器中的元件列表中,单击所用元件,再在设计窗口单击,出现所用元件的轮廓,并随鼠标移动,找到合适位置,单击,元件被放到当前位置。
至此,一个元件放置好了。
继续放置要用的其他元件。
3-2移动元件
如果要移动元件的位置,可以先右击元件,元件颜色变红,表示被选中,然后拖动到需要的位置放下即可。
放下后仍然是红色,还可以继续拖动,直到位置合适,在空白处单击鼠标左键,取消选中。
3-3移动多个元件
如果几个元件要一起移动,可以先把它们都选中,然后移动。
选中多个元件的方法是,在空白处开始,点击左键并拖动,出现一个矩形框,让矩形框包含需要选中的元件再放开,就可以了(参看图1-7)。
如果选择的不合适,可以在空白处单击,取消选中,然后重新选择。
图1-7选中多个元件
移动元件的目的主要是为了便于连线,当然也要考虑美观。
3-4连线
就是把元件的引脚按照需要用导线连接起来。
方法是,在开始连线的元件引脚处点击左键(光标接近引脚端点附近会出现红色小方框,这时就可以了),移动光标到另一个元件引脚的端点,单击即可。
移动过程中会有一根线跟随光标延长,直到单击才停住(图1-8)。
(a画线开始)(b划线中)(c画线完毕)
图1-8画线过程
在第一根线画完后,第二根线可以自动复制前一根线,在一个新的起点双击即可。
如图1-9所示。
a新的起点双击b很快画完
图1-9自动复制前一根线
注意:
如果第二根线形状与第一根不同,那可不能自动复制,否则会很麻烦。
3-5修改元件参数
电阻电容等元件的参数可以根据需要修改。
比如限流电阻的阻值应该在200到500欧姆左右,上拉电阻应该在几千欧姆。
以修改限流电阻排为例,先单击或右击该元件以选中,然后再单击,出现对话框如图图1-10所示。
在ComponentValue:
后面的输入框中输入阻值200(单位欧姆),然后点击OK按钮确认并关闭对话框,阻值设置完毕。
图1-10修改电阻值
3-6添加电源和地
在左边工具栏点击终端图标
,即可出现可用的终端,图1-11-a所示。
在对象选择器中的对象列表中,单击POWER,图1-11-b所示,在预览窗口出现电源符号,在需要放置电源的地方单击,即可放置电源符号,如图1-11-c所示。
放置之后,就可以连线了。
放置接地符号(地线)的方法与放置电源类似,在对象选择列表中单击GROUND,然后在需要接地符号的地方单击,就可以了。
注意:
放置电源和地之后,如果又需要放置元件,应该先点击左边工具栏元件
图标,就会在对象列表中出现我们从元件库中调出来的元件。
图1-11-a选择端口图1-11-b选择电源符号图1-11-c放置电源符号
图1-11添加电源和地
按照图1-2的原理图,我们还需要放置按键,放置接地符号,连线,最终完成的原理图如前面的图1-2所示。
4、添加程序
单片机应用系统的原理图设计完成之后,还要设计和添加程序,否则无法仿真运行。
实际的单片机也是这样。
4-1编辑源程序
按照51系列单片机的汇编语言语法要求,按照控制要求,编写源程序。
可以使用任何一种纯文本编辑器来编辑源程序。
比如记事本、写字板等都可以。
还可以使用超级编辑器ultraedit-32,功能很强。
编辑完成的源程序是纯文本文件,其扩展名必须是.ASM,以便编译软件识别。
图1-12所示。
图2-12打开的源程序
图1-12-a记事本图1-12-bproteus自带编辑器
图2-12编辑源程序
4-2添加源程序
在Poteus的单片机仿真项目中添加源程序。
可按以下步骤进行:
点击菜单Surce→Add/RemoveSourceFiles,如图1-13所示。
图1-13添加源程序1
弹出对话框,如图1-14所示。
图1-14添加源程序2
在弹出的对话框中操作,在CodeGenerationTool的下拉菜单中选择代码生成工具ASEM51,然后点击New按钮,弹出选择文件对话框,如图1-15所示。
图1-15添加源程序3
在弹出的对话框中操作,找到所需要的文件,比如这里选择以前已经编辑好的文件P1P2.ASM,然后点击按钮【打开】就可以了。
也可以在文件名框输入文件名,如果文件不存在,点击打开时会提示新建此文件,便于以后再编辑程序。
当然也可以改变查找的路径,在其他地方找到我们要用的文件。
添加程序文件之后返回添加程序对话框,已经有了我们添加的程序,如图1-16所示。
图1-16添加源程序4
可以看到,在SourceCodeFilename的下拉框中已经显示出刚刚添加的源程序名。
点击按钮OK关闭这个对话框。
这时候如果再点击菜单Source,如图1-17所示。
图1-17添加源程序5
从图中可以看到,下拉菜单中最下面多出一行,显示的是我们刚刚添加的源程序。
如果点击这个文件名,就会利用软件自带的编辑器打开这个文件,如图1-12-b所示。
如果更换了编辑器,就会按照更改,利用指定的编辑器打开源程序文件。
5、编译源程序
5-1利用program软件自带的编译器进行编译
编辑好的源程序添加进来之后就可以编译了。
编译的方法很简单,在图1-17中,点击BuildAll就对指定的源程序进行编译。
如果编译没有发现语法错误,就会出现如下提示,如图1-18所示。
图1-18编译完的提示窗口
如果有语法错误,也会有提示,指出错误代码和所在的行。
这时候就需要我们重新打开源程序,对错误进行修改。
修改之后再重新编译,直到通过为止。
这时候单片机里自动被装入了编译之后所产生的机器码程序。
下一步就是仿真执行了。
5-2利用其他软件进行编译
编译源程序也可以利用其他软件进行。
只要编译产生的机器码文件是.HEX格式就可以。
比如伟福,它就可以产生.HEX格式的文件和.BIN格式的文件。
其实,伟福的许多特性适合编辑和编译源程序,它的编辑和编译是在同一个界面下完成,有行列位置指示,行首自动对齐等特性。
利用其他软件编译产生的十六进制文件,可以直接加入到Proteus项目中的单片机里。
方法如下:
在原理图中点击单片机以选中,再次点击打开元件编辑对话框,如图1-19所示。
图1-19编辑单片机—添加机器码程序
在图中看到:
在ProgramFile:
后边的方框里显示P1P2.HEX,说明机器码已经装入。
如果没有装入,这里将是空白。
这时可以点击其右边的打开文件图标
,查找并选中机器码文件即可。
这样,就可以在仿真时执行程序。
这样装入的机器码程序有个缺点,只能执行,不好调试。
因为没有源代码,也无法打开源代码窗口,无法单步执行。
解决的方法是,在其他编辑编译软件通过之后,再将源程序添加到项目,如4-2节所述。
然后再用本节开始5-1所述方法添加源程序并编译一次,这时不会出现错误。
一般也不用再给单片机添加机器码程序,除非你途中改换了源程序。
在图1-19中还有一个时钟频率(ClockFrequency)可以改变。
一般情况下,单片机的时钟频率由此设定,而不是来自时钟电路,这就是为什么在仿真时可以省略时钟电路和复位电路的原因。
6、仿真执行
Program软件可以仿真模拟电路和数字电路,还可以仿真若干型号的单片机。
我们使用的目的主要就是仿真单片机和外围的接口电路。
这里简要介绍MCS-51单片机和部分接口电路的仿真过程,其他方面的内容请自行查找资料。
6-1一般仿真
在原理图编辑窗口下面有一排按钮
,利用它可以控制仿真的过程。
点击按钮
开始仿真,开始以后按钮的小三角变成绿色,点击按钮
单步仿真,点击按钮
暂停和继续仿真切换,点击按钮
停止仿真。
以简单项目P1P2为例,说明仿真效果。
点击开始仿真按钮,电路如图1-20所示。
图1-20运行仿真
观察发现,单片机P1,P2,P3口引脚的每一根线的旁边都有一个红色的小方框,表明当前引脚是高电平,如果小方框是蓝色,表明引脚当前是低电平。
如果小方框是灰色,说明此引脚是悬空,P1口的8个引脚就是悬空。
与电源VCC相连的引脚都是高电平。
与地线GND相连的引脚都是低电平。
点击图中的一个按键,对应的发光二极管会亮。
放开按键发光二极管就灭。
点住一个按键不放,观察对应的P1口导线旁边的小方框,变成蓝色,和其对应的P2口的输出线旁边的小方框也变成蓝色,对应的发光二极管亮。
这是程序的作用,我们的程序就是将P1口的输入传送到P2口进行输出。
6-2调试选项
点击暂停按钮,出现暂停画面,如图1-21所示。
由
图1-21暂停
由于我们是添加过源程序的,所以会出现源代码窗口。
源代码窗口内容从左到右是:
地址指令注释。
这幅图里没有注释内容。
如果需要,可以设置使其显示行号和机器码。
方法是在窗口内点击鼠标右键,在出现的选项中点击所需要的项目就可以了。
见图1-22。
图1-22源代码窗口右键菜单
在源代码窗口右上角有一串按钮,它们的作用如图1-23所示。
利用这些按钮可以控制程序的运行,随时可以查看程序执行的结果。
在这里点击全速以后,如果遇到断点会自动暂停执行。
如果没有或者没遇到断点,就一直运行下去。
图1-23源代码窗口的按钮
执行到光标处是,先在要暂停的指令上点一下,这一行就会变成蓝色,然后点击执行到光标处的按钮,就会从原来的指令开始执行,直到光标所在的位置暂停。
在暂停状态,还可以选择显示特殊功能寄存器窗口、内存窗口等。
比如要显示8051CPU的寄存器,可以这样操作:
点击菜单Debug→8051CPUregisters–U1,就会出现如图1-24所示窗口。
图1-25的窗口是片内数据存储器。
图1-24寄存器窗口图1-25片内数据存储器
可以在这些个窗口里观察寄存器的内容,分析程序运行的结果。
在菜单Debug的下拉菜单里,还有许多功能,自己试试就可以了。
还有一项功能值得一提,就是在暂停状态,单击一个元件,可以显示这个元件当时的状态,如逻辑电平和电流电压的具体值等。
还有一些功能,在比较复杂的项目中会用到,比如信号源,虚拟仪器,仿真图表等。
参见图1-26.、图1-27、图1-28。
图1-26虚拟仪器图1-27信号源图1-28仿真图表
实验二KeilC51与Proteus的联调
KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。
2.1KeilC51软件的使用方法
进入KeilC51后,屏幕如下图所示。
几秒钟后出现编辑界面。
图2-1启动KeilC51时的屏幕
图2-2 进入KeilC51后的编辑界面
简单程序的调试
1)建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中NewProject选项
图2-3建立新工程
2)选择要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51如下图所示,然后点击保存.
图2-4选择保存路径
3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,Keilc51几乎支持所有的51核的单片机,这里以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定:
图2-5选择单片机型号
4)完成上一步骤后,屏幕如下图所示:
图2-6项目主界面
到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
图2-7新建文件
新建文件后屏幕如下图所示:
图2-8新建文件后屏幕
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮。
图2-9保存C文档
6)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,弹出如下菜单。
图2-10把C文档加入到项目
然后单击“AddFiletoGroup‘SourceGroup1’”屏幕如下图所示:
图2-11选择C文档
选中Test.c,然后单击“Add ”屏幕好下图所示:
图2-12加入C代码
注意到“SourceGroup1”文件夹中多了一个子项“Text1.c”了吗?
子项的多少与所增加的源程序的多少相同。
7)现在,输入如下的C语言源程序:
#include
#include
voidmain(void) //主函数
{
SCON=0x52;
TMOD=0x20;//12Mhz主频,波特率为2400,倍频后为4800
PCON=0x80;
TH1=0xf3;
TL1=0xf3;
TR1=1; //此行及以上3行为PRINTF函数所必须
printf(“HelloIamKEIL.\n”); //打印程序执行的信息
printf(“Iwillbeyourfriend.\n”);
while
(1);
}
在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了,即Keilc51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。
程序输入完毕后,如下图所示:
图2-13编辑代码
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),屏幕如下所示:
图2-14设置断点
9)调试程序:
在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“SerialWindows#1”选项,就可以看到程序运行后的结果,其结果如下图所示
图2-15调试程序
至此,我们在KeilC51上做了一个完整工程的全过程。
但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?
10)单击“Project”菜单,再在下拉菜单中单击“
”在下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码,供下载器软件使用。
把程序下载到AT89S51单片机中。
图2-16设置生成Hex文件
2.2绘制原理图
利用实验一所学知识绘制如图2-17所示原理图,本例中所用到的组件有:
80C51、LED、CAP、RES、CAP-POL、“POWER”、“GND”、“VirtualTerminal”。
:
图2-17单片机原理图
2.3KeilC与Proteus的连接调试
1、确保计算机系统中已安装了TCP/IP协议
2、运行proteus安装目录下的vdmagdi.exe文件,装入Keil驱动。
3、KeilC的设置:
Project-->optionsforproject-->debugtab选中“Use”,在其旁边的对话框里下拉菜单里选中“ProteusVSMSimulator”,并勾选“GoTillMain”选项,即完成设置。
4、重新对2.1中建立的KeilC项目进行编译,并生成一个HEX文件。
5、Proteus的设置:
双击电路图中的89C51,在其弹出的属性窗口中“Programfile:
”选项中选择刚才编译好的HEX文件;在“Clock Frequency:
”中输入晶振频率为“12MHz”,如图2-18,关闭属性窗口;在proteus里DEBUG下拉菜单中选择“useremotedebugmonitor”选项。
图2-1889C51属性修改
6、在Keil C环境中按调试按钮,即可发现Keil与Proteus都一起运行起来了。
如图2-19.
图2-19Keil C与Proteus 联调
最小系统板原理图
(1)
最小系统板原理图
(2)
最小系统板原理图(3)
实验三最小系统板的设计
一、实验目的
实验目的是使学生通过设计单片机最小系统,掌握单片机系统的总体设计方
法,原理图的绘制和PCB板的制作,汇编程序或C51程序的编写,从而提高学生的设计能力和动手能力。
单片机最小系统的基本要求:
(1)能处理键盘输入;
(2)LED或LCD显示;(3)具有扩展的存储功能;(4)具有程序下载功能;(5)编写测试程序。
扩展要求:
(1)具有AD转换功能;
(2)具有DA转换功能;(3)具有并行IO口。
二、实验要求
1、根据给出的最小系统板原理图在Proteus环境中绘制出一张完整的原理图。
2、编制测试程序,在Proteus环境下进行仿真实验,要求程序能证实最小系统板所有部件可靠工作。
测试程序包括1)LED显示,2)流水灯,3)四个按键的检测,4)蜂鸣器可发出警报。
测试程序可由多个小程序模块实现。
3、制作并焊接最小系统板,并下载程序,实现系统板硬件的可靠工作。
4、实验报告要写明实验目的、实验要求、实验原理和实验结果。
并附加调试程序和原理图。
5、交制作的作品。
实验四实时电子时钟实验
一、实验目的及要求
实验目的是在最小系统板的基础上设计制作一个显示“时分秒”的数字钟。
基本要求:
(1)按“时分秒”格式显示时间;
(2)具有时分秒调整功能(包括每一次按键加一时/分/秒和每一次按键减一时/分/秒);(3)显示的时间一天(24小时)误差不能大于三十秒。
扩展要求:
(1)有秒表计时功能(能计时60秒,精确到0.01秒);
(2)在调整时,调整的部分与没有调整的部分以不同的方式显示。
二、实验报告要求
1、实验报告要写明实验目的、实验要求、实验原理和实验结果。
2、附调试程序和原理图。
3、同时要交制作的作品。
实验五串行通信实验
一、实验目的及要求
实验目的是在最小系统板的基础上实现两块最小系统板的串行通信。
基本要求:
(1)能实现最小系统板的全双工通信;
(2)通信数据具有奇偶校验(3)通信数据应该有应答。
扩展要求:
能实现多机通信。
二、实验报告要求
1、实验报告要写明实验目的、实验要求、实验原理和实验结果。
2、要附用调试程序和原理图。
3、同时要交制作的作品。
实验六直流电源的设计
一、实验目的及要求
设计并制作数控直流电流源。
输入交流200~240V,50Hz;输出直流电压≤10;其原理示意图如下所示。
基本要求:
(1)输出电流范围:
200mA~1000mA;
(2)可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;(3)具有“+”、“-”步进调整功能,步进≤10mA;(4)改变负载电阻,输出电压在10V以内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书 电子