单片机PROTEUS实验指导书.docx

上传人:b****2 文档编号:1607981 上传时间:2023-05-01 格式:DOCX 页数:25 大小:2.19MB
下载 相关 举报
单片机PROTEUS实验指导书.docx_第1页
第1页 / 共25页
单片机PROTEUS实验指导书.docx_第2页
第2页 / 共25页
单片机PROTEUS实验指导书.docx_第3页
第3页 / 共25页
单片机PROTEUS实验指导书.docx_第4页
第4页 / 共25页
单片机PROTEUS实验指导书.docx_第5页
第5页 / 共25页
单片机PROTEUS实验指导书.docx_第6页
第6页 / 共25页
单片机PROTEUS实验指导书.docx_第7页
第7页 / 共25页
单片机PROTEUS实验指导书.docx_第8页
第8页 / 共25页
单片机PROTEUS实验指导书.docx_第9页
第9页 / 共25页
单片机PROTEUS实验指导书.docx_第10页
第10页 / 共25页
单片机PROTEUS实验指导书.docx_第11页
第11页 / 共25页
单片机PROTEUS实验指导书.docx_第12页
第12页 / 共25页
单片机PROTEUS实验指导书.docx_第13页
第13页 / 共25页
单片机PROTEUS实验指导书.docx_第14页
第14页 / 共25页
单片机PROTEUS实验指导书.docx_第15页
第15页 / 共25页
单片机PROTEUS实验指导书.docx_第16页
第16页 / 共25页
单片机PROTEUS实验指导书.docx_第17页
第17页 / 共25页
单片机PROTEUS实验指导书.docx_第18页
第18页 / 共25页
单片机PROTEUS实验指导书.docx_第19页
第19页 / 共25页
单片机PROTEUS实验指导书.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机PROTEUS实验指导书.docx

《单片机PROTEUS实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机PROTEUS实验指导书.docx(25页珍藏版)》请在冰点文库上搜索。

单片机PROTEUS实验指导书.docx

单片机PROTEUS实验指导书

目录

实验一I/O口输出控制实验........................................................................................20

实验二I/O口输入输出控制实验................................................................................24

实验三中断程序设计练习......................................................................................34

实验四定时器、计数器实验..........................................................................................32

 

KeilC51集成开发环境介绍

1、打开计算机,运行KeilC51集成开发环境。

图1-1第一次启动KeilC

图1-2KeilCμVision2操作界面

KeilC软件菜单命令非常丰富,常用的菜单命令都有对应的快捷键和快捷图标,自己可以打开相应的菜单,熟悉各种命令。

2.选择“Project”-“NewProject…”建立新的工程文件(注意工程文件放置的文件夹),输入文件名,选择“保存”。

图1-3创建一个新工程

图1-4为新工程命名并保存

3.工程保存后会弹出来一个器件选择窗口,这里需要选择单片机芯片类型。

器件选择的目的是告诉μVision2最终使用的80C51芯片的型号是哪一个公司的哪一个型号,因为不同型号的51芯片内部的资源是不同的。

图1-5器件选择窗口

如果不知道自己需要使用什么型号的芯片,暂时选择“Atmel”下的“AT89C51”,然后在接下来的窗口中,选择“是”,加载芯片基本参数。

图1-6选择AT89C51芯片

4.选择“File”-“New”或者点击新文件快捷图标,会打开一个文本编辑器窗口。

输入下列数据传送的程序,然后选择“File”-“Save…”,注意保存的时候给文件起名字以后,加个文件名后缀,KeilC支持汇编语言及C语言编程,它是依靠文件名后缀来判断文件是汇编语言还是C语言格式的,如果是汇编语言,后缀为“.asm”,C语言格式的,后缀为“.c”。

我们根据实验要求选择保存为汇编语言格式或C语言格式。

注意此时程序中的一些代码和寄存器将会自动蓝色显示,方便观察。

图1-7创建一个新文件

图1-8输入程序并保存文件

5.选择“Project”-“Targets,Groups,Files…”,选择“Groups/AddFiles”标签,首先点击下边窗口中的“SourceGroup1”,然后选择下边的“AddFilestoGroup…”,在接下来的窗口中,首先选择你需要加入的文件的后缀名(默认是.c,我们可选择“AsmSourcefile,即后缀为.asm”)。

图1-9准备添加一个文件进入工程项目

(1)

图1-10准备添加一个文件进入工程项目

(2)

图1-11选择准备添加的文件类型

然后选择对应的文件,选择“Add”,然后选择“Close”,最后选择“确定”,完成文件的添加工作。

图1-11选择准备添加的文件名称

工程项目添加结束后,可以用鼠标点击工程项目窗口中的“+”,展开工程项目内部的文件,从中可以看到添加进来的文件名称。

图1-12添加文件结束后的工程项目

6.然后选择“Project”-“OptionsforTarget‘Target1’”,对工程项目进行设置,选取其中的“Debug”标签,选中“UseSimulator”,然后点击“确定”,就可以使用软件仿真了。

图1-13准备对工程项目进行设置

图1-14选取软件仿真模式

选择“Project”-“Buildtarget”或者直接按下F7,对文件进行编译。

编译的结果会出现在屏幕下方的输出窗口,其中会提示编译中出现的问题。

如果发现问题,双击错误提示,光标会跳到出错的源程序处等待修改,直至程序没有错误,编译才能通过。

图1-15对源程序文件编译之后的窗口

7.按下“CTRL+F5”,进入Debug(调试)状态,在窗口的左边会出现各个寄存器的状态(内容)。

选择“View”-“DisassemblyWindow”,可以打开反编译窗口,其中显示了源程序中每条指令在程序存储区中的地址以及对应的机器码。

下F11单步执行程序,观察寄存器状态,填写下列表格中地址和有关单元的内容。

图1-16进入Debug状态

图1-17打开反编译窗口

图1-18将窗口横向并排分割

并排分割的效果

打开存储器观察窗口

显示数据存储器内容

显示数据存储器内容

显示程序存储器内容

8.对于查询内存地址中的数据,可双击存储器窗口中的address后的文本框,并在其中输入待查看的地址,如D:

0030H,表示查看数据存储器中30H单元内容,C:

0030H则表示查看程序存储器中30H单元内容,X:

2000H,表示查看外部存储器2000H单元内容。

实验一I/O口输出控制实验

一、实验目的

1.熟悉PROTEUS单片机仿真软件的使用。

2.熟悉KeilC51软件的使用

3.掌握单片机I/O口输出的控制方法。

二、实验设备(仪器)

PC微机一台

三、实验内容

1.按照KeilC51集成开发环境的要求,建立一段程序,然后进行编译并进行软件仿真。

2.输入实验例程,利用P1口作为输出控制端口,控制8位LED流水闪烁。

四、实验步骤

图3.1实验线路图

1.单片机I/O接口的原理如图3.1所示。

从图中可以看出,当单片机P1口某位为低电平时,对应的LED会亮,反之熄灭。

2.打开KeilC51集成开发环境,建立一个工程并输入相应程序.

3.输入以下程序并进行编译、调试,观察、分析现象,说明P1口的赋值与

LED亮灭的关系,在空白部分填加注释。

ORG0000H

LJMPMain

ORG00F0H

Main:

Loop:

MOVP1,#0FEH

ACALLDELAY

MOVP1,#0FDH;__________________

ACALLDELAY;__________________

MOVP1,#0FBH

ACALLDELAY

MOVP1,#0F7H

ACALLDELAY

MOVP1,#0EFH

ACALLDELAY

MOVP1,#0DFH

ACALLDELAY

MOVP1,#0BFH

ACALLDELAY

MOVP1,#07FH

ACALLDELAY

SJMPLOOP

DELAY:

MOVR1,#10

DEL1:

MOVR2,#200

DEL2:

MOVR3,#126

DEL3:

DJNZR3,DEL3;__________________

DJNZR2,DEL2

DJNZR1,DEL1

RET

END

五、预习要求

1.KeilC软件的调试方法及相关硬件设置。

2.预习实验例程,理解指令意义。

六、实验报告要求

1.把程序和注释补充完整

2.把设计的PROTEUS仿真图,写入实验报告。

3.思考题:

请思考并描述调试工具中单步调试、运行、步入、步出的区别。

 

实验二I/O口输入输出控制实验

一、实验目的

1.利用单片机的P1口作I/O口,掌握P1口同时作为输入和输出的用法。

2.掌握按键去抖动的方法。

3.掌握条件转移指令的用法。

二、实验设备(仪器)

PC微机一台

三、实验内容

1.输入实验例程,进行仿真调试完成下述功能:

P1.0-P1.6作为输出,控制7位LED。

P1.7口作为输入,当P1.7按下时,P1.0-P1.6控制的LED亮;当P1.7没有按下时,P1.0-P1.6控制的LED灭。

四、实验步骤

1.原理图如图4.2所示。

图4.2原理图

2.打开KeilC51集成开发环境,对以下程序补充并进行调试,填加注释。

ORG0000H

LJMPMain

ORG0100H

Main:

SETBP1.7;_____________________

JB___,SETLED;按键没有按下时,跳转到SETLED

CLRLED:

MOVR0,#0FFH

DJNZR0,$;______________________

JBP1.7,SETLED

CLRP1.0

CLRP1.1

CLRP1.2;_______________________

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPMain

SETLED:

MOVP1,______;令LED熄灭

______________;跳转主程序

END

五、预习要求

1.例程分析补充。

2.完成预习报告。

六、实验报告要求

1.把程序和注释补充完整

2.把设计的PROTEUS仿真图,写入实验报告。

3.思考题:

什么是按键去抖,为什么按键程序需要进行去抖动处理,一般按

键去抖的硬件处理方法和软件处理方法分别是怎样的。

 

实验三中断程序设计练习

一、实验目的

1.学习并掌握外中断的使用。

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

二、实验设备

PC微机一台

三、实验内容

1.使用单脉冲作中断源,每按一次按钮,点亮的发光二极管向右移动一位

四、实验步骤

1.本实验电路如下所示。

2.输入以下程序并进行调试运行。

ORG0000H

LJMPSTART

ORG0013H

LJMPINTT;INT1入口地址

ORG3000H

START:

MOVSP,#60H

MOVA,#0FEH

SETBIT1;_______________

MOVIE,_______;外中断1允许,总中断允许

MOVP1,#0FFH

HERE:

NOP

SJMPHERE

INTT:

MOVP1,A

RLA

RETI;________________________

END

五、预习要求

1.中断控制寄存器的定义。

2.外中断的初始化过程,入口地址等相关知识。

3.熟悉并分析实验例程。

4.完成预习报告。

六、实验报告要求

1.把程序和注释补充完整

2.把设计的PROTEUS仿真图,写入实验报告。

6.思考题:

单片机外中断两种触发方式的区别,各适用于何种情况。

 

实验八定时器、计数器实验

一、实验目的

1.学习并掌握单片机定时器中断的使用。

2.掌握定时器中断溢出时间的计算。

3.了解单片机定时器各工作模式的区别。

二、实验设备(仪器)

PC微机一台

三、实验内容

连线并编制程序。

使用定时器1中断,按方式1工作,将LED灯循环点亮。

1.定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/2。

本实验中时钟频率为12M,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后R0中计数值减一,令(R0)=14H,即可实现1秒的延时。

时间常数可按下法确定:

机器周期=12/晶振频率=12/12=1uS

定时器需设初值为X,则(2^16﹣X)*1=50000uS

求出X=15536

转化为十六进制:

X=3CB0H,故初始值为:

TH1=3CH,TL1=B0H

2.初始化程序

包括定时器初始化和中断系统初始化。

主要对IP,IE,TCON,TMOD的相应位进行正确的设置,并将时间常数送入定时器中。

由于只有定时器中断,IP不必设置。

注意一点:

定时器1初始化时建议用如下的指令:

ANLTMOD,#0FH

ORLTMOD,#10H

3.设计中断服务程序和主程序

中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,

为下一次中断做准备。

主程序则用来控制发光二极管按要求顺序亮灭。

程序的流程图

如下:

四、实验步骤

1.本实验电路如下所示。

2.输入以下程序并进行调试运行。

ORG0000H

AJMPSTART

ORG001BH

AJMPTIME

ORG0030H

START:

MOVIE,#00H

MOVSP,#60H

MOVP1,#0FFH

MOVR0,#0FEH

MOVR1,#14H

ANLTMOD,#0FH

ORLTMOD,#10H

MOVTH1,#3CH

MOVTL1,#0B0H

ORLIE,#88H;__________________

_____TR1;启动定时器一

LOOP:

CJNER1,#00H,DISP

MOVR1,#14H

MOVA,R0

_____A;数据左移

MOVR0,A

DISP:

MOV____,R0;输出LED显示

AJMPLOOP

定时中断

TIME:

CLRTR1;___________________

DECR1

MOVTH1,#3CH

MOVTL1,#0B0H

SETBTR1

RETI;__________________

END

五、预习要求

1.预习单片机定时器的工作方式及中断处理方法。

2.掌握定时器初始化方法。

3.预习实验例程。

4.完成预习报告。

六、实验报告要求

1.把程序和注释补充完整

2.把设计的PROTEUS仿真图,写入实验报告。

3.思考题:

简述单片机定时器的几种方式的区别,利用内部定时器实现延时

与利用实验三中的软件延时有什么区别。

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2