实验一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