实验一51单片机流水灯实验实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“流水灯”实验报告
一、实验目的
1.了解单片机I/O口的工作原理。
2.掌握51单片机的汇编指令。
3.熟悉汇编程序开发,调试以及仿真环境。
二、实验内容
通过汇编指令对单片机I/O进行编程(本实验使用P0口),以控制八个发光二极管以一定顺序亮灭。(即流水灯效果)
三、实验原理
通过更改P0口8位的高低电平,分别控制8个发光二极管的亮灭。具体的亮灭情况如下表:
P0口输出值十六进制
发光二极管亮灭情况
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
0xFE 亮灭灭灭灭灭灭灭
0xFD 灭亮灭灭灭灭灭灭
0xFB 灭灭亮灭灭灭灭灭
0xF7 灭灭灭亮灭灭灭灭
0xEF 灭灭灭灭亮灭灭灭
0xDF 灭灭灭灭灭亮灭灭
0xBF 灭灭灭灭灭灭亮灭
0x7F 灭灭灭灭灭灭灭亮
要实现“流水灯”效果,也就是需要将P0口的输出值发生以下变化:
FE→FD→FB→F7→EF→DF→BF→7F→BF→DF→EF→F7→FB→FD→FE→......
可以使用一个循环,不断对数据进行移位运算实现。这里的移位指令采用RL和RR,即不带进位的位移运算指令。如果使用带进位的位移运算指令(RLC和RRC),则需要定期把CY置0,否则会出现同时亮起两个发光二极管的情况。