MCU实验报告--2-单片机控制流水灯设计、制作(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目二单片机控制的流水灯设计、仿真及制作专业:17电子信息学号:19 姓名:张静
一、实验目的和要求
1、理解并行I/O口的输入/输出功能。
2、根据项目要求,设计电路,PROTEUS完成仿真,用面包板完成硬件制作。
3、实现单片机控制的LED闪烁,掌握电路设计、软件设计调试、源程序下载,软硬联调。
二、实验仪器设备
1、PC机(PROTEUS,Keil)
2、元器件
3、面包板
4、编程器
三、实验步骤
1、器件准备
2、系统设计
1)软件仿真----PROTUES 仿真
2)、硬件设计
在面包板上搭建电路。
3)、软件设计
源程序
#include<reg51.h>
#include<intrins.h>
void delay (unsigned int i)
{
unsigned int k;
for (k=0;k<i;k++);
}
void main()
{
P1=0x7F;
while(1)
{
P1=_cror_(P1,1);
delay(5000);
}
}
四、硬件(照片)
五、项目扩展
A 暗点流动仿真
仿真图
核心代码
#include<reg51.h>
#include<intrins.h>
void delay (unsigned int i)
{
unsigned int k;
for (k=0;k<i;k++);
}
void main()
{
P1=0x07;
while(1)
{
P1=_cror_(P1,1);
delay(5000);
}
}
B 四个按键控制的LED灯----按键1启动,按键2 停止,按键3向上流水,按键4 向下流水
1) 仿真
仿真图
2) 硬件制作(照片)
核心代码
#include<reg51.h>
#define TIME 1200
#include<intrins.h> sbit S1=P3^2;
sbit S2=P3^3;
sbit S3=P3^4;
sbit S4=P3^5;
void delay (unsigned int i) {
unsigned int k;
for (k=0;k<i;k++);
}
void main()
{
P1=0xff;
while(1)
{if (S1==0)
{delay(TIME);
if (S1==0)P1=0x00;} else if(S2==0)
{
delay(TIME);
if(S2==0)
P1=0xFF;
}
else if(S3==0)
{delay(TIME);
if (S3==0)
P1=0x7f;
while(1)
{P1=_cror_(P1,1); delay(10000);
if (S4==0) break;
}
}
else if (S4==0)
{
delay(TIME);
if (S4==0)P1=0x7f;
while(1)
{ P1=_crol_(P1,1);
delay(10000);
if (S2==0) break;
}
}
}
}
六、总结。