单片机课程设计-16个LED灯的多样显示控制器
- 格式:doc
- 大小:2.07 MB
- 文档页数:23
可编辑
精品文档 信 息 工 程 学 院
课 程 设 计 报 告
设计题目: 节日彩灯控制器设计
名 称: 电子信息工程专业综合课程设计(1)
班 级:
姓 名:
学 号:
设计时间: 2016.06.22
指导教师:
评 语:
评阅成绩: 评阅教师:
可编辑
精品文档 可编辑
精品文档 目录
一、课程设计的性质和目的 .................................................................... 1
二、课程设计的要求 ............................................................................. 1
2.1 设计题目 ...................................................................................... 1
2.2 设计要求 ...................................................................................... 1
三、主要仪器设备及软件 ....................................................................... 1
四、课题分析及设计 ............................................................................. 2
4.1 设计任务 ...................................................................................... 2
4.2 设计方案 ...................................................................................... 2
4.3 系统硬件设计 ................................................................................ 2
4.3.1 单片机最小系统 .................................................................................. 3
4.3.2 控制电路介绍 ..................................................................................... 6
4.3.3 Proteus电路仿真图 ............................................................................ 7
4.4 软件设计 ...................................................................................... 7
4.4.1 程序流程图 ........................................................................................ 7
4.4.2 软件程序及分析 .................................................................................. 8
五、组装调试 .................................................................................... 12
5.1 硬件 .......................................................................................... 12 可编辑
精品文档 六、总结 ........................................................................................... 13
可编辑
精品文档 一、课程设计的性质和目的
学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力;掌握汇编语言程序设计方法;培养实践技能,提高分析和解决实际问题的能力。
二、课程设计的要求
2.1 设计题目
节日彩灯控制器设计。
2.2 设计要求
设计一个16个LED灯的多样显示控制器。
1.选择两个I/O端口控制16个LED流水灯。
2.设置四个按键K1~K4,按下K1跑马灯,K2鸳鸯戏水,K3双流水灯,K4则循环三种控制方式。
3.跑马灯:共16个LED逐次点亮,每隔100ms点亮一个LED,点亮100ms后关闭,然后继续上次操作。
4.鸳鸯戏水灯:第一次单数灯点亮,延时100ms,关闭,然后双数灯点亮,延时100ms,关闭,然后继续上次操作。
5.双流水灯:16个LED依次向中间点亮,间隔100ms,再依次向两边扩散点亮,间隔100ms,然后继续上次操作。 可编辑
精品文档 三、主要仪器设备及软件
计算机、KeilC51软件、Proteus软件、单片机AT89C51、LED灯、电阻、拨码开关、晶振。
四、课题分析及设计
4.1 设计任务
彩灯用16个发光二极管代替;电路具有控制16个LED灯逐个点亮、单数点亮、双数点亮、扩散点亮等功能(用4个按键切换LED显示状态);彩灯两灯移动时间间隔为100ms。
4.2 设计方案
本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有16个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让接在P0.0口和P2.0口的16个LED亮起来,那么只要把P0.0口和P2.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7口的其他7个LED的点亮和熄灭的方法同以上LED。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED16依次点亮、熄灭,16只LED灯便会一亮一暗的做流水灯或跑马灯了。同样的道理,可以让16个灯上移或下移点亮,全亮、全灭。 可编辑
精品文档 在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
4.3 系统硬件设计
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash
Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图4.1所示。
图4.1 AT89C51单片机芯片引脚 可编辑
精品文档 4.3.1 单片机最小系统
(1)P0口介绍
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义4为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻
(2)P1口介绍
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。
(3)P2口介绍
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(4)P3口介绍
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门可编辑
精品文档 电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口。
复位系统
(5)上电复位电路
AT89C51的上电复位电路如图4.2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在如图的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。