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
3、个 470 欧电阻 40 个 瓷片电容 6 个 5V 电源 1 个 电解电容 1 个 三、 软件设计方案 首先单片机执行四种方案的程序等待中断。 中断中判断是第几次执行相应的程序。 程序流程图如图所示: 图 1-1 程序流程图 四、 系统调试 问题一:在焊接电路过程中,电源正负极电压为 2V 解决方法:在焊接中将电源指示灯直接连接在正负极上,没有加限流电阻导致,经修改后电路正常。 问题二:在系统软件调试中,中断执行时不能返回程序 解决方法:在中断中灯的延时 指令 for(i=0;i200;i+) for(j=0;j200;j+);修改为 for(i=0;i149;i+) for(j=0;j14
4、9;j+);后,单片机正常执行指令。 五、 总结 通过本次课程设计,加强了我的动手操作能力,将课堂上所学的知识应用到实践中来,并且了解了单片机的基本工作原理和使用方法,在实践过程中练习了 IO 口的输入输出方式,熟练的掌握了中断的处理及其编程方法, 掌握焊接单片机开发板所需要的最基本的最小系统电路。 在三周的学习中,在查找资料自我分析以及跟同学的讨论,加上老师的悉心 教导,使我顺利的完成的本次课程设计,感觉受益匪浅。 附录 1: #include #define uint unsigned int #define uchar unsigned char unsigned 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+);