1 / 26
文档名称:

单片机课程设计-8个LED灯来回点亮.doc

格式:doc   大小:1,397KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机课程设计-8个LED灯来回点亮.doc

上传人:儒林 2022/6/4 文件大小:1.36 MB

下载得到文件列表

单片机课程设计-8个LED灯来回点亮.doc

文档介绍

文档介绍:单片机课程设计-8个LED灯来回点亮
1
目录
绪论--------------------------------------------------------3
设计目的及要求-----------------置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅 数十μA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力。其原因是高电平时該脚也同时作输入脚使用,而输入脚必须具有高的输入阻抗,因而上拉的电流必须很小才行。作输出脚使用,欲进行高电平驱动时,得利用外电路来实现,如上拉电阻,I/O脚不通,电流经R驱动LED发光;低电平时,I/O脚导通,电流由该脚入地,LED灭(I/O脚导通时对地的电压降小于1V,~)
所以在本设计中将使用AT89C51为控制器,可将8个有着四种颜色的LED与AT89C51的8个P2(~)接口相连。
5
LED的显示
由于LED 具有亮度高、发光均匀、可靠性好、接线简单、拼装方便等优点。它被广泛应用于大型LED 智能显示屏、智能仪器仪表和机电一体化设备的显示单元中,取得了较好的效果。由于它经济、小型的显示系统,同时要求使用方便灵活,方便地组成了由多块大屏幕LED 显示器构成的显示系统,该系统可广泛用于商场、车站、码头及其它公共场合。
对于8个LED的点亮有很多种方案,可以同时点亮,同时熄灭,不同个数的LED来回交替。本设计由于LED的个数和颜色相对较多可以让8个LED从左到右然后再从右到左来回点亮。
6
第四章 硬件原理

原件名称
型号
参数
数量
单片机
AT89C51
12MHz
1
LED灯
LED
~10mA
8
晶体振荡器
CRYSTAL
12MHz
1
电容
CAP
22p
2
CAP-ELEC
10uf
1
电阻
RES
220
8
10K
1
单片机AT89C51
该单片机功能强大,不仅能满足设计的需要,也可以在设计要求的基础上进行一些扩展。
8
单片机的结构如下:
图 1单片机引脚图
在使用时VCC接电源电压,GND接地。P0,P1,P2,P3可作为输入或输出端口,RST是复位输入,接复位电路。XTAL1和XTAL2接复位电路。这些可以在硬件设计部分体现出来

单片机内部有在一个振荡器,本设计采用内部时钟方式,以12MHZ石英晶体振荡器和两个30PF的片电容组成外部电容的大小对振荡频率有微小影响,可起调节作用。
8
振荡器,如图所示。片内的高增益反向放大器通过XTAL1
和XTAL2外接,作为反馈元件的外部晶体振荡器与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。
如图;

AT89C51的RST引脚是复位端。当单片机振荡器工作时,该引脚上出现持续两个机械周期的高电平,就可以实现系统复位,使单片机快速回到初始状态。如图;
9

10
第五章 软件设计
程序流程图
11
开始
初始化
设置LED点亮位置 最左端

循环体
循环控制
结束


编辑源程序
程序利用循环移位函数_crol_和_cror_形成来回滚动的效果
13
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchar i;
13
P2=0x01;
while(1)
{for(i=0;i<7;i++)
{
P2=_crol_(P2,1); //P2 的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1); //P2 的值向右循环移动
DelayMS(150);
}
}
}
第六章 系统调试

14

,编译