基于单片机的彩灯设计

合集下载

基于单片机的彩灯控制器设计

基于单片机的彩灯控制器设计

单片机课程设计报告书彩灯控制器设计一、设计目的通过课程设计的教学实践,将课本所学应用于实际中,缩小理论与实际的差距,进一步学习、掌握单片机应用系统的有关知识,加深了解单片机的工作原理。

初步掌握简单单片机应用系统的设计、制作、调试的方法。

使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、设计要求本课题以单片机为核心,利用其中断器和8个LED,设计一个彩灯控制器。

要求有以下功能:1.花型种类不少于四种,花型自拟;2.可用键控制彩灯按预设的花型进行变换;3.可用键控制分别用快/慢两种节拍实现花型变换。

三、硬件电路设计1、单片机总体设计原理LED彩灯系统包括5大部分,即闪烁系统、脉冲震荡系统、核心控件(89C52主控模块)、复位电路。

主控模块,具有控制功能,闪烁系统是受控模块,上面焊有八个白色LED灯及八个大小为1k的电阻。

脉冲震荡系统是由一个12MHz的晶振及两个12pf的电容组成。

核心控件主要由89C52芯片组成,是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件。

复位开关连接控制器的RST端,实现复位控制。

基于89C52单片机的彩灯控制方案,实现对LED彩灯的控制。

本方案以89C52单片机作为主控核心,与驱动等模块组成核心主控制模块。

在主控模块上设有晶振电路和8个LED显示二极管,根据用户需要可以编写若干种亮灯模式,利用其两个外部中断实现花型的切换及快慢的切换,在不同时刻输出灯亮或灯灭的控制信号,硬件主电路图如图1所示。

图1 硬件主电路图2、闪烁系统发光二极管显示器简称LED。

这种灯具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用8个LED。

LED有共阴共阳之分,本系统采用共阳型LED,其原理图如图2所示,每端有8个发光二极管,公共端由8个发光二极管的阳极并接而成,正常显示时公共端接高电平,各发光二极管是否点亮取决于各引脚上是否是低电平。

彩灯闪烁由+5V电源和八个LED发光二极管,八个限压电阻组成如下图所示是彩灯闪烁系统的主要的外部可视部件。

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

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

单片机课程设计——节日彩灯一、需求分析:1.应用场合应用于各种场合,如学校,企事业单位,家庭等可以应用于节日彩灯的控制、广告灯控制等场所。

2.设计目的1)了解单片机的基本原理以及基本应用;2)提高动手制作单片机开发板的能力;3)掌握基本I/O口的输入输出方法;4)掌握中断的处理方法以及编程方法;5)掌握焊接单片机开发板所需要的最基本的最小系统电路。

3.立题意义通过这个实验,能够对同学们的动手能力有所提高和培养,提高同学对单片机的基本原理的理解,学会一些单片机的简单应用。

二、硬件设计方案在设计中用到单片机最小系统:复位电路以及时钟(晶振)电路、程序烧写电路以及各种颜色的彩灯。

复位电路:复位是单片机的初始化操作,目的是使CPU以及各个寄存器处于一个确定的初始状态。

分为手动复位方式和上电自动方式。

时钟电路:51单片机的时钟信号可由芯片内部的震荡电路产生,也可以由外部产生。

程序烧写电路:在使用串口进行烧写电路时,用到MAX232芯片以及几个104瓷片电容。

用STC软件进行程序烧写。

三、软件设计方案首先单片机执行四种方案的程序等待中断。

中断中判断是第几次执行相应的程序。

程序流程图如图所示:图1-1 程序流程图四、系统调试问题一:在焊接电路过程中,电源正负极电压为2V解决方法:在焊接中将电源指示灯直接连接在正负极上,没有加限流电阻导致,经修改后电路正常。

问题二:在系统软件调试中,中断执行时不能返回程序解决方法:在中断中灯的延时指令for(i=0;i<200;i++) for(j=0;j<200;j++);修改为for(i=0;i<149;i++)for(j=0;j<149;j++);后,单片机正常执行指令。

五、总结通过本次课程设计,加强了我的动手操作能力,将课堂上所学的知识应用到实践中来,并且了解了单片机的基本工作原理和使用方法,在实践过程中练习了IO口的输入输出方式,熟练的掌握了中断的处理及其编程方法,掌握焊接单片机开发板所需要的最基本的最小系统电路。

51单片机彩灯控制器的设计

51单片机彩灯控制器的设计

51单片机彩灯控制器的设计一、设计目的单片机彩灯控制器是一种能够通过控制程序实现RGBLED灯光颜色和亮度变化的设备。

其设计目的是实现LED的多彩灯光效果,丰富室内环境,提高生活品质。

二、硬件设计1.单片机选择在设计彩灯控制器时,我们选择了常用的8051单片机作为控制芯片。

8051单片机拥有丰富的外设资源,易于编程控制,并且具有较高的稳定性和可靠性。

2.RGBLEDRGBLED是一种由红、绿和蓝三个LED灯组成的组合灯,可以通过控制不同颜色的LED来实现丰富多彩的灯光效果。

在设计中,我们选用了高亮度的RGBLED,以确保灯光效果的良好。

3.驱动电路为了驱动RGBLED,我们设计了一套驱动电路,其中包括三个恒流驱动电路和三个PWM调光电路。

恒流驱动电路可以确保LED的电流稳定,而PWM调光电路可以实现LED的亮度调节。

4.控制电路控制电路主要由单片机、按键、显示屏等组成。

通过单片机控制按键输入,并根据用户需求调整LED的颜色和亮度。

同时,显示屏可以实时显示LED的参数信息,方便用户操作。

5.电源彩灯控制器的电源一般采用直流5V供电,可以通过USB接口或者外部电源适配器来供电,以满足不同环境下的使用需求。

三、软件设计1.系统架构我们将彩灯控制器的软件设计分为三个模块:按键输入模块、LED控制模块和显示模块。

按键输入模块负责接收用户的按键输入,LED控制模块根据用户输入控制LED的颜色和亮度,显示模块实时显示LED的参数信息。

2.按键输入模块按键输入模块主要负责检测用户按键的状态,并根据按键的状态进行相应的处理。

例如,当用户按下“颜色+/颜色-”按键时,按键输入模块会向LED控制模块发送指令,控制LED颜色的变化。

3.LED控制模块LED控制模块负责控制RGBLED的颜色和亮度。

当接收到按键输入模块发送的指令时,LED控制模块会根据指令调节LED的PWM值,实现LED 颜色的变化和亮度的调节。

4.显示模块显示模块通过显示屏实时显示LED的参数信息,包括LED的颜色、亮度等参数。

基于单片机c语言花样彩灯设计

基于单片机c语言花样彩灯设计

/*-------------2011.3.19 xxx编写------------------------------------------------------------设计名称:花样和速度可控的花样彩灯设计功能:1.本程序用了两个按键,其中一个可以循环控制花样,另一个循环控制流水速度;2.有断电保存当前花样和速度功能,即断电后,在重现上电时,执行的花样和速度仍旧是断电前的速度和花样。

缺点:1、本程序为延时计时,精度不高;2、由于使用延时来得到秒信号,时数和分数被改变后,有时要过一秒后才能被更新显示------------------------------------------------------------------------------------------------*/#include<reg52.h>#include<zi.c>#include<24c02.c>sbit s1=P1^4; //定义按键sbit s2=P1^5;void zhongduan(void)interrupt 1{//P1=0xff;TR0=0; //关闭定时器T0if(s1==0) //如果按键s1被按下{delay_ms(10); //延时消抖di();{if(s1==0) //如果按键s1按下{k++;write_add_24c02(0,k);if(k==6){k=1;}}while(!s1);flag=1;} //等待s1键抬起并改变标志位TR0=1; //启动定时器T0}if(s2==0) //如果按键s2被按下{delay_ms(10); //延时消抖di();if(s2==0){i++;write_add_24c02(1,i);if(i==6)i=1;}while(!s2);flag=1;} //等待s2键抬起并改变标志位TR0=1; //启动定时器T0}void main(void){TMOD=0X02; // 定时器TO,工作方式2,带自动装在的8位计数器,最大数值2^8=256TH0=256-200; //装载初值TL0=256-200;ET0=1; // 定时器T0中断允许TR0=1; //开启定时器T0EA=1; //打开外部中断0k=read_add_24c02(0);i=read_add_24c02(1);if(k>=6)k=1;if(i>=6)i=1;while(1){flag=0; //按键按下标志位while(flag==0) //检测到有按键按下{ switch(k){case 1:huayang_1();break;case 2:huayang_2();break;case 3:huayang_3();break;case 4:huayang_4();break;case 5:huayang_5();break;}switch(i){case 1:x=10;break;case 2:x=100;break;case 3:x=500;break;case 4:x=1000;break;case 5:x=2000;break;}}}}/****************************************花样子文件zi.c*************************************************/ /*sbit S1=P1^3; 定义按键s1为引脚P1.3sbit S2=P1^4;sbit S3=P1^5;sbit S4=P1^6;sbit S5=P1^7;*/#define led P3sbit beep=P2^0; //定义蜂鸣器为引脚P2.0unsigned int x=10;unsigned char k=1,i=1,flag=0;//#define led ledvoid delay_ms(unsigned int xms) //1ms延时子程序{ unsigned int aa,bb;for(aa=xms;aa>0;aa--){if(flag==1) //当检测到有按键按下,跳出内层循环break;for(bb=800;bb>0;bb--);} //调整bb数值,以使本句运行时间为1ms 。

单片机彩灯的课程设计

单片机彩灯的课程设计

单片机 彩灯的课程设计一、课程目标知识与理解目标:使学生掌握单片机的基本原理和编程方法,理解彩灯控制电路的工作原理,学会运用单片机控制彩灯的亮灭、闪烁和颜色变换。

通过本课程的学习,学生将能够描述单片机的内部结构,解释彩灯电路的原理,并掌握相关的基础知识。

技能目标:培养学生具备独立设计单片机彩灯控制程序的能力,能够运用所学知识解决实际问题。

具体包括:1)正确连接单片机与彩灯电路;2)编写程序实现彩灯的不同控制效果;3)调试并优化程序,提高彩灯控制的稳定性。

情感态度价值观目标:激发学生对电子科技的兴趣,培养创新意识和团队合作精神。

通过课程实践,使学生体验科技创作的乐趣,增强自信心和成就感,培养良好的学习习惯和探索精神。

针对课程性质、学生特点和教学要求,本课程目标具体、可衡量,旨在使学生在掌握单片机与彩灯控制技术的基础上,提高实际操作能力,培养创新思维和团队协作能力。

课程目标分解为具体学习成果,便于后续教学设计和评估。

二、教学内容依据课程目标,教学内容主要包括以下几部分:1. 单片机基础知识:介绍单片机的内部结构、工作原理、编程语言等,对应教材第二章。

- 单片机内部结构及功能- 汇编语言基础与编程方法2. 彩灯电路设计:讲解彩灯电路的组成、原理和设计方法,对应教材第三章。

- 彩灯电路元件及其功能- 彩灯控制原理及电路设计3. 单片机与彩灯控制编程:教授如何编写程序实现单片机控制彩灯,对应教材第四章。

- 编程控制彩灯亮灭、闪烁- 编程实现彩灯颜色变换4. 实践操作与调试:指导学生进行实际操作,调试程序,优化彩灯控制效果,对应教材第五章。

- 连接单片机与彩灯电路- 编写、调试彩灯控制程序- 优化程序,提高控制稳定性教学内容按照教学大纲安排,确保科学性和系统性。

课程进度合理安排,使学生逐步掌握单片机与彩灯控制相关知识,为后续课程实践打下坚实基础。

三、教学方法为确保教学效果,本章节将采用以下多样化的教学方法:1. 讲授法:教师以讲解、示范为主,系统传授单片机与彩灯控制的相关理论知识。

基于单片机的彩灯控制器设计

基于单片机的彩灯控制器设计

基于单片机的彩灯控制器设计一、引言彩灯是一种可以调节颜色和亮度的灯光装置,被广泛应用于舞台灯光效果、建筑物装饰、商业广告、节日庆典等场合。

传统的彩灯控制器往往依赖于传感器和模拟电路实现,无法快速调节灯光效果,操作不方便。

为了实现更加灵活、方便的彩灯控制,本文将设计一款基于单片机的彩灯控制器。

二、系统设计本彩灯控制器系统设计基于单片机,通过单片机控制器实现对灯光的调节和控制。

系统硬件主要由单片机、彩灯模块、按键开关、显示模块和电源构成,软件主要由单片机程序编写实现。

1.单片机选择单片机是整个系统的核心控制器,选择合适的单片机至关重要。

根据给定的设计要求,选取具有较强处理能力和丰富外设接口的单片机。

一般来说,常用的51系列单片机和STM32系列单片机具备较好的性能和扩展能力。

2.彩灯模块设计彩灯模块是实现灯光调节的核心部分,可以使用RGBLED灯珠或者是WS2812灯带等灯光模块。

通过控制彩灯模块的亮度和色彩来实现不同的灯光效果。

3.按键开关设计通过按键开关来切换不同的灯光模式,实现系统的开关和功能选择。

可以设计多个按键开关,分别对应不同的灯光模式,通过按下不同的按键实现灯光模式的切换。

4.显示模块设计为了方便用户了解灯光的当前状态和模式选择,可以使用OLED显示模块或者数码管显示模块来实现数据的显示。

5.电源设计由于彩灯模块通常需要较高的驱动电流,所以需要提供稳定的电源。

可以采用电池供电或者是AC-DC转换器等方式,确保系统稳定运行。

三、系统实现1.程序设计通过单片机编程实现对彩灯的控制和灯光模式的切换。

根据不同的按键输入,设置对应的灯光参数和模式,通过单片机的I/O接口控制彩灯模块的亮度和色彩。

2.硬件连接按照设计要求,将单片机、彩灯模块、按键开关、显示模块和电源连接起来。

通过对应的引脚和接口进行连接,确保系统正常运行。

四、总结本文设计了一款基于单片机的彩灯控制器,通过单片机编程实现对彩灯的控制和灯光模式的切换。

单片机课程设计(论文)-LED彩灯控制器

单片机课程设计(论文)-LED彩灯控制器

单片机课程设计(论文)-LED彩灯控制器题目:基于单片机的LED彩灯控制器设计与实现摘要:随着科技的不断发展,LED彩灯在现代生活中的应用越来越广泛。

本课程设计旨在设计和实现一种基于单片机的LED彩灯控制器,能够根据用户需求控制LED彩灯的颜色、亮度和模式等参数,实现照明、装饰和氛围营造等多种功能。

关键词:单片机、LED彩灯、控制器、颜色、亮度、模式1. 引言随着人们对照明需求的日益增长,彩色LED灯越来越受到人们的喜爱。

传统的彩色LED灯通常需要手动调节开关和旋钮来改变颜色和亮度,操作不够方便。

因此,设计一种基于单片机的LED彩灯控制器成为了迫切的需求。

2. 设计思路与方法本课程设计采用单片机作为主控制器,通过串口通信与电脑进行数据传输。

通过程序设计,实现用户对LED彩灯的颜色、亮度和模式等参数进行控制。

设计主要包括硬件设计和软件设计两个方面。

2.1 硬件设计硬件设计包括电路图设计和电路元器件的选择。

电路图设计主要包括单片机、LED灯、按键等元器件的连接方式。

根据设计要求,选择适当的电路元器件并进行连线。

2.2 软件设计软件设计主要包括单片机的程序设计和上位机的图形界面设计。

程序设计采用C语言进行编写,利用单片机的定时器和定时中断实现彩灯的颜色和亮度的控制。

上位机的图形界面设计通过GUI软件实现,提供简单直观的操作方式。

3. 实验与结果分析通过实验验证,LED彩灯控制器实现了对彩灯颜色、亮度和模式的控制功能。

用户通过上位机的图形界面,可以选择不同的颜色和亮度,并设置自动模式或手动模式。

实验结果表明,LED彩灯控制器具有良好的实用性和稳定性。

4. 总结与展望本课程设计通过设计和实现了一种基于单片机的LED彩灯控制器,实现了对LED彩灯的颜色、亮度和模式的控制。

该控制器具有操作简便、功能实用等特点,具有很好的应用前景。

在今后的研究中,可以进一步完善LED彩灯控制器的功能,提高其性能和稳定性,以满足用户更多的需求。

51单片机彩灯控制器的设计

51单片机彩灯控制器的设计

51单片机彩灯控制器的设计一、引言彩灯控制器是一种用于控制多个彩灯的设备,可以通过控制器改变灯光的亮度、颜色和闪烁等效果。

本文将介绍使用51单片机设计的彩灯控制器。

二、设计目标与需求1.控制多个彩灯:控制器需要具备控制多个彩灯的能力,能够同时控制彩灯开关、亮度和颜色等。

2.节约成本:设计需要尽量简化硬件电路,减少成本。

3.方便使用:控制器需要易于操作,提供用户友好的界面和操作方式。

三、硬件设计1.单片机选择:本设计选择了常用的51单片机作为主控芯片,其具备较强的计算和控制能力。

2.输入设备:采用4x4矩阵键盘作为输入设备,通过矩阵键盘可以方便地输入控制指令和参数。

3.输出设备:使用数字电路和三极管驱动电路实现对多个彩灯的控制,通过PWM技术控制灯光的亮度。

4.通信接口:设计可选装串口通信接口,以便将控制器与其他设备连接。

四、软件设计1.系统框图:彩灯控制器的软件框图如下:```主程序├4x4矩阵键盘扫描功能├彩灯控制函数├开关控├亮度控└颜色控└串口通信功能(可选)```2.矩阵键盘扫描功能:通过扫描矩阵键盘,获取用户输入的按键信息,并根据按键信息触发相应的彩灯控制功能。

3.彩灯控制函数:实现对彩灯开关、亮度和颜色等参数的控制。

-开关控制:根据用户输入的指令,控制彩灯的开关状态。

-亮度控制:使用PWM技术控制彩灯的亮度,根据用户输入的亮度参数设置对应的PWM占空比。

-颜色控制:根据用户输入的颜色参数,控制彩灯的颜色。

可以通过RGB色彩模型实现颜色变化。

4.串口通信功能(可选):通过串口通信接口,实现与其他设备的通信,可以通过串口发送控制指令和接收反馈信息。

五、总结本文介绍了使用51单片机设计的彩灯控制器。

通过合理的硬件设计和软件设计,实现了对多个彩灯的控制。

控制器具备控制开关、亮度和颜色等功能,简化了硬件电路,节约了成本。

同时,控制器还提供了用户友好的界面和操作方式,方便使用。

设计还可选装串口通信接口,实现与其他设备的通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目基于单片机的彩灯设计任务与要求1.用三个按键开关K1,K2,K3组成一个独立式键盘,其中K1控制八个彩灯从左向右依次循环点亮,K2控制八个彩灯从右向左依次循环点亮,K3控制八个彩灯按一定的时间间隔闪烁点亮。

2.给出硬件实现电路及软件程序3.论文要求思路清晰,结构合理,语言流畅,书写格式符合要求。

开始日期 2011.12.19 完成日期 2011.12.302011年 12 月 18 日一:课程设计任务基于单片机设计一个彩灯二:课程设计的要求:利用89C51单片机设计彩灯,用三个按键开关K1,K2,K3组成一个独立式键盘,其中K1控制八个彩灯从左向右依次循环点亮,K2控制八个彩灯从右向左依次循环点亮,K3控制八个彩灯按一定的时间间隔闪烁点亮。

三:设计过程:1.设计原理:此次课程设计题目是基于单片机的彩灯设计,由课程设计的要求和任务,我采用的C语言编程,系统由AT89C51、LED 发光二极管、按键,可以实现彩灯的不同类型显示切换。

其硬件电路主要有主控制器,LED显示电路,复位电路,晶振电路。

系统程序的设计包括主程序的设计,中断服务程序等等。

此程序直接在Keil软件编译程序,利用Proteus进行仿真调试,方便修改程序。

2.芯片介绍:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.1主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.2管脚说明图1 AT89C51引脚图AT89C51引脚路VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P2口:P2口为一个内部上拉电阻的8位双向I/O口,P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。

P3口也可作为AT89C51的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

PSEN:外部程序存储器的选通信号。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.具体设计3.1整体设计实验总体电路构造方案比较简单,主要包括键盘控制电路(用脉冲按键开关对电路进行控制)和显示电路(单片机控制发光二极管的显示)。

图2 实验方案图按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。

AT89C52单片机是美国ATMEL 公司生产的低电压、高性能CMOS 8 位单片机,具有丰富的内部资源:4kB 闪存、128BRAM、32 根I/O 口线、2 个16 位定时/计数器、5 个向量两级中断结构、2 个全双工的串行口,具有4.25~5.50V 的电压工作范围和0~24MHz工作频率,使用AT89C52单片机时无须外扩存储器。

因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

3.2 硬件电路设计实验电路可划分为两个组成部分,一者为显示电路部分,主要是由8个相同的发光二极管组成,用来显示流水灯的不同显示形态,另一部分即控制电路部分,主要由脉冲按键开关组成,用以控制流水灯的不同显示状态。

其整个硬件电路图如下:图3原理电路图3.3软件流程图及程序:.C 语言源程序代码#include<reg52.h>#define uint unsigned int #define uchar unsigned charuint m_led; uint a;关闭中断 再次读入按键状态保护现场读入按键状态保存 延时10ms 去抖 两次按键状态相K1按K2按K3按右向循环点左向循环点间隔闪烁点恢复现场开中断返回主程序YNYYYNNNuint i;uint led;void delay(uint z){uint x,y;for(x=100;x>0;x--)for(y=z;y>0;y--); }void init(){TMOD = 0x01;ET0 = 1;EA = 1;TR0 = 1;m_led = 0;a = 0;i = 0;led = 0;}void main(){init();P2 = 0xff;while(1){switch(P2){case 0xfe:m_led = 1;led = 1;break;case 0xfd:m_led = 2;led = 128;break;case 0xfb:m_led = 3;led = 0;break;}}}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;a++;if(a == 20){EA = 0;switch(m_led){case 1:P0 = ~led;led *= 2;if(led > 0x80)led = 1;break;case 2:P0 = ~led;led /= 2;if(led < 1)led = 128;break;case 3:led = ~led;P0 = led;break;default:led = 0;P0 = ~led;}a = 0;EA = 1;}}3.4,仿真结果(1)K1控制八个彩灯从左向右依次循环点亮(2)K2控制八个彩灯从右向左依次循环点亮(3)K3控制八个彩灯按一定的时间间隔闪烁点亮。

我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P0.0~P0.7连接8个发光二级管,P2.0~P2.2分别连接K1、K2、K3三个按键开关。

从上图中可以看出,如果要让接在P0.0口的LED1亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7口的其他7个LED的点亮和熄灭的方法同LED1。

因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

四:心得体会通过本次设计实验,使我对这学期学所学51系列的单片机从理论知识到实践硬件的应用以及C语言知识的回顾,更加熟悉了89C51单片机的每一个拐角的输出和各项功能,而且对硬件电路的布线以及焊接能力有了很大的进步。

本次的课程设计,使关于51系列单片机的,正是我们刚刚学到的51单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。

开始时我也觉得自己的理论知识已经够了,但当我拿到课题时,在脑海里想的是非常好的,但真正编成和控制时,理论和实际结合不到一起,甚至于51芯片的使用我都感觉很迷茫,还是经过搜集大量资料才将理论与实际结合到一起了。

本次课程设计我主要负责编程,这次不仅锻炼了我C语言的知识,更加我们正在学习的51的定时与中断结合在一起,进行了实际的操作,让我的知识掌握得更加牢固。

本次的实际经验之后,让我对单片机定时赋初值有了更新的认识,对程序的循环顺序、结构类型都有了非常深刻的认识,对真正硬件的连接也有了认识,不再将自己的知识局限于自己狭隘的空间中。

这次课程设计终于圆满的完成了,我从理论和硬件以及实践上懂得了很多,也明白了一个团队的合作精神可以让我们战胜所有的困难。

忽略此处..11。

相关文档
最新文档