实验一-51单片机流水灯实验-实验报告_第1页
实验一-51单片机流水灯实验-实验报告_第2页
实验一-51单片机流水灯实验-实验报告_第3页
实验一-51单片机流水灯实验-实验报告_第4页
实验一-51单片机流水灯实验-实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上“流水灯”实验报告一、 实验目的1. 了解单片机I/O口的工作原理。2. 掌握51单片机的汇编指令。3. 熟悉汇编程序开发,调试以及仿真环境。二、 实验内容通过汇编指令对单片机I/O进行编程(本实验使用P0口),以控制八个发光二极管以一定顺序亮灭。(即流水灯效果)三、 实验原理通过更改P0口8位的高低电平,分别控制8个发光二极管的亮灭。具体的亮灭情况如下表:P0口输出值十六进制发光二极管亮灭情况P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.70xFE亮灭灭灭灭灭灭灭0xFD灭亮灭灭灭灭灭灭0xFB灭灭亮灭灭灭灭灭0xF7灭灭灭亮灭灭灭灭0xEF灭灭灭灭

2、亮灭灭灭0xDF灭灭灭灭灭亮灭灭0xBF灭灭灭灭灭灭亮灭0x7F灭灭灭灭灭灭灭亮要实现“流水灯”效果,也就是需要将P0口的输出值发生以下变化:FEFDFBF7EFDFBF7FBFDFEFF7FBFDFE. 可以使用一个循环,不断对数据进行移位运算实现。这里的移位指令采用RL和RR,即不带进位的位移运算指令。如果使用带进位的位移运算指令(RLC和RRC),则需要定期把CY置0,否则会出现同时亮起两个发光二极管的情况。四、 实验过程1. 在仿真系统中绘制好单片机的电路图2. 编写汇编程序,程序如下:ORG0000HDelay:MOVR0, #0FFHSJMPStartDelay1:MOVR1, #

3、0FFHStart: MOVA, #0FEHDelay2:NOPMOVP0, ADJNZR1, Delay2CLRP2.7DJNZR0, Delay1CLRP3.7RETMove:MOVR2, #7HENDMOVR3, #7HRMove:RLAMOVP0, ACALLDelayDJNZR2, RMoveLMove:RRAMOVP0, ACALLDelayDJNZR3, LMoveSJMPMove五、 实验结果为了便于实验结果的描述,下面分别把P0.0, P0.1, P0.7对应的发光二极管编号为1, 2, , 8号二极管。在仿真系统中,先从1号二极管下面是在仿真系统中的实验结果:1. 只有1号二极管点亮2. 只有2号二极管点亮3. 只有3号二极管点亮4. 只有4号二极管点亮5. 只有5号二极管点亮6. 只有6号二极管点亮7. 只有7号二极管点亮8. 只有8号二极管点亮实验的结果:二极管的发光状态从12345678712;如此往复循环。六、 实验总结与分析1. 经过这次实验,不难总结出开发单片机程序的方法。第一步:根据需求连接好单片机;第二步:在仿真系统中,使用汇编指令写好单片机的程序;第三步:在仿真系统中对程序进行测试;第四步:把程序下载到单片机中,并观察程序运行结果;如果程序运行不正确,则根据现象分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论