武汉理工大学创新实验室:51单片机闪烁灯教程与延时程序设计

需积分: 10 0 下载量 158 浏览量 更新于2024-10-29 收藏 1.95MB PDF 举报
武汉理工大学创新实验室的51单片机学习资料是一份内部教学参考资料,由该校教师长期实践和经验总结而成。这份资料针对初学者设计了基础实验项目,旨在帮助学生理解和掌握51单片机的编程技巧,特别是延时控制和输出控制。 在"闪烁灯"的实验任务中,学生被要求在P1.0端口连接一个发光二极管,使其以0.2秒的周期亮灭。由于单片机指令执行时间短暂,通常在微秒级别,而0.2秒的延时需要较长的时间,因此需要使用延时程序来实现。延时程序通过计数器(如R6和R7)配合循环结构(DJNZ)来实现,比如通过设置R6和R7的值来控制延时时间,如5ms对应R6=10和R7=248,10ms对应R6=20和R7=248。 延时子程序(DELAY)的设计中,使用了MOV(移动数据)、DJNZ(无符号减1并跳转)等指令,通过循环结构使得程序持续执行直到计数值减至零,从而达到预定的延时时间。该程序能确保在10.002ms的时间间隔内完成延时操作,然后根据实际需求调整计数器的值以满足0.2秒的闪烁周期。 输出控制部分,通过SETBP1.0和CLRP1.0指令来控制P1.0端口的高低电平,进而控制发光二极管L1的亮灭状态。当P1.0为高电平时,LED熄灭;当P1.0为低电平时,LED发光。这展示了如何运用51单片机的基本输入输出功能进行硬件控制。 程序流程图详细展示了整个过程,包括延时子程序的调用和输出控制逻辑的执行顺序,帮助学生直观理解代码在硬件上的工作原理。这份资料不仅提供了理论知识,还注重实践操作,对于想要学习和深入理解51单片机的学生来说,具有很高的实用价值。