51单片机32位流水灯



《51单片机32位流水灯》由会员分享,可在线阅读,更多相关《51单片机32位流水灯(35页珍藏版)》请在装配图网上搜索。
1、. 51单片机32位流水灯 摘要:随着电子工业的发展,电子元器件急剧增加,C51单片机应用非常广泛。本文介绍了一种简易的单片机应用的设计思路及硬件结构。首先研究了51单片机流水灯的基本原理,画出整机框图,接着提出系统的性能指标,计算确定电路形式和元器件参数,然后根据原理图通过Simulink软件进行建模仿真,验证系统的可行性。 关键字:C51;LED;Simulink软件;Protel99SE;引言1.1设计背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在我们的生活当中有许多地方要应用中到灯光,因此,设计全自动,可靠,安全,便捷的灯光效益具有
2、极大的现实必要性。 系统概述该系统主要有C51单片机,LED灯,晶振等。 ( 2.1设计目的1)掌握简易流水灯的工作原理,以及程序的编写等等。 ( 2)进一步熟悉和掌握常用数字电路元器件的应用;3)学习数字电路仿真、调试、测试、故障查找和排除的方法、技巧;4)培养实践技能,提高分析和解决实际问题的能力。 2.2设计内容及要求1、51单片机x1、40Pin座x12、LEDx32(建议用5mm七彩的)3、电阻470Ωx334、晶振12MHzx15、10uf电解电容x1、谐振瓷片电容30pfx2 6·其他的可以看自己的爱好去加 . 7、其实也可以不用那么多的电阻,用几个排阻就OK了。
3、 2.2电路原理图 . 2.2重要元器件介绍 . ( 1)C51单片机2)12MHZ晶振分为两种封装形式: SMD3225产品详细参数:频率范围:12~54MHz频率公差(25℃)±10ppm±30ppm,orspecify在工作温度范围内的频率稳定度:±10ppm±30ppm,orspecify工作温度范围:-20~+70oC,orspecify并联电容(C0):7pFMax. 驱动级:1~200μW(100μWtypical)负载电容:Series,8pF,12pF,15pF,20pF,orspecify老化(25℃):±3ppm/yearMax. 储存温度范围:-4
4、0~+85oC
.
SMD5032产品详细参数:
频率范围:12~54MHz频率公差(25℃)±10ppm±30ppm,orspecify在工作温度范围内的频率稳定度:±10ppm±30ppm,orspecify工作温度范围:-20~+70oC,orspecify并联电容(C0):7pFMax.
驱动级:1~200μW(100μWtypical)负载电容:Series,8pF,12pF,15pF,20pF,orspecify老化(25℃):±3ppm/yearMax.
储存温度范围:-40~+85oC实物
.
程序#include
5、gnedcharucharflag=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};//下uchar
6、codeTab4[]={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,0x
7、F8,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,
8、0xef,0xf7,0xfb,0xfd,0xfe};ucharcodeTab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////voidshansuo();voidxl();. 暗中左移向暗中右移向亮中左移向亮中右移向暗中左移向 . ///////////////////////////////////////////////////////////////voiddelay(void){unsignedcharm,n;
9、for(m=0;m 10、//////////////////////voidhy2(void)//暗中逆时针转360。(一个一个点亮){unsignedchari;for(flag=250;flag>0;flag=flag-50){P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab11[i];delay();}for(i=0;i<8;i++){P2=Tab11[i];delay();}for(i=0;i<8;i++)
{
.
P3=Tab22[i];delay();}for(i=0;i<8;i++){P1=Tab22[i];delay();}}flag 11、=250;}////////////////////////////////////////////////voidhy3(void)//点亮中逆时针转360°(一个一个灭){unsignedchari;flag=50;P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i<8;i++){P0=Tab44[i];delay();
}
.
for(i=0;i<8;i++){P2=Tab44[i];delay();}for(i=0;i<8;i++){P3=Tab33[i];delay();}for(i=0;i<8;i++){P1=Tab33[i];delay(); 12、}flag=150;}///////////////////////////////////////////////////voidhy4(void)//点亮状态顺时针旋转90度(一个一个灭){unsignedchari;for(i=0;i<8;i++)
.
{P1=Tab11[i];P0=Tab22[i];P3=Tab11[i];P2=Tab22[i];delay();}for(i=0;i<9;i++){P1=Tab6[i];P0=Tab5[i];P3=Tab6[i];P2=Tab5[i];delay();}}/////////////////////////////////////// 13、//voidhy2_1(void)//暗中逆时针转90度。(一个一个点亮){unsignedchari;flag=200;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<9;i++){P0=Tab11[i];
delay();
.
}flag=110;for(i=0;i<9;i++){P2=Tab11[i];delay();}flag=80;for(i=0;i<9;i++){P3=Tab22[i];delay();}flag=80;for(i=0;i<9;i++){P1=Tab22[i];delay();}}////////////////////// 14、//////////////////////////
voidhy2_2(void)//暗中逆时针转180度。(一个一个点亮)
.
{unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab11[i];delay();}for(i=0;i<8;i++){P2=Tab11[i];delay();}P0=0xff;P2=0xff;for(i=0;i<8;i++){P3=Tab22[i];delay();}for(i=0;i<8;i++){
P1=Tab22[i];
.
delay();}P1=0xff;P 15、3=0xff;}///////////////////////////////////////////////////voidhy2_3(void)//暗中向下180。(一个一个点亮){unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab11[i];P1=Tab11[i];delay();}for(i=0;i<8;i++){P2=Tab11[i];P3=Tab11[i];delay();}
///////////////////////
.
flag=100;for(i=0;i<8;i++){P2=Ta 16、b33[i];P3=Tab33[i];delay();}for(i=0;i<8;i++){P0=Tab33[i];P1=Tab33[i];delay();flag=200;}}///////////////////////////////////////////////////voidhy2_4(void)//暗中逆时针转360。(一个一个点亮){unsignedchari;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){
.
P0=Tab11[i];P3=Tab22[i];delay();}for(i=0;i<8;i++){P2=Tab1 17、1[i];P1=Tab22[i];delay();}///////////////////////flag=100;for(i=0;i<8;i++){P0=Tab44[i];P3=Tab5[i];delay();}for(i=0;i<8;i++){P2=Tab44[i];
P1=Tab5[i];
.
delay();}flag=200;}///////////////////////////////////voidhy5(void)//先向下伸展,然后向上伸展逐渐点亮{unsignedchari;for(i=0;i<8;i++){P0=Tab8[i];P1=Tab8[i];delay() 18、;}P0=0xff;P1=0xff;for(i=0;i<8;i++){P2=Tab8[i];
P3=Tab8[i];
.
delay();}P2=0xff;P3=0xff;for(i=0;i<8;i++){P2=Tab7[i];P3=Tab7[i];delay();}P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab7[i];P1=Tab7[i];delay();}P0=0xff;P1=0xff;}
/////////////////////////////
.
voidjr(void)//聚拢{unsignedchari;for(i=0;i<9;i++ 19、)//8位控制码{P0=Tab1[i];P1=Tab1[i];P2=Tab2[i];P3=Tab2[i];delay();}for(i=0;i<9;i++){P0=Tab2[i];P1=Tab2[i];P2=Tab1[i];P3=Tab1[i];delay();}///////////////////////////for(i=0;i<9;i++){P0=Tab1[i];P1=Tab1[i];P2=Tab2[i];P3=Tab2[i];delay();
}
.
for(i=0;i<9;i++){P0=Tab2[i];P1=Tab2[i];P2=Tab1[i];P3=Tab1[i];del 20、ay();}xl();//星星眨眼xl();//星星眨眼///////////////////////////for(i=0;i<9;i++){P0=Tab3[i];P1=Tab3[i];P2=Tab4[i];P3=Tab4[i];delay();}for(i=0;i<9;i++){P0=Tab4[i];P1=Tab4[i];P2=Tab3[i];P3=Tab4[i];delay();}
////////////////////////////////
.
for(i=0;i<9;i++){P0=Tab1[i];P1=Tab1[i];P2=Tab2[i];P3=Tab2[i];delay 21、();}for(i=0;i<9;i++){P0=Tab4[i];P1=Tab4[i];P2=Tab3[i];P3=Tab3[i];delay();}/////////////////////////////for(i=0;i<9;i++){P0=Tab3[i];P1=Tab3[i];P2=Tab4[i];P3=Tab4[i];delay();}for(i=0;i<9;i++)
{
.
P0=Tab2[i];P1=Tab2[i];P2=Tab1[i];P3=Tab1[i];delay();}}////////////////////////////////////voidazzy(void 22、)//暗中向下{unsignedchari;flag=200;for(i=0;i<8;i++){P2=0xff;P3=0xff;P1=Tab1[i];P0=Tab1[i];delay();}for(i=0;i<9;i++){P1=0xff;P0=0xff;P2=Tab1[i];P3=Tab1[i];delay();
}
.
}/////////////////////////////////voidazyy(void)//暗中you移{unsignedchari;for(i=0;i<8;i++){P0=0xff;P1=0xff;P2=Tab2[i];P3=Tab2[i];delay(); 23、}for(i=0;i<9;i++){P0=Tab2[i];P1=Tab2[i];delay();}}//////////////////////////////////voidled_flow1(void){unsignedchari;for(i=0;i<9;i++)
.
{P2=0;P3=0;P1=Tab3[i];P0=Tab3[i];delay();}for(i=0;i<9;i++){P2=Tab3[i];P3=Tab3[i];delay();}}///////////////////////////////////voidlzyy(void)//亮中右移{unsignedchari; 24、for(i=0;i<9;i++){P0=0x00;P1=0x00;P2=Tab4[i];P3=Tab4[i];delay();}
for(i=0;i<9;i++)
.
{P0=Tab4[i];P1=Tab4[i];delay();}}//////////////////////////////////voidshansuo(void)//全部灯闪烁{uchari;for(i=0;i<3;i++){
P0=0xff;P1=0xff;
P2=0xff;
P3=0xff;
delay();delay();
P0=0x00;P1=0x00;
P2=0x00;
P3=0 25、x00;
delay();delay();
}}
voidxl(void)//相邻俩个变换{uchari;for(i=0;i<3;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();dela 26、y();for(i=0;i<8;i++){P0=Tab11[i];P1=Tab11[i];delay();}for(i=0;i<8;i++)
{
.
P0=Tab11[i];P1=Tab11[i];delay();}for(i=0;i<8;i++){P0=Tab11[i];P1=Tab11[i];delay();}for(i=0;i<3;i++){P0=0x00;P1=0x00;delay();delay();P0=0xff;P1=0xff;delay();delay();}}//////////////////////////////voidjc(void)//{uchari;
.
27、
for(i=0;i<3;i++){P0=0x00;P3=0x00;P1=0xff;P2=0xff;delay();delay();delay();delay();P1=0x00;P2=0x00;P0=0xff;P3=0xff;delay();delay();delay();delay();}}/////////////////////////////////voidazzy_1(void)//暗中向下{unsignedchari,i1;for(flag=80;flag>0;flag=flag-10){for(i=0;i<8;i++){
.
P2=0xff;P3=0xff;P1=Tab1[ 28、i];P0=Tab1[i];delay();}for(i=0;i<9;i++){P1=0xff;P0=0xff;P2=Tab1[i];P3=Tab1[i];delay();}}flag=10;for(i1=0;i1<30;i1++){for(i=0;i<8;i++){P2=0xff;P3=0xff;P1=Tab1[i];P0=Tab1[i];delay();}for(i=0;i<9;i++)
{
.
P1=0xff;P0=0xff;P2=Tab1[i];P3=Tab1[i];delay();}}flag=200;}/////////////////////////////voidjs(v 29、oid)//结束{uchari;hy2_3();for(i=0;i<3;i++){P0=0xff;P2=0xff;delay();delay();P0=0x00;P2=0x00;delay();delay();}///////////////////for(i=0;i<3;i++){
.
P1=0xff;P3=0xff;delay();delay();P1=0x00;P3=0x00;delay();delay();}//////////////////for(i=0;i<3;i++){P1=0x00;P3=0x00;P0=0x00;P2=0x00;delay();delay();P1=0x 30、ff;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();h 31、y2_4();///////////////////////////////////////////////hy1();//暗中状态逆时针旋转90度(一个一个亮)jc();//交叉四叶草hy1();hy4();//点亮状态顺时针旋转90度(一个一个灭?
jc();hy4();//////////////////////////////////////////////hy5();//先向下伸展,然后向上伸展逐渐点亮jr();/////////////////////////////////////////////////azzy();//暗中向下边伸展azyy();//暗中向上伸展
//// 32、//////////////////////////////////////////////
.
xl();//相邻变换(星星眨眼)shansuo();//全部灯闪烁(一亮一灭)/////////////////////////////////////////////////////led_flow1();//亮中向下lzyy();//亮中向上led_flow1();//亮中向下azyy();//暗中向上shansuo();///////////////////////////////////////sxb();//上下半azzy();//暗中向下lzyy();//亮中向上azzy();//暗中向下lzyy();//亮中向上///////////////////////////////////////shansuo();//闪烁azyy();//暗中向上lzyy();//亮中向上azyy();//暗中向上lzyy();//亮中向上shansuo();
js();//结束
.
}}结束语5.1设计总结经过两周的辛勤设计,我终于收获了成果。我们从头到尾都是一步一步踏踏
实实走过来的,首先通过参考各方面得资料,最后还原到课本,分析自己所熟悉的电路模块,查看其工作原理和其他相关器件所具有的功能。既丰富了自己的知识,同时也给本次设计提供了参考。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。