单片机课程设计-LED广告灯的设计_第1页
单片机课程设计-LED广告灯的设计_第2页
单片机课程设计-LED广告灯的设计_第3页
单片机课程设计-LED广告灯的设计_第4页
单片机课程设计-LED广告灯的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE第1页单片机课程设计设计题目:LED广告灯的设计院系:信息与电气工程学院专业班级:电气工程及其自动化学生姓名:学号:指导老师:目录一、目的 3二、设计要求 3三、系统设计 3四、功能设计 4五、硬件设计1、单片机 42、LED灯 63、按键 6六、软件设计1、程序流程图 72、设计程序 7七、系统调试1、硬件调试 112、软件调试 11参考文献 11摘要:本文介绍了采用STC12C5A60S2单片机控制LED灯变换显示的实用电路,设计了按键控制变换功能。已经过软件和硬件测试,并达到设计项目一要求。关键字:单片机;LED;按键;一目的、设计要求课程设计目的:1、通过单片机课程设计,熟练C语言的编程方法,将理论联系到实践中去, 提高我们的动脑和动手的能力。2、通过广告灯控制系统的设计,掌握按键及led灯的使用方法。3、通过此次课程设计,熟练掌握电路板焊接技能,及keil编程软件、stc单 片机下载程序的使用方法。二、设计要求(1)掌握硬件原理基础上,编写C程序对LED进行控制。(2)设置按键,按不同的按键控制LED不同的亮法。(3)在电路板上的现有电路编写程序来实现功能。(4)调试,并且完成课程设计报告。最终实现:键盘输入使8个led发光二极管作16种不同的变换的亮法。二设计方案一、系统设计1、LED显示控制系统框图如图1所示。按键按键输入STC12C5A60S2单片机P1输出控制LED灯显示图1主要由3个模块组成:LED显示、键盘、单片机最小工作电路(包括复位,电源VCC,接地GND,晶振电路等);功能设计:1、通过电源总开关实现系统通断电;2、上电初始时8个LED灯全亮,通过按键控制LED亮法,具体如下:1)、按下按键S4(最左端),8个LED全部熄灭;2)、按下按键S3(中间),8个LED按第一种亮法开始点亮,再次按下S3键 换下一种亮法,总共16种亮法通过按键循环变换;3)、按下按键S2(最右端),8个LED显示全亮;3、通过“复位”键使LED回到初始状态;三硬件设计单片机简介:单片微型机计算机是微型计算机的一个重要分支,也是具有生命力的机种,单片微型计算机简称单片机。特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件;中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部部件设备和结合,便可成为一个单片机控制系统。本课程设计所采用的单片机型号是STC12C5A60S2,其管脚图如图2所示。图2该系列单片机正常工作所需的最小应用电路如图3所示:图3此次课程设计所用电路板的单片机的最小应用电路如图4:图4LED灯本课程LED灯显示部分的硬件原理图如图5所示。图5其中LED灯采用共阳极接法,故要使LED点亮应使LED的负极为低电平。LED1~LED8分别接单片机的P1^0~P1^7口,这样就可以通过控制单片机P1口的值来控制8个LED的亮灭。3、按键键盘部分,设定全灭、换亮法、全亮等功能操作。本课程设计电路板的按键原理图如图6所示:图6其中按键S2,KEY1接单片机的P3^3引脚;按键S3,KEY2接单片机的P3^4引脚;按键S4,KEY3接单片机的P3^5引脚;按键按下时,单片机的引脚由高电平变成低电平,由此来判定是否有按键按下。四软件设计1、程序流程图程序流程图如图7所示。此流程图采用流程图绘制软件——亿图绘制。图7设计程序先定义头文件key.h以方便程序编写及改动,头文件程序如下:/********************************************************key.h包含1.按键等端口定义 2.数据类型定义 3.延时函数**********************************************************/#ifndef_KEY_H_#define_KEY_H_#defineucharunsignedchar //定义数据类型#defineuintunsignedint/********************端口定义**************************/#defineledP1 // P1口接led/**********定义按键及按键要实现的功能******************/sbitkey1=P3^3; //开始启动 全亮sbitkey2=P3^4; //换下一个亮法sbitkey3=P3^5; //结束复位全灭/************延时函数*********/voiddelay(uintx){ uinti,j; for(i=x;i>0;i--) //i=x,大约延时X毫秒即Xms for(j=110;j>0;j--);} #endif主程序led.c如下:/******************************************************************按键控制led程序功能:key1,key2,key3分别实现三种功能 key1:开始启动按钮显示全亮 key2:显示切换按钮按一下换一种亮法,一共16种,可以继续增加 key3:结束按钮显示全灭程序完成时间:2012年11月10日晚 已经过测试测试时间:2012年11月10日晚******************************************************************/#include<STC12C5A.H>#include<intrins.h> //包含_crol_函数的头文件 _crol_左移,_cror_右移#include"key.h" //包含1.按键等端口定义2.数据类型定义3.延时函数/********************函数声明**************************/voidKey_Control(); //按键控制函数voidledxs(uint); //显示函数声明voiddelay(uint);//延时函数声明/******************定义变量****************************/uintn=0; //用来计按键数的uchara[]={0x00,0xfe,0xfc,0xf8, 0xf0,0xe0,0xc0,0x80, 0xaa,0x99,0x88,0x84, //数组中变量即为要显示的8位 0x7f,0x3f,0x1f,0x0f, 0x07,0xff}; /******************************************************主函数*******************************************************/voidmain(){ led=0xff;//小灯初始化,使灯全灭 while(1) { Key_Control();//按键控制 ledxs(n); //led显示 }}/******************************************************按键控制*******************************************************/voidKey_Control(){ if(key1==0) //按键按下时值由1变为0 { delay(10); //按键延时去抖 if(key1==0) //key1开始启动 { n=0;//启动按键按下时,为n=0状态,led显示全亮 while(!key1);//等待按键释放 //delay(10); //while(!key1); } } if(key2==0) // { delay(10); if(key2==0) //key2按下显示下一个亮法,按键计数n加1 { n++; if(n>16) n=1; while(!key2); } } if(key3==0) { delay(10); if(key3==0) //启动按键按下时,led显示全灭 { n=17; //led=0xff; } while(!key3); }}/******************************************************led显示函数*******************************************************/voidledxs(uintn){ led=a[n]; if(n>0&&n<8) { while(key1&&key2&&key3) { delay(5000); led=_crol_(led,1); //左移 } } elseif(n>7&&n<17) { while(key1&&key2&&key3) { delay(5000); led=_cror_(led,1); //右移 } }} 五系统调试1、硬件调试检测各硬件模块是否断路或者短路,根据电路图查看接线线路是否正确。检测接线无误后,接入电源,测量各芯片的供电电压,检查无误后,进入软件调试阶段。2、软件调试首先使用keil编译好程序,生成HEX文件,安装好PL2303驱动程序,使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论