基于AT89S52单片机控制的摇摇棒的制作
基于AT89S52单片机控制的摇摇棒的制作[20200128194238]
摘要 本设计以AT89S52单片机为中央控制器, 显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。整套系统由中央控制模块、LED显示模块、供电模块等部分构成。
*查看完整论文请+Q: 351916072
关键字:LED;AT89S52;视觉暂留;图案
一、 引言 1
(一) 背景 1
(二) 编写目的 1
(三) 设计思路 1
二、 系统硬件设计 2
(一) AT89S52单片机简介 2
1. AT89S52主要功能 2
2. AT89S52各引脚简介 2
3. AT89S52单片机的最小系统 3
(二) 电路设计 4
1. 基本原理图 4
2. 基本原理与硬件电路设计: 5
(三) 各部分功能 5
1. 按键模块 5
2. LED显示模块 6
3. 电源模块 6
4. 系统功能 6
三、 系统软件 7
(一) 主程序流程 7
(二) I/O口分布表: 8
(三) 程序简介: 8
四、 总结 9
五、 参考文献 9
六、 附录 10
(一) 附录一 10
(二) 附录二 16
(三) 附录三 20
一、引言
(一)背景
人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
本次摇摇棒的设计作为毕业论文的一部分,综合了模拟电子技术基础和数字电子技术等学科的知识,温固并进一步学习了protel软件的用法,初步了解以单片机为核心的电子系统体系,对已经学习的单片机技术有了初步的认识。
(二)编写目的
接下来我将用我所知道的以及参考书本所学得的C语言知识以及单片机的相关知识,来设计一个简单的用单片机控制的摇摇棒的程序。本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用 按键对所显示内容进行切换。
通过这次摇摇棒的编程及相关制作,来巩固我大学2年学习的相关知识,其中涉及到C语言编程,单片机课程,电路基础,单片机51系列仿真与应用等课程。同时在复习,巩固课程的同时,加入新的想法与设计,为以后的更专业更复杂的课程设计和工作需求打好基础。
(三)设计思路
本系统要求设计一个LED显示棒且需要有按键进行内容切换,它主要是由中央控制部分,LED驱动部分,LED显示部分以及电源部分组成。 单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
LED灯的选择:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济。
外部中断信号产生方式:通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。使用惯性开关。通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
抗重影方案的选择:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。
二、系统硬件设计
(一)AT89S52单片机简介
AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
1. AT89S52主要功能
(1)、拥有灵巧的8位CPU和在系统可编程Flash
(2)、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)
(3)、内部程序存储器(ROM)为 8KB
(4)、内部数据存储器(RAM)为 256字节
(5)、32 个可编程I/O 口线
(6)、8 个中断向量源
(7)、三个 16 位定时器/计数器
(8)、三级加密程序存储器
(9)、全双工UART串行通道
2. AT89S52各引脚简介
图2-1 AT89S52引脚图
AT89S52各引脚主要功能以及引脚图如图2-1所示:
1) VCC:
AT89S52电源正端输入,接+5V。
2) VSS:
电源地端。
3) RESET:
AT89S52的重置引脚,高电平动作
4) PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
5) PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
6) PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
7) PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
AT89S52单片机内部结构简图如图2-2所示
图2-2 AT89S52单片机内部结构简图
3. AT89S52单片机的最小系统
单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。单片机最小系统电路如图2-3所示。
1) 供电电路
控制单片机开始或停止工作
2) 时钟电路
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。
3) 复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
摘要 本设计以AT89S52单片机为中央控制器, 显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。整套系统由中央控制模块、LED显示模块、供电模块等部分构成。
*查看完整论文请+Q: 351916072
关键字:LED;AT89S52;视觉暂留;图案
一、 引言 1
(一) 背景 1
(二) 编写目的 1
(三) 设计思路 1
二、 系统硬件设计 2
(一) AT89S52单片机简介 2
1. AT89S52主要功能 2
2. AT89S52各引脚简介 2
3. AT89S52单片机的最小系统 3
(二) 电路设计 4
1. 基本原理图 4
2. 基本原理与硬件电路设计: 5
(三) 各部分功能 5
1. 按键模块 5
2. LED显示模块 6
3. 电源模块 6
4. 系统功能 6
三、 系统软件 7
(一) 主程序流程 7
(二) I/O口分布表: 8
(三) 程序简介: 8
四、 总结 9
五、 参考文献 9
六、 附录 10
(一) 附录一 10
(二) 附录二 16
(三) 附录三 20
一、引言
(一)背景
人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
本次摇摇棒的设计作为毕业论文的一部分,综合了模拟电子技术基础和数字电子技术等学科的知识,温固并进一步学习了protel软件的用法,初步了解以单片机为核心的电子系统体系,对已经学习的单片机技术有了初步的认识。
(二)编写目的
接下来我将用我所知道的以及参考书本所学得的C语言知识以及单片机的相关知识,来设计一个简单的用单片机控制的摇摇棒的程序。本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用 按键对所显示内容进行切换。
通过这次摇摇棒的编程及相关制作,来巩固我大学2年学习的相关知识,其中涉及到C语言编程,单片机课程,电路基础,单片机51系列仿真与应用等课程。同时在复习,巩固课程的同时,加入新的想法与设计,为以后的更专业更复杂的课程设计和工作需求打好基础。
(三)设计思路
本系统要求设计一个LED显示棒且需要有按键进行内容切换,它主要是由中央控制部分,LED驱动部分,LED显示部分以及电源部分组成。 单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
LED灯的选择:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济。
外部中断信号产生方式:通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。使用惯性开关。通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
抗重影方案的选择:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。
二、系统硬件设计
(一)AT89S52单片机简介
AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
1. AT89S52主要功能
(1)、拥有灵巧的8位CPU和在系统可编程Flash
(2)、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)
(3)、内部程序存储器(ROM)为 8KB
(4)、内部数据存储器(RAM)为 256字节
(5)、32 个可编程I/O 口线
(6)、8 个中断向量源
(7)、三个 16 位定时器/计数器
(8)、三级加密程序存储器
(9)、全双工UART串行通道
2. AT89S52各引脚简介
图2-1 AT89S52引脚图
AT89S52各引脚主要功能以及引脚图如图2-1所示:
1) VCC:
AT89S52电源正端输入,接+5V。
2) VSS:
电源地端。
3) RESET:
AT89S52的重置引脚,高电平动作
4) PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
5) PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
6) PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
7) PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
AT89S52单片机内部结构简图如图2-2所示
图2-2 AT89S52单片机内部结构简图
3. AT89S52单片机的最小系统
单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。单片机最小系统电路如图2-3所示。
1) 供电电路
控制单片机开始或停止工作
2) 时钟电路
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。
3) 复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4335.html