单片机原理实验报告 (格式)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都工业学院实验报告

评定成绩:评定教师:

课程名称:单片机原理与应用实验类型:验证性

实验项目名称:实验二:基本的输入输出

学生姓名:薛佳伟专业:电子信息工程学号:1603013135 同组学生姓名:谢志宏指导老师:曾一江,袁曦

实验地点:2209 实验日期:2018 年11 月1 日

一、实验目的和要求

进一步熟悉Keil软件的单步和断点的调试方法,熟悉proteus软件的仿真环境,掌握用proteus软件绘制原理图,加载程序进行仿真的基本方法;熟悉片内I/O查询方式输入输出的仿真输出编程方法及无条件指令LJMP与SJMP的应用,完成片内I/O口查询方式输入输出的仿真调试。

二、实验内容和原理

采用查询方式判断SU1开关是否闭合,如果开关闭合,采用循环程序控制方式控制4个灯

轮流点亮,延时方式采用软件延时。

三、主要仪器设备

计算机一台,KEIL仿真软件,Proteus仿真软件,单片机开发板一个。

四、实验步骤

(一)建立设置工程,保存文件

使用keil软件工程建立,输入程序并保存工程SY3.Uv2及SY3.ASM的文件,并对工程进行设置

(二)编译,链接

编译,链接程序,修改编译错误,并生成SY3.HEX文件用于Protues仿真

(三)调用延时程序

将断点设在RET处,设置PC=0100H点击运行,看程序从0100H是否能执行到断点RET 处

(四)调试主程序

1.调试前段程序

调试时,先将“断点”设在LOOP1处,然后按复位按钮使单片机”复位“,程序从0000H 开始执行,看开关为“0”时程序是否停在LOOP1处,若不是,则用单步方式细调。

在调试P0~P3端口时,可选择打开P0~P3口的监视窗口。

2.调试后一段程序

第一步先检查调用指令是否正常。检查调用指令时,将“断点”设在标号DL Y即0100H

处,单击复位键,设置P1.0=0,单击“运行”从0000H开始,看是否能运行到0100H。若能则正常。

2

五、实验结果与分析

编译结果

仿真结果

程序开始运行后,四个黄色的LED灯,轮流点亮

实物板正常工作情况

(2、思考题)

1):主程序中的SETB P3.2 和SETB C 有何用?

SETB P3.2 是设置开关的I/O口为高电平,其意义等效为开关未接通,以方便实验目的(即开关为低电平是灯亮。)

SETB C ,C是位操作,当P1端口做循环时,是带进位的循环,当C(即进位端)为高电平时才能保证循环不会出错,(即后面会判断进位端的电平信号,控制循环。)。

2):若要求4个LED灯轮流点亮后全亮,然后在开始第二轮轮流点亮,程序该如何修改?修改后运行程序,检查结果。

ORG 0000H

SETB P3.2

W AIT: MOV C,P3.2

JC W AIT

LOOP1:MOV A,#0EFH

LOOP2:MOV P1,A

LCALL DLY

SETB C

RLC A

JC LOOP2

LJMP LOOP3

LOOP3:MOV A,#00H

MOV P1,A

LJMP LOOP1

ORG 0100H

DLY: MOV R6,#0FH

DLY1: MOV R5,#0FFH

DLY2: MOV R4,#0FFH

DLY3: DJNZ R4,DLY3

DJNZ R5,DLY2

DJNZ R6,DLY1

RET

END

结果:

六、讨论和心得

本次实验我学到了很多,熟练掌握了软件的使用,编程调试画图以及仿真运行,中间遇到很多问题不过都一一解决,最终让板子亮了起来。

相关文档
最新文档