C_ASM入门实例:0.2秒闪烁灯与延时程序设计

需积分: 10 0 下载量 91 浏览量 更新于2024-09-22 收藏 643KB DOC 举报
"本资源是一份详细的单片机入门教程,以30个实例的形式讲解单片机的基本操作和应用,其中第1个实例是关于如何实现LED灯的闪烁,目标是在P1.0端口通过一个发光二极管L1实现0.2秒的亮灭周期。教学内容包括: 1. 实验任务:构建一个简单的电路,将单片机的P1.0端口与发光二极管L1相连,通过编程控制LED灯的开关状态。 2. 电路原理图:提供了一个示意图,展示了硬件连接的具体方式,即如何将单片机的P1.0引脚与发光二极管的输入端相接。 3. 系统板硬件连线:明确指导如何通过物理连线将单片机的P1.0引脚与八路发光二极管指示模块的L1端口相连,实现信号传输。 4. 程序设计:重点介绍了延时程序的设计。由于单片机指令执行时间很短,需要通过插入延时程序来实现0.2秒的闪烁间隔。作者使用了定时器寄存器R6和R7配合循环结构(DJNZ指令)来实现延时,例如,延时5ms对应R6=10、R7=248,延时10ms则R6=20。实验中,延时子程序DELAY被设计为可调,以满足0.2秒的需求。 5. 输出控制:解释了如何通过SETBP1.0和CLRP1.0指令来控制P1.0端口的电平,进而控制LED的亮灭状态。当P1.0为高电平时,LED熄灭;为低电平时,LED点亮。 6. 程序框图:提供了整个程序的流程图,清晰地展示了程序执行的逻辑顺序,从启动到延时,再到控制LED的亮灭,最后回到启动点。 7. 汇编源程序:给出了实际的程序代码,包括程序的起始地址(ORG0)、主程序START、延时子程序DELAY以及指令集,如CLRP1.0、SETBP1.0等。 这份文档旨在帮助初学者理解单片机的基础操作,通过实际的编程和实践,逐步掌握单片机控制硬件的基本技能。"