好文档 - 专业文书写作范文服务资料分享网站

51单片机(呼吸灯)C语言版要点 

天下 分享 时间: 加入收藏 我要投稿 点赞

.

.

基于单片机与PWM的呼吸灯设计

实训指导教师: 班 级: 设 计 人: 设 计 日 期: 设 计 地 点: 完 成 时 间: .

摘 要

本设计是基于单片机的原理与接口设计,采用单片机I/O口,加以C语言编程实现LED渐亮再渐暗类似人的呼吸一样的效果。

关 键 词

AT89C51,PWM(脉宽调制)

一、设计要求:

呼吸灯就是让LED灯的闪烁像呼吸一样,时呼时吸,时亮时暗,利用LED的余辉和人眼的暂留效应,看上去和人的呼吸一样。

二、设计原理:

用C语言编程实现PWM(脉宽调制)输出驱动LED,逐渐增加PWM的占空比从而实现LED模拟呼吸的过程,即渐亮再渐暗再渐亮再渐暗……如此往复,再利用LED的余辉和人眼的暂留效应,看上去就和人的呼吸一样。

三、整体方案设计

8个LED按照顺序逐个实现呼吸效果。加以其他闪烁花样增加更炫彩的效果。

四、实验元件及器材

(1)元件: LED(发光二极管) 8个

1KΩ电阻 8个

.

.

1nf电容 2个 晶振 1个 AT89C51芯片 1个 (2)器件:Atmega128开发板 1块 计算机 1台

五、硬件原理

(1)主电路:8个LED分别连接AT89C51的P1口,使用共阳方式,并加以1kΩ的电阻接入电源。

.

.

(2)时钟电路:外部时钟方式是使用外部振荡脉冲信号。

.

.

六、软件设计及系统仿真调试

(1)调试方法:利用keil软件进行C语言程序编写及调试,再利用Proteus仿真软件进行仿真实验。 (2)调试过程所遇问题:

1、由于呼吸灯的程序在仿真软件Proteus中实现的效果不明显,很难辨别LED是否具有呼吸的效果。所以边用keil调试程序边用STC烧写软件直接写入开发板,从而很明显看出LED是否具有呼吸效果;

2、程序运行时,出现LED闪烁过快,由于人眼的暂留效应看似LED全部一直亮着,经调试,修改延时时间,实现呼吸效果。

七、结论与心得

在本次设计中,C语言程序在开发板中得以实现应有的功能。在调试过程中,发现很多问题都是由于不细心导致的,因此在以后的设计方案中,要集中精力,莫粗心大意。再者就是知识量的不足,虽然是一个小小的设计方案,但是查阅了很多相关资料,在日后,要多充足自己的知识量,保证C程序的编写质量。

参考文献

[1]郭天祥,《新概念51单片机C语言教程》,电子工业,2009年1月 [2]徐爱钧,《单片机高级语言C51应用程序设计》,电子工业,2000年5月

附件A:呼吸灯设计电路图

.

51单片机(呼吸灯)C语言版要点 

..基于单片机与PWM的呼吸灯设计实训指导教师:班级:设计人:设计日期:设计地点:完成时
推荐度:
点击下载文档文档为doc格式
169151brx86cyp27lz4y3h0qq02ukg01btt
领取福利

微信扫码领取福利

微信扫码分享