版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、+-班 设 设 设 宀兀计 计 计 成基于单片机与PWM的呼吸灯设计实训指导教师:级:人姓名:日期:地点:时间:本设计是基于单片机的原理与接口设计,采用单片机I/O 口,加以C 语言编程实现LED渐亮再渐暗类似人的呼吸一样的效果。关键词AT89C51, PWM水宽调制)呼吸灯就是让LED灯的闪烁像呼吸一样,时呼时吸,时亮时暗,利用LED的余辉和人眼的暂留效应,看上去和人的呼吸一样。用C语言编程实现PWM脉宽调制)输出驱动LED逐渐增加PWM勺占空 比从而实现LED模拟呼吸的过程,即渐亮再渐暗再渐亮再渐暗如此往 复,再利用LED的余辉和人眼的暂留效应,看上去就和人的呼吸一样。二、整体方案设计8个
2、LED按照顺序逐个实现呼吸效果。加以其他闪烁花样增加更炫彩的效果。四、实验元件及器材(1)元件:LED (发光二极管)1K Q电阻1nf 电容晶振AT89C51 芯片(2)器件:Atmega128开发板计算机五、硬件原理(1)主电路:8个LED分别连接AT89C51的P1 口,使用共阳方式,并加以1kQ的电阻接入电源。R1D1ATS9C9RST-YELLOWaaIkR5IkIkIk_匚7 -R3Ik- 一匚7R7YELLOW-YELLOW-YELLOWfR6R22IkF 7>LED YELLOW.>aAL1|-InF .J -634501234567-R4-YELLOW(2)时钟电
3、路:外部时钟方式是使用外部振荡脉冲信号。霊T:斗_ 丄一皿niC2TP18ZrAL2Cl,.InF . . , _L. /TE/:T:- . . I1六、软件设计及系统仿真调试(1)调试方法:利用keil软件进行C语言程序编写及调试,再利用Proteus仿真软件进行仿真实验。(2)调试过程所遇问题:1、由于呼吸灯的程序在仿真软件Proteus中实现的效果不明显,很难辨别LED是否具有呼吸的效果。所以边用keil调试程序边用STC烧写软件直接写入开发板,从而很明显看出 LED是否具有呼吸效果;2、程序运行时,出现LED闪烁过快,由于人眼的暂留效应看似 LED全部一直亮着,经调试,修改延时时间,实
4、现呼吸效果。Lj、结论与心得在本次设计中,C语言程序在开发板中得以实现应有的功能。在调试过程中,发现很多问题都是由于不细心导致的,因此在以后的设计方案中, 要集中精力,莫粗心大意。再者就是知识量的不足,虽然是一个小小的设 计方案,但是查阅了很多相关资料,在日后,要多充足自己的知识量,保 证C程序的编写质量。+-参考文献1郭天祥,新概念51单片机C语言教程,电子工业出版社,20092徐爱钧,单片机高级语言C51应用程序设计,电子工业出版社,2000年5月A:呼吸灯设计电路图Cl2DICRYST/lLtbct:,ie1G>XTAL1 Ik- . rEXT-R2 InFU-rprRSIPDJJ
5、/ADOPD.I/AD1PD.2/AD2P0.3ZAD3 PD.47AE4PD.5/AD5 PD.&/AKP0.7/AD73635uJI32 Ik- -:rIFIk -1三Q R4 汕31PSENALE EA Ik - :- RS -YELLOW .P2D/18P2,1 临P2 2/A10P2 3/AllPi 4/A12P2 S/A13P2.e/AHP2 7/A1521'H23i43Sje272 Ik - TR 口' ; .RE .Hh Ik YELLCWYELLOW114s1TI夕 4牛 01 PP P pppppP3.CJR)O pg.trrw P3.I/INTD
6、PS3?EfnTP3 4/raP3空P$厲極P3 一疯10辽n13nnie17Ik -' RS - Ik -' <TE/T>'憂YELLCW .- - .IIJILED-YELLOW . ;fS;r?附件B:C语言程序清单#in cludevreg51.h>/*定义单片机引脚*/sbit LEDO=PMO;sbit LED1= PIM;sbit LED2=P1八2;sbit LED3=P 1八3;sbit LED4=P1八4;sbit LED5=P 1八5;sbit LED6=P1八6;sbit LED7=P 1八7;函数声明void Delay (u
7、n sig ned int t); /un sig ned int z,y;void main (void)/ 主函数+-unsigned int CYCLE=500,PWM_LOW=0;/ 定义周期并赋值/*while (1)/主循环整排LED灯呼吸*/Delay( PWM_LOW);P1=0x00;Delay(500);/加延时,可以看到熄灭的过程(下面程序同理)for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+) /PWM表示WP1=0x00;Delay( PWM_LOW);P1=0xff;Delay(CYCLE-PWM_LOW);P1=0xff;for(P
8、WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-与逐渐变亮相反的过程P1=0x00;点亮LED+-Delay(CYCLE-PWM_LOW);/主循环中添加其他需要P1=0xff;/熄灭LEDLED0=#;Delay( PWM_LOW);一直工作的程序,延时长度,600次循环中从599减至1/*第一颗LED灯呼吸*/LED0=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)LED0=0;Delay( PWM_LOW);LED0=1;Delay(CYCLE-PWM_LOW);LED0=0;for(P WM_LOW
9、=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED0=1;+-Delay(CYCLE-PWM_LOW);LED1=1;Delay(CYCLE-PWM_LOW);/*第二颗LED灯呼吸*/LED1=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)LED1=0;Delay( PWM_LOW);LED1=1;Delay(CYCLE-PWM_LOW);LED1=0;for(P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED1=0;Delay( PWM_LOW);+-/*第三颗LED灯呼
10、吸*/LED2=1;Delay(500);for(P WM_L0W=1; PWM_LOWvCYCLE; PWM_LOW+)LED2=0;Delay( PWM_LOW);LED2=1;Delay(CYCLE-PWM_LOW);LED2=0;for(P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED2=0;Delay( PWM_LOW);LED2=1;Delay(CYCLE-PWM_LOW);/*第四颗LED灯呼吸*/+-LED3=1;Delay(500);for(P WM_L0W=1; PWM_LOWvCYCLE; PWM_LOW+)LED3=0;Delay
11、( PWM_LOW);LED3=1;Delay(CYCLE-PWM_LOW);LED3=0;for(P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED3=0;Delay( PWM_LOW);LED3=1;Delay(CYCLE-PWM_LOW);/*第五颗LED灯呼吸*/LED4=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)+-LED4=0;Delay( PWM_LOW);LED5=0;Delay( PWM_LOW);LED4=1;Delay(CYCLE-PWM_LOW);LED4=0;for(
12、P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED4=0;Delay( PWM_LOW);LED4=1;Delay(CYCLE-PWM_LOW);/*第六颗LED灯呼吸*/LED5=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)+-LED5=1;Delay(CYCLE-PWM_LOW);LED5=0;for(P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED5=0;Delay( PWM_LOW);LED5=1;Delay(CYCLE-PWM_LOW);/*第七
13、颗LED灯呼吸*/LED6=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)LED6=0;Delay( PWM_LOW);LED6=1;Delay(CYCLE-PWM_LOW);+-LED6=0;for(P WM_L0W=CYCLE-1; PWM_LOW>0; PWM_LOW-)LED6=0;Delay( PWM_LOW);LED6=1;Delay(CYCLE-PWM_LOW);/*第八颗LED灯呼吸*/LED7=0;LED7=1;Delay(500);for(P WM_LOW=1; PWM_LOWvCYCLE; PWM_LOW+)LED7=0;Delay( PWM_LOW);LED7=1;Delay(CYCLE-PWM_LOW);for(P WM_LOW=CYCLE-1; PWM_LOW>0; PWM_LOW-)+-LED7=0;Delay( PWM_LOW);LED7=1;Delay(CYCLE-PWM_LOW);P1=0x00;for(z=500;z>0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆迁合同的修改与终止
- 2024【变压器租赁合同范本】变压器安装合同范本
- 市场租赁合同纠纷处理指南
- 2024年家政服务合同协议书
- 2024技术顾问聘用合同书范文
- 办公家具项目合作意向书
- 2024年房屋分配合同模板
- 劳动合同解除与经济补偿
- 数据录入与维护服务合同范本
- 二手工作服购销合同
- 道德与法治八上八上8.2《坚持国家利益至上》教学设计
- 2024年全国各地中考试题分类汇编:作文题目
- 工程代收款付款协议书范文模板
- GB/T 19274-2024土工合成材料塑料土工格室
- 全套教学课件《工程伦理学》
- 2024-2030年中国青霉素行业深度调研及投资前景预测研究报告
- GB/T 42455.2-2024智慧城市建筑及居住区第2部分:智慧社区评价
- 2024年认证行业法律法规及认证基础知识
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- YYT 0653-2017 血液分析仪行业标准
- 刑事受害人授权委托书范本
评论
0/150
提交评论