实验名称 学生姓名 同组人员 一、实验目的 1、会使用单片机4个并行I/O端口连接外部设备并构建单片机最小应用系统。 2、能使用工具软件绘制单片机硬件原理图、能编写简单的汇编程序。 3、会编写常见的顺序程序、循环程序、延时子程序和查表程序。 二、实验主要仪器设备和材料 Keil软件;Proteus软件 流水灯控制实验 实验时间 实验地点 专业班级 2019年 月 日 三、任务设计要求 采用STC89C52单片机构建最小系统,在P0-2口外接24只发光二极管,编程实现24只灯的花样显示控制。 四、总体设计方案 电源电路 AT89C52单片机 P0接口的8个led灯 时钟电路 并行串口P1接口的8个led灯 P2接口的8个led灯 复位电路 第 1 页 共 5 页
五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用内部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。
开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭 第 2 页 共 5 页
2、程序清单及说明 #include 第 3 页 共 5 页 { P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭 { P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果 第 4 页 共 5 页 图片 1 逐个点亮 图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年 月 日 第 5 页 共 5 页 因篇幅问题不能全部显示,请点此查看更多更全内容