流水灯c语言单片机实验报告,实验一51单片机流水灯实验实验报告.doc

实验一51单片机流水灯实验实验报告

“流水灯”实验报告

实验目的

了解单片机I/O口的工作原理。

掌握

熟悉汇编程序开发调试以及仿真环境

实验内容

通过汇编指令对单片机I/O进行编程(本实验使用P0口),以控制八个发光二极管以一定顺序亮灭。(即流水灯效果)

实验原理

通过更改

P0口输出值十六进制发光二极管亮灭情况P0.1P0.2P0.3P0.4P0.5P0.6P0.70xFE亮灭灭灭灭灭灭0xFD灭亮灭灭灭灭灭灭灭灭灭灭灭灭灭灭灭灭亮灭灭灭灭灭灭灭灭亮灭灭灭灭灭灭灭灭亮灭灭灭灭灭灭灭灭亮灭灭灭灭灭灭灭灭亮

要实现

FE→FD→FB→F7→EF→DF→BF→7F→BF→DF→EF→F7→FB→FD→FE→......

可以使用一个循环,不断对数据进行移位运算实现。这里的移位指令采用RL和RR,即不带进位的位移运算指令。如果使用带进位的位移运算指令(RLC和RRC),则需要定期把CY置0,否则会出现同时亮起两个发光二极管的情况。

实验过程

编写汇编程序,程序如下:

ORG0000HDelay:MOVR0, #0FFHSJMPStartDelay1:MOVR1, #0FFHStart: MOVA, #0FEHDelay2:NOPMOVP0, ADJNZR1, Delay2CLRP2.7DJNZR0, Delay1CLRP3.7RETMove:MOVR2, #7HENDMOVR3, #7HRMove:RLAMOVP0, ACALLDelayDJNZR2, RMoveLMove:RRAMOVP0, ACALLDelayDJNZR3, LMoveSJMPMove

实验结果

…, P0.7对应的发光二极管编号为…, 8号二极管

在仿真系统中,先从1号二极管

只有1号二极管点亮只有2号二极管点亮只有3号二极管点亮只有4号二极管点亮只有5号二极管点亮只有6号二极管点亮只有7号二极管点亮只有8号二极管点亮实验的结果:二极管的发光状态从1→2→3→4→5→6→7→8→7→…→1→2;如此往复循环。

实验总结与分析

第一步

第二步

第三步在仿真系统中对程序进行测试

第四步把程序下载到单片机中并观察程序运行结果

对单片机的悬空针脚进行相应处理

1

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值