文档库 最新最全的文档下载
当前位置:文档库 › 单片机实验报告

单片机实验报告

单片机实验报告
单片机实验报告

目录

一、实验一··1

二、实验二··7

三、实验三··11

四、实验四··15

DOC格式.

实验一定时/计数器验证实验

一、实验目的

熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。

二、实验设备及器件

IBM PC机一台 PROTEUS 硬件仿真软件 Keil C51。

三、实验容

用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。

四、实验要求

要求采用Proteus软件实现上述实验。

五、实验步骤

1.打开Proteus ISIS编辑环境,按照表1-1所列的元件清单添加元件。

表1-1 元件清单

元件全部添加后,在Proteus ISIS的编辑区域中按图1-1所示的原理图连接硬件电路。

图1-1 电路原理图

2.根据参考程序绘出流程图,并辅以适当的说明。

流程图如图1-2所示:

图1-2 程序流程图

3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考

程序导入到“Source Group 1”中。在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。

4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit Component”

对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File”

栏中,选择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中选择“File”→“Save Design”选项,保存设计,在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug

Monitor”选项,以支持与Keil的联合调试。

5.在Keil的菜单栏中选择“Debug”→“Start/Stop Debug Session“选项,

或者直接单击工具栏中的“Debug”→“Start/Stop Debug Session”图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS”界面可以看到7段数码管显示从0~59s的计数值,每个数值显示1s,如图1-3所示。

图 1-3 程序运行结果

六、实验程序

SECOND EQU 30H

COUNT EQU 31H

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV SECOND,#00H

MOV COUNT,#00H

MOV DPTR,#TABLE

CLR A

MOV P0,A

MOV P2,A

MOV TMOD,#00H

MOV TH0,#(65536-50000)/256

MOV TL0,#(65536-50000)MOD 256

SETB TR0

SETB ET0

SETB EA

MOV IE,#82H

LJMP $

INT_T0:MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256

INC COUNT

MOV A,COUNT

CJNE A,#20,I2

MOV COUNT,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,I1

MOV SECOND,#00H

I1: MOV A,SECOND

MOV B,#10H

DIV AB

MOVC A,A+DPTR

MOV P0,A

MOV A,B

MOVC A,A+DPTR

MOV P2,A

I2: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

END

七、思考题

1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮助你的地方。

使用Proteus软件能使我们方便的搭建电路,同时在没有元器件的情况下进行便于仿真,方便我们在将程序写入单片机前确认运行是否正确,同时可

相关文档