内容发布更新时间 : 2025/2/8 3:06:16星期一 下面是文章的全部内容请认真阅读。
单片机实验报告一
一、 实验目的
1. 掌握Keil集成开发环境基本使用方法;
2. 掌握学林51mini仿真器和下载(编程)器的基本使用方法。
评 阅 二、 实验主要仪器及环境: Keil,51单片机,51mini仿真器,计算机。 三、 实验内容
p1口八个灯作3路跑马灯。分别往端口送三个不同的数, 理解数字和端口的对应关系
四、 实验步骤
1)复位。观察记录SFR、IO的状态以及第一条指令代码的地址,验证复位后51单片机的状态;
2)全速运行。观察记录LED的运行情况,与前面下载到单片机运行的情况相比较。 3)复位,采用单步运行(F10),观察记录执行每一条指令后相关寄存器、IO的变化情况。 4)复位,在延时程序处设置断点,运行到断点时,采用单步跟踪(F11),进入到延时程序,观察记录相关寄存器、IO的变化情况。
5)修改程序,增大、减少延迟时间,仿真观察LED变化情况,保存源程序。
五、 实验流程框图、实验程序
1、实验流程框图如下:
D00、D03和D06灯亮 延时 D01、D04和D07灯亮 延时 D02和D05灯亮 开始
2、实验程序如下: ORG 0000H ; LJMP MAIN ;
ORG 0080H ;
;11011011--零为亮 ;01101101 ;10110110
ACALL DELay ; MOV P1,#06DH ACALL DELay ; MOV P1,#0B6H ACALL DELay ;
MAIN: MOV P1,#0DBH
返回 延时 AJMP MAIN ;
delay: mov r7,#255 ;延时子程序 d1: mov r6,#255 d2: djnz r6,d2 djnz r7,d1 ret End
六、 实验及程序的分析和讨论
为实现3路跑马灯,本次实验三次灯亮灭的变换为一个周期。MOV P1,#0DBH;11011011实现的是D02和D05灯亮,MOV P1,#06DH;01101101实现的是D01、D04和D07灯亮,MOV P1,#0B6H;10110110实现的是D00、D03和D06灯亮。
七、 程序测试报告: 本次实验的目的是实现
3路跑马灯,通过分步操作,可以看出,跑马灯的实现是基于每
一次的灯亮灭的不一样,首先是D02和D05灯亮,接着是D01、D04和D07灯亮,最后是D00、D03和D06灯亮。每一次灯亮灭的改变都有一个延时,当延时时间很短的时候即实现了3路跑马灯。
delay: mov r7,#255 ; 本指令的执行时间是1us d1: mov r6,#255 ; 本指令的执行时间是1us
d2: djnz r6,d2 ; 本指令执行一次是2us,共计255*2=510us djnz r7,d1 ; 本指令执行一次是2US,本循环共执行255次 Ret ; 本指令执行时间是2us
所以延时子程序的延时时间为:1us+(1+510+2)*255us+2us=130818us≈0.13s
八、 回答思考题所提出的问题。
思考题:单片机系统的开发过程,所使用的主要工具keil软件和学林51mini仿真器,keil软件解决的问题单片机芯片的程序编写和调试过程,51mini仿真器的功能是用简单的方法来仿真单片机程序达到的效果,检测程序的可用性。单片机开发环境提供的调试方式有多种,便于不同经验程度的人应用,比如有单步调试的,适合于初学者学习,可以通过单步看出单片机的运行,还有的就是一次性执行完,可以得到最终的结果。