51单片机32位流水灯

上传人:d**** 文档编号:88370532 上传时间:2022-05-10 格式:DOCX 页数:35 大小:222.21KB
返回 下载 相关 举报
51单片机32位流水灯_第1页
第1页 / 共35页
51单片机32位流水灯_第2页
第2页 / 共35页
51单片机32位流水灯_第3页
第3页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.51单片机32位流水灯摘要:随着电子工业的发展,电子元器件急剧增加,C51单片机应用非常广泛。本文介绍了一种简易的单片机应用的设计思路及硬件结构。首先研究了51单片机流水灯的基本原理,画出整机框图,接着提出系统的性能指标,计算确定电路形式和元器件参数,然后根据原理图通过Simulink软件进行建模仿真,验证系统的可行性。关键字:C51;LED;Simulink软件;Protel99SE;引言1.1设计背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在我们的生活当中有许多地方要应用中到灯光,因此,设计全自动,可靠,安全,便捷的灯光效益具有极大的现实必要性。系统概述该系统主要有C51单片机,LED灯,晶振等。( 2.1设计目的1)掌握简易流水灯的工作原理,以及程序的编写等等。( 2)进一步熟悉和掌握常用数字电路元器件的应用;3)学习数字电路仿真、调试、测试、故障查找和排除的方法、技巧;4)培养实践技能,提高分析和解决实际问题的能力。2.2设计内容及要求1、51单片机x1、40Pin座x12、LEDx32(建议用5mm七彩的)3、电阻470x334、晶振12MHzx15、10uf电解电容x1、谐振瓷片电容30pfx26其他的可以看自己的爱好去加.7、其实也可以不用那么多的电阻,用几个排阻就OK了。2.2电路原理图.2.2重要元器件介绍.( 1)C51单片机2)12MHZ晶振分为两种封装形式:SMD3225产品详细参数:频率范围:1254MHz频率公差(25)10ppm30ppm,orspecify在工作温度范围内的频率稳定度:10ppm30ppm,orspecify工作温度范围:-20+70oC,orspecify并联电容(C0):7pFMax.驱动级:1200W(100Wtypical)负载电容:Series,8pF,12pF,15pF,20pF,orspecify老化(25):3ppm/yearMax.储存温度范围:-40+85oC.SMD5032产品详细参数:频率范围:1254MHz频率公差(25)10ppm30ppm,orspecify在工作温度范围内的频率稳定度:10ppm30ppm,orspecify工作温度范围:-20+70oC,orspecify并联电容(C0):7pFMax.驱动级:1200W(100Wtypical)负载电容:Series,8pF,12pF,15pF,20pF,orspecify老化(25):3ppm/yearMax.储存温度范围:-40+85oC实物.程序#include#defineucharunsignedcharucharflag=200;/ucharcodeTab1=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF;/下ucharcodeTab2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF;/上ucharcodeTab3=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00;/下ucharcodeTab4=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00;/上ucharcodeTab11=0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff;/下ucharcodeTab22=0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff;/ucharcodeTab33=0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF;ucharcodeTab44=0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF;ucharcodeTab55=0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff;ucharcodeTab5=0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff;ucharcodeTab6=0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff;ucharcodeTab7=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;ucharcodeTab8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/voidshansuo();voidxl();.暗中左移向暗中右移向亮中左移向亮中右移向暗中左移向./voiddelay(void)unsignedcharm,n;for(m=0;mflag;m+)for(n=0;n250;n+);/voidhy1(void)/点亮状态逆时针旋转90度(一个一个灭)unsignedchari;for(i=0;i8;i+)P0=Tab11i;P1=Tab22i;P2=Tab11i;P3=Tab22i;delay();for(i=0;i0;flag=flag-50)P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i8;i+)P0=Tab11i;delay();for(i=0;i8;i+)P2=Tab11i;delay();for(i=0;i8;i+).P3=Tab22i;delay();for(i=0;i8;i+)P1=Tab22i;delay();flag=250;/voidhy3(void)/点亮中逆时针转360(一个一个灭)unsignedchari;flag=50;P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i8;i+)P0=Tab44i;delay();.for(i=0;i8;i+)P2=Tab44i;delay();for(i=0;i8;i+)P3=Tab33i;delay();for(i=0;i8;i+)P1=Tab33i;delay();flag=150;/voidhy4(void)/点亮状态顺时针旋转90度(一个一个灭)unsignedchari;for(i=0;i8;i+).P1=Tab11i;P0=Tab22i;P3=Tab11i;P2=Tab22i;delay();for(i=0;i9;i+)P1=Tab6i;P0=Tab5i;P3=Tab6i;P2=Tab5i;delay();/voidhy2_1(void)/暗中逆时针转90度。(一个一个点亮)unsignedchari;flag=200;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i9;i+)P0=Tab11i;delay();.flag=110;for(i=0;i9;i+)P2=Tab11i;delay();flag=80;for(i=0;i9;i+)P3=Tab22i;delay();flag=80;for(i=0;i9;i+)P1=Tab22i;delay();/voidhy2_2(void)/暗中逆时针转180度。(一个一个点亮).unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i8;i+)P0=Tab11i;delay();for(i=0;i8;i+)P2=Tab11i;delay();P0=0xff;P2=0xff;for(i=0;i8;i+)P3=Tab22i;delay();for(i=0;i8;i+)P1=Tab22i;.delay();P1=0xff;P3=0xff;/voidhy2_3(void)/暗中向下180。(一个一个点亮)unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i8;i+)P0=Tab11i;P1=Tab11i;delay();for(i=0;i8;i+)P2=Tab11i;P3=Tab11i;delay();/.flag=100;for(i=0;i8;i+)P2=Tab33i;P3=Tab33i;delay();for(i=0;i8;i+)P0=Tab33i;P1=Tab33i;delay();flag=200;/voidhy2_4(void)/暗中逆时针转360。(一个一个点亮)unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i8;i+).P0=Tab11i;P3=Tab22i;delay();for(i=0;i8;i+)P2=Tab11i;P1=Tab22i;delay();/flag=100;for(i=0;i8;i+)P0=Tab44i;P3=Tab5i;delay();for(i=0;i8;i+)P2=Tab44i;P1=Tab5i;.delay();flag=200;/voidhy5(void)/先向下伸展,然后向上伸展逐渐点亮unsignedchari;for(i=0;i8;i+)P0=Tab8i;P1=Tab8i;delay();P0=0xff;P1=0xff;for(i=0;i8;i+)P2=Tab8i;P3=Tab8i;.delay();P2=0xff;P3=0xff;for(i=0;i8;i+)P2=Tab7i;P3=Tab7i;delay();P2=0xff;P3=0xff;for(i=0;i8;i+)P0=Tab7i;P1=Tab7i;delay();P0=0xff;P1=0xff;/.voidjr(void)/聚拢unsignedchari;for(i=0;i9;i+)/8位控制码P0=Tab1i;P1=Tab1i;P2=Tab2i;P3=Tab2i;delay();for(i=0;i9;i+)P0=Tab2i;P1=Tab2i;P2=Tab1i;P3=Tab1i;delay();/for(i=0;i9;i+)P0=Tab1i;P1=Tab1i;P2=Tab2i;P3=Tab2i;delay();.for(i=0;i9;i+)P0=Tab2i;P1=Tab2i;P2=Tab1i;P3=Tab1i;delay();xl();/星星眨眼xl();/星星眨眼/for(i=0;i9;i+)P0=Tab3i;P1=Tab3i;P2=Tab4i;P3=Tab4i;delay();for(i=0;i9;i+)P0=Tab4i;P1=Tab4i;P2=Tab3i;P3=Tab4i;delay();/.for(i=0;i9;i+)P0=Tab1i;P1=Tab1i;P2=Tab2i;P3=Tab2i;delay();for(i=0;i9;i+)P0=Tab4i;P1=Tab4i;P2=Tab3i;P3=Tab3i;delay();/for(i=0;i9;i+)P0=Tab3i;P1=Tab3i;P2=Tab4i;P3=Tab4i;delay();for(i=0;i9;i+).P0=Tab2i;P1=Tab2i;P2=Tab1i;P3=Tab1i;delay();/voidazzy(void)/暗中向下unsignedchari;flag=200;for(i=0;i8;i+)P2=0xff;P3=0xff;P1=Tab1i;P0=Tab1i;delay();for(i=0;i9;i+)P1=0xff;P0=0xff;P2=Tab1i;P3=Tab1i;delay();./voidazyy(void)/暗中you移unsignedchari;for(i=0;i8;i+)P0=0xff;P1=0xff;P2=Tab2i;P3=Tab2i;delay();for(i=0;i9;i+)P0=Tab2i;P1=Tab2i;delay();/voidled_flow1(void)unsignedchari;for(i=0;i9;i+).P2=0;P3=0;P1=Tab3i;P0=Tab3i;delay();for(i=0;i9;i+)P2=Tab3i;P3=Tab3i;delay();/voidlzyy(void)/亮中右移unsignedchari;for(i=0;i9;i+)P0=0x00;P1=0x00;P2=Tab4i;P3=Tab4i;delay();for(i=0;i9;i+).P0=Tab4i;P1=Tab4i;delay();/voidshansuo(void)/全部灯闪烁uchari;for(i=0;i3;i+)P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay();delay();P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay();delay();voidxl(void)/相邻俩个变换uchari;for(i=0;i3;i+).P0=0xAA;P1=0xAA;P2=0xAA;P3=0xAA;delay();delay();P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay();delay();/voidsxb(void)/上下半unsignedchari;P0=0xff;P1=0xff;P2=0x00;P3=0x00;delay();delay();delay();delay();for(i=0;i8;i+)P0=Tab11i;P1=Tab11i;delay();for(i=0;i8;i+).P0=Tab11i;P1=Tab11i;delay();for(i=0;i8;i+)P0=Tab11i;P1=Tab11i;delay();for(i=0;i3;i+)P0=0x00;P1=0x00;delay();delay();P0=0xff;P1=0xff;delay();delay();/voidjc(void)/uchari;.for(i=0;i0;flag=flag-10)for(i=0;i8;i+).P2=0xff;P3=0xff;P1=Tab1i;P0=Tab1i;delay();for(i=0;i9;i+)P1=0xff;P0=0xff;P2=Tab1i;P3=Tab1i;delay();flag=10;for(i1=0;i130;i1+)for(i=0;i8;i+)P2=0xff;P3=0xff;P1=Tab1i;P0=Tab1i;delay();for(i=0;i9;i+).P1=0xff;P0=0xff;P2=Tab1i;P3=Tab1i;delay();flag=200;/voidjs(void)/结束uchari;hy2_3();for(i=0;i3;i+)P0=0xff;P2=0xff;delay();delay();P0=0x00;P2=0x00;delay();delay();/for(i=0;i3;i+).P1=0xff;P3=0xff;delay();delay();P1=0x00;P3=0x00;delay();delay();/for(i=0;i3;i+)P1=0x00;P3=0x00;P0=0x00;P2=0x00;delay();delay();P1=0xff;P3=0xff;P0=0xff;P2=0xff;delay();delay();/voidmain(void)while(1)azzy_1();./hy2();/暗中逆时针转360(一个一个点亮)hy3();/点亮中逆时针转360(一个一个灭)hy2_1();/暗中逆时针转90度。(一个一个点亮)hy2_2();/暗中逆时针转180度。(一个一个点亮)hy2_3();/暗中向下180。(一个一个点亮)hy3();hy2_4();/hy1();/暗中状态逆时针旋转90度(一个一个亮)jc();/交叉四叶草hy1();hy4();/点亮状态顺时针旋转90度(一个一个灭?jc();hy4();/hy5();/先向下伸展,然后向上伸展逐渐点亮jr();/azzy();/暗中向下边伸展azyy();/暗中向上伸展/.xl();/相邻变换(星星眨眼)shansuo();/全部灯闪烁(一亮一灭)/led_flow1();/亮中向下lzyy();/亮中向上led_flow1();/亮中向下azyy();/暗中向上shansuo();/sxb();/上下半azzy();/暗中向下lzyy();/亮中向上azzy();/暗中向下lzyy();/亮中向上/shansuo();/闪烁azyy();/暗中向上lzyy();/亮中向上azyy();/暗中向上lzyy();/亮中向上shansuo();js();/结束.结束语5.1设计总结经过两周的辛勤设计,我终于收获了成果。我们从头到尾都是一步一步踏踏实实走过来的,首先通过参考各方面得资料,最后还原到课本,分析自己所熟悉的电路模块,查看其工作原理和其他相关器件所具有的功能。既丰富了自己的知识,同时也给本次设计提供了参考。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!