"基于AT89C51单片机的中断控制流水灯课程设计报告"

1 下载量 188 浏览量 更新于2024-01-11 收藏 1.53MB DOC 举报
本课程设计报告主要介绍了基于单片机AT89C51控制的中断控制流水灯的设计方案和实施过程。随着计算机技术的快速发展,单片机及其应用技术在工业自动化控制、智能仪表、数据采集、通讯和家用电器等领域得到了广泛应用。本设计选用了AT89C51作为单片机,并通过中断控制实现了流水灯的控制。 在总体设计方案部分,介绍了所使用的硬件平台和软件环境。硬件方面,使用了AT89C51单片机作为控制核心,采用了LED灯作为输出装置;软件方面,使用了Keil C51集成开发环境进行软件开发,并进行了相关设置和配置。同时,详细介绍了中断控制的原理和流程,以及如何使用中断实现流水灯的控制。 在具体实施过程中,首先进行了流水灯的硬件电路设计,包括连接方式、电源设计以及电阻的选择等。随后进行了软件程序的编写,包括对端口的初始化、设置中断向量、中断服务函数的编写等。在程序实现过程中,采用了循环移位的方式实现了流水灯的效果,并通过中断控制实现了灯光的切换。 在测试与分析部分,对设计的流水灯进行了功能测试和性能分析。通过对程序的调试和测试,确保了流水灯在AT89C51单片机控制下能够正常工作,并测试了不同延时时间下流水灯的运行效果。结果表明,流水灯能够按照预期的效果进行循环切换,并且在不同延时时间下切换的速度也能满足实际需求。 在设计的过程中,通过对单片机的了解和学习,深入理解了中断控制的原理和应用,并将其应用于流水灯的控制中。同时,通过对硬件电路和软件程序的设计与实现,提高了自己的动手能力和解决问题的能力。 总之,本课程设计报告详细介绍了基于单片机AT89C51控制的中断控制流水灯的设计方案和实施过程。通过设计和实现流水灯的控制,掌握了单片机中断控制技术的应用,提高了对单片机的理解和应用能力。这对于进一步深入学习和研究单片机技术具有重要意义。同时,本设计也为其他相关领域的研究和应用提供了参考和借鉴。
2023-02-27 上传
宁波技师学院 课 程 设 计 报 告 设计课题:单片机——中断控制流水灯 摘 要 随着计算机技术的迅猛发展,计算机越来越广泛地应用于人们工作和生活的各个 领域。作为计算机领域里的一个重要方面单片机及其应用技术近年来也得到了长足的 发展。 单片机被广泛地应用在工业自动化控制、智能仪器仪表、数据采集、通讯以及家 用电器等领域。单片机以其与通用微机完全不同的发展模式,不断满足工业测控、恶 劣环境下可靠运行的要求。、单片机已成为现代工业领域中不可缺少的重要角色。 单片机技术的发展速度十分迅速,速度更快、功能更强的16位、32位单片机以及 陆续问世,但8位机,特别是新一代高档8位机具有优异的性能,已能满足大部分单片 机应用领域的需要,另外,它还具有可靠性高、外围芯片配套、系统结构简单、应用 软件丰富、技术成熟、开发应用方便等优点,在单片机市场中依旧据有一定地位。 目录 一 总体设计方案 1 1.1系统设计方案 1 1.2系统结构框图 1 二系统硬件设计 2 2.1晶振电路 2 2.2复位电路 3 2.3数码管电路 4 2.4LED指示电路与模式电路 5 三 软件设计 6 3.1主程序流程图 6 3.2程序图 7 四 制作与调试 11 五 结论 12 六 致谢 13 附录1系统实物图 14 2实验原理图 15 3系统仿真图 16 4 PCB原理图 17 一 总体设计方案 1.1系统设计方案 流水灯系统主要由:复位电路、晶振电路、数码管显示电路、LED灯指示电路、速 度与方式选择电路等部分电路组成。 各器件的选用: 1 单片机的选用: 单片机芯片选用AT89C51。 2数码管的选用: 数码管选用共阳极数码管。 3晶振的选用: 晶振选用的是12MHZ。 1.2系统结构框图 框图如图1.2-1。 图1..2-1系统结构框图 二系统硬件设计 复位电路、晶振电路、数码管显示电路迪电路组成。 2.1晶振电路 图2.1-1晶振电路 内部方式时钟电路如图2.1- 1所示。在XTAL2和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。 2.2复位电路 图2.2-1按键复位电路 按键手动复位有电平方式和脉冲方式。而此次选用的便是按键电平复位。按键电 平复位是通过复位端经电阻与Vcc接通而实现的。电路如图2.2-1所示。 2.3数码管电路 图2.3-1数码管电路 此电路可以十分清楚的体现出当前LED指示灯所运行的模式。 图2.3-2数码管 2.4LED指示电路与模式电路 图2.4-1 LED指示电路 此电路可以明显的反映出LED的运行状态,如图2.4-1所示。 图2.4-2 模式选择电路 此电路可以选择LED指示灯的运行模式与启动停止,如图2.4-2所示。 三 软件设计 3.1主程序流程图 流水灯程序流程图 图3.1-1流程图 流水灯程序根据流程图所写,根据按钮是否按下跳起来判断是否执行下一条指令 ,从而使LED指示灯与数码管显示出已设置好的值。 3.2程序图 ORG 0000 JMP MAIN ORG 0003H JMP M1 ORG 0013H JMP M2 MAIN: MOV P2,#00H CLR 30H MOV P3,#0FFH SETB EA SETB EX0 SETB IT0 LOOP1: JB 30H,LOOP JMP LOOP1 LOOP: SETB EX1 SETB IT1 MOV R1,#00H LOOP35:CJNE R1,#01H,LOOP33 JMP LOOP2 LOOP33: CJNE R1,#02H,LOOP34 JMP LOOP3 LOOP34:CJNE R1,#03H,LOOP35 JMP LOOP4 LOOP2: MOV P1,#80H MOV P2,#0FFH LCALL DELY MOV P1,#0C0H MOV P2,#00H JB 30H,LOOP20 JMP LOOP1 LOOP20: LCALL DELY CJNE R1,#01H,D1 JMP LOOP2 D1: CJNE R1,#02H,LOOP4 JMP LOOP3 LOOP3: MOV DPTR,#TABLE MOV R3,#00H MOV R4,#9 MOV A,#01H LOOP11: MOV P2,A MOV A,R3 MOVC A,@A+DPTR MOV P1,A JB 30H,LOOP21 JMP LOOP1 LOOP21: LCALL DELY MOV A,P2 SETB C RLC A INC R3 CJNE R1,#02H,D3 JMP D4 D3: CJNE R1,#03H,LOOP2 JMP LOOP4 D4: DJNZ R4,LOOP11 JMP LOOP3 LOOP4: MOV R3,#00H MOV R4,#00H M