单片机课程设计简易节日彩灯.doc

上传人:文库蛋蛋多 文档编号:3936459 上传时间:2023-03-28 格式:DOC 页数:7 大小:43KB
返回 下载 相关 举报
单片机课程设计简易节日彩灯.doc_第1页
第1页 / 共7页
单片机课程设计简易节日彩灯.doc_第2页
第2页 / 共7页
单片机课程设计简易节日彩灯.doc_第3页
第3页 / 共7页
单片机课程设计简易节日彩灯.doc_第4页
第4页 / 共7页
单片机课程设计简易节日彩灯.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《单片机课程设计简易节日彩灯.doc》由会员分享,可在线阅读,更多相关《单片机课程设计简易节日彩灯.doc(7页珍藏版)》请在三一办公上搜索。

1、单片机课程设计节日彩灯一、 需求分析:1. 应用场合应用于各种场合,如学校,企事业单位,家庭等可以应用于节日彩灯的控制、广告灯控制等场所。2. 设计目的1) 了解单片机的基本原理以及基本应用;2) 提高动手制作单片机开发板的能力;3) 掌握基本I/O口的输入输出方法;4) 掌握中断的处理方法以及编程方法;5) 掌握焊接单片机开发板所需要的最基本的最小系统电路。3. 立题意义通过这个实验,能够对同学们的动手能力有所提高和培养,提高同学对单片机的基本原理的理解,学会一些单片机的简单应用。二、 硬件设计方案在设计中用到单片机最小系统:复位电路以及时钟(晶振)电路、程序烧写电路以及各种颜色的彩灯。复位

2、电路:复位是单片机的初始化操作,目的是使CPU以及各个寄存器处于一个确定的初始状态。分为手动复位方式和上电自动方式。时钟电路:51单片机的时钟信号可由芯片内部的震荡电路产生,也可以由外部产生。程序烧写电路:在使用串口进行烧写电路时,用到MAX232芯片以及几个104瓷片电容。用STC软件进行程序烧写。硬件所用器件:万用板1块AT89C52芯片1块开关1个导线5米12MHz晶振1个51芯片座1个1K排阻1个Led彩灯30个按键2个1K电阻1个10K电阻5个470欧电阻40个瓷片电容6个5V电源1个电解电容1个三、 软件设计方案首先单片机执行四种方案的程序等待中断。中断中判断是第几次执行相应的程序

3、。程序流程图如图所示:图1-1 程序流程图四、 系统调试问题一:在焊接电路过程中,电源正负极电压为2V解决方法:在焊接中将电源指示灯直接连接在正负极上,没有加限流电阻导致,经修改后电路正常。问题二:在系统软件调试中,中断执行时不能返回程序解决方法:在中断中灯的延时指令for(i=0;i200;i+) for(j=0;j200;j+);修改为for(i=0;i149;i+) for(j=0;j149;j+);后,单片机正常执行指令。五、 总结 通过本次课程设计,加强了我的动手操作能力,将课堂上所学的知识应用到实践中来,并且了解了单片机的基本工作原理和使用方法,在实践过程中练习了IO口的输入输出方

4、式,熟练的掌握了中断的处理及其编程方法,掌握焊接单片机开发板所需要的最基本的最小系统电路。在三周的学习中,在查找资料自我分析以及跟同学的讨论,加上老师的悉心教导,使我顺利的完成的本次课程设计,感觉受益匪浅。附录1:#include#define uint unsigned int#define uchar unsigned charunsigned int i,j,y,n,m=0;uint c,d,e;uint p=0xff;void delay()for(i=0;i150;i+)for(j=0;j500;j+);void main()uint a=0x7f;uint b=0x7f;uint

5、x;EA=1;EX0=1;IT0=1;while(1)/第一次 * for(x=0;xx;delay();for(x=0;xx;delay();for(x=0;xx;delay();P2=0x00; /P2.0控制 1亮delay();/第二次 * P0=0xff;P2=0xff;P1=0xff; /全灭delay();delay();delay();P0=0x0f; /P0.70.4 亮delay();delay();delay();P0=0x00; /P0.00.7 亮delay();delay();delay();P2=0x1f; /P2.72.5 亮delay();delay();de

6、lay();P2=0x01; /P2.72.1 亮delay();delay();delay();P1=0x0f; /P1.71.4 亮delay();delay();delay();P1=0x00; /P1.01.7 亮delay();delay();delay();P2=0x00; /P2 口控制全亮 目的控制P2.0delay();/第三次 * P0=0xff;P2=0xff;P1=0xff; /全灭delay(); P0=0x00; /P0 控制的 第一个| 全亮delay();delay();delay();P2=0x01; /P2 控制的 全亮delay();delay();del

7、ay();P1=0x00; /P1 控制的 第二个| 全亮delay();delay();delay();P2=0x00; /P2 控制的 第三个1 亮delay();delay();delay();/第四次 * P0=0xff;P2=0xff;P1=0xff; /全灭delay();delay();delay();for(x=0;x3;x+) /闪烁3次P0=0x00;P2=0x00;P1=0x00;/全灭delay();delay();delay();P0=0xff;P2=0xff;P1=0xff;/全亮delay();delay();delay(); void int0() interr

8、upt 0 EX0=0;IT0=0;EA=0; /关中断c=P0;d=P1;e=P2; /保护现场m+; /中断次数 第几次中断m=m%3;if(m=1) /第一次中断for(n=0;n5;n+) /5次循环for(y=0;yy;P2=py;for(i=0;i149;i+)for(j=0;j149;j+); if(m=2) /第二次中断for(n=0;n10;n+) /闪烁10次P1=0xff;P2=0xff;P0=0xff;/全灭for(i=0;i149;i+)for(j=0;j149;j+);P1=0x00;P2=0x00;P0=0x00; /全亮for(i=0;i149;i+)for(j=0;j149;j+);if(m=0)/第三次中断 for(n=0;n5;n+) /循环5次 for(y=0;y9;y+) /从上到下依次点亮P1=py;P0=py;for(i=0;i149;i+)for(j=0;j149;j+); P1=d;P2=e;P0=c; /恢复现场EA=1;IT0=1;EX0=1; /开中断附录2:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号