单片机实验指导书.docx
《单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书.docx(18页珍藏版)》请在冰豆网上搜索。
单片机实验指导书
广东海洋大学
单
片
机
原
理
实
验
指
导
书
张瑛
一KEILC51的使用
编译软件KEILC51支持C语言以及汇编语言,同时支持C语言及汇编语言的混合编程。
操作步骤:
1.工程的建立:
打开软件,新建工程(点击Project菜单,选择Newproject),所有的工程保存在一个文件夹下。
在文件名中输入项目名称,保存后的扩展名为uv2,这是KEILUvision2项目文件扩展名,接着会弹出对话框,选择单片机型号。
选择框中有各种公司的简称,选择你所使用的单片机型号,并确定。
2.汇编源文件的建立:
点击newfile,会出现一个文本编辑窗口,在该窗口里面输入程序。
建立文件后保存。
文件是汇编语言编写则保存的文件后缀名为.asm。
3.点击Target1前面的+号,出现sourcegroup,sourcegroup中什么也没有。
此时表明仅仅建立了工程,这个工程下面什么文件都没有。
选中sourcegroup右键点选addfilesgroupsourcegroup1(增加文件到工程),定位刚才编辑的文件,把文件添加进入。
这时候会发现sourcegroup前面多了一个+,点击+,就可以看见编辑的文件。
双击文件可以进入文件的编辑框。
4.接下来要对目标进行一些设置。
鼠标右键单击Target1,在弹出的菜单中选择optionsfortarget“target1”,在弹出的optionsfortargettarget1对话框进行设置。
设置Target选项卡
●Xtal(MHZ):
设置单片机的工作频率。
●Useon—chipROKM:
表示使用片上的FLASHROM,AT89C51有4KB的可重编程FlashROM,该选项取决于单片机应用系统,如果单片机的EA接高电平,则选中这个选项,表示使用内部ROM,如果EA接低电平,表示使用外部ROM,则不选中该选项。
●Off-chipcodememory:
表示片外ROM的开始地址和大小。
●MemoryModel:
small表示变量存储在内部RAM里;Compact表示变量存储在外部RAM里,使用8位间接寻址;Large表示存储在外部RAM里,使用16位间接寻址。
设置OUTPUT选项卡
●SelectFolderforobjects:
单击该按钮可以选择编译后目标文件的存储目录,如果不设置,就存储在项目文件的目录里。
●NameofExecutable:
设置生成的目标文件的名字,缺省情况下和项目的名字一样。
●CreateExecutable:
如果要生成OMF及HEX文件,一般选中Debuginformation和BrowseInformation。
选中这两项,才有调试所需要的详细信息。
●CreateHEXfile:
要生成HEX文件,一定要选中该选项,如果编译之后没有生成HEX文件,就是因为这个选项没有被选中。
5.编译程序,选择Project/Rebuildalltargetfiles选项或者单击工具栏中的
按钮,开始编译,如果编译成功,开发环境下面会显示编译成功的信息。
6.编译完毕之后,选择Debug/start/stopDebugSession选项,即就进入仿真环境,或者单击工具栏中的
按钮。
二PROTEUS软件使用
PROTEUS是英国Labcenterelectronics公司研发的EDA软件,是目前世界上最先进,最完整的多种型号微控制器系统的设计与仿真平台。
安装好PROTEUS以后,图标ISIS为智能原理图输入系统,ARES为高级布线编辑软件。
开机界面友好,包括工具栏,对象预览窗口,器件选择按钮,仿真按钮以及编辑区。
左边竖列为模式工具栏,单击模式工具栏中的
后,对象预览窗口中一般会出现蓝色方框和绿色方框,蓝色为可编辑区的缩略图,绿色为当前编辑区中在屏幕上的看见不分,移动绿色框可查看不同的编辑区的不同部位。
常用按钮如下:
为选择元器件
放置连接点
放置电线标签
放置总线
终端,有VCC,地,输出,输入等各种终端。
PROTEUS仿真流程
①在ISIS平台上进行单片机系统电路设计,选择元器件,接插件,连接电路和电器检测等。
②在ISIS平台上进行单片机系统程序设计、编辑、汇编编译、代码调试,组后生成目标代码文件*.HEX。
③在ISIS平台上将目标代码加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。
它在相当程度上反映了实际系统的运行状况。
以按键控制发光二极管为例,进行PROTEUS仿真设计。
一、单击
按钮,弹出选取元器件对话框,在Keywords一栏中输入元器件名称,如AT89C51,双击所匹配的元器件,便可将其加入到对象选择器中。
本例需要加入发光二极管LED-GREEN,瓷片电容CAP,电解电容CAP-ELEC,电阻RES,上拉电阻PULLUP,晶振CRYSTAL,按钮BUTTON,分别同上选中所需元件。
然后选择
,放置电源和地。
注意鼠标操作,单击鼠标左键放置对象,单击右键选中对象,此时选中的对象以高亮红色显示。
编辑对象,选中元件后单击鼠标左键,编辑元件属性;移动对象,选中对象后,按住鼠标左键拖动。
二、电路图布线,系统默认自动捕捉和自动布线有效,相继单击元器件引脚间,线间等要连线的两处,会自动生成连线。
设计完电路后,单击电气检测按钮
,会出现检查结果窗口,若有错,会给出详细的说明。
三、如果首次使用某一编译器,则需要设置代码产生工具,单击菜单source——Definecodegenerationtool,按照下图设置:
源程序设计,单击SOURCE,弹出下拉菜单,单击Add/removesourcefiles选项,添加源程序,源程序扩展名为*.asm。
单击source——buildall(全编译、汇编),会出现编译日志对话框,没有错误则生成目标代码文件,后缀为*.HEX。
若有错,则可工具编译日志提示来调试直无错生成目标代码为止。
加载目标代码,设置时钟频率:
在ISIS中右击选中AT89C51,再次单击打开属性窗口,在其中programfile中输入目标文件代码,再clockfrequency中输入时钟频率。
因运行频率以单片机属性设置里为准,所以在编辑区设计以仿真为目的系统时,可以略去振荡电路。
(不建议略去)
四、交互仿真
直接单击仿真按钮
,则会全速仿真,在本例中,可用鼠标单击按钮,来实现交互仿真。
单击一次按钮,使LED熄灭,再次单击LED点亮,如此循环。
若单击可以
停止仿真。
实验一发光二极管流水灯实验
一、实验目的:
1.通过AT89C51单片机控制8个发光二极管,八个发光二极管分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮。
开始时P0.0→P0.1….→P0.7,实现亮点以1HZ频率循环移动。
2.用PROTEUS设计,仿真以AT89C51为核心的发光二极管流水灯实验装置。
3.掌握发光二极管的控制方法。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验二开关控制LED数码管实验
一、实验目的:
1.通过AT89C51读入4位开关K1、K2、K3、K4的输入状态,并按照二进制编码关系0-F输出到数码管显示。
(如K4K3K2K1全部按下,则显示F;若只有K2按下,则显示2。
)
2.掌握LED数码管的静态显示。
3.掌握I/O口的控制方法。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验三外中断优先级实验
一、实验目的:
1.理解单片机中断优先级和优先权。
2.用PROTEUS设计,仿真基于AT89C51单片机的中断优先级实验。
3.掌握中断编程方法。
单片机主程序控制P0口数码管循环显示0~8;外中断0、外中断1发生时分别在P2口、P1口依次显示0~8。
通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验四60S倒计时实验
一、实验目的:
1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。
2.用PROTEUS设计,仿真基于AT89C51单片机的60S倒计时实验。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验五矩阵式键盘的设计
一、实验目的:
1.掌握键盘设计中按键识别的原则。
2.用PROTEUS设计一个常规4×4的矩阵键盘。
3.键盘编码规则自己定义,分别对应数字键0-9、A-F,按下对应的按键显示在数码管上显示对应的数据。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验六AD转换程序设计
一、实验目的:
1.掌握转换器ADC0809的使用。
2.用PROTEUS设计,仿真基于AT89C51单片机的A/D转换实验。
3.通过改变电位器的值改变模拟量的输入,经转换为数字量在LED上显示,比对模拟量和数字量的关系。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
实验七双机通信实验
一、实验目的:
1.掌握单片机串口通信程序的设计。
2.了接RS232接口通信的特点。
3.双机通信:
分别把接收到的对方通过逻辑开关输入的信息在本地数码管上显示,如下图甲机的逻辑开关数据为81H,乙机通过串口接收该数据并数码关管显示,而甲机显示乙机发送的数据88H。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。