ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:174KB ,
资源ID:180056      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/180056.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机LED流水灯控制 (1).doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机LED流水灯控制 (1).doc

1、JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ课程设计说明书 课程名称: 单片机原理及应用 设计题目: 基于单片机的LED流水灯控制 院 系: 信息技术学院 专 业: 计算机科学与技术 2013年1月10日 DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS基于单片机的LED流水灯控制摘 要 基于单片机的LED流水灯的应用十分广泛,由单片机作为的核心控制器,通过按键实现控制功能和数据输入是非常普遍的。通常在所需按键数量不多时,系统常采用独立式按键。这种

2、按键的电路配置灵活,软件结构简单。由于实际应用中,不同系统对按键的要求不同,因此,对按键程序的设计要考虑全面,以便更好地完成按键所设定的功能,简述了该系统中一些重要芯片的基本工作原理,着重论述了硬件线路各个模块的设计思想。进而熟练掌握相关专业基础知识的综合应用,提高学生的实际动手和设计能力。 本系统是基于AT89C51系列单片机为核心的LED流水灯设计,实现8个LED灯变化方向和速度的可调。 关键词:单片机 独立式按键 LED DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS目 录第一章 绪论11. 设计背景11.1

3、设计目的11.2可行性分析及相关现状11.3意义2第二章 系统设计32系统设计32.1整体设计32.2模块设计4第三章 系统实现73.1整体仿真电路图73.2各部分模块原理73.2.1单片机最小系统73.2.2外围电路8第四章 核心代码11第五章 调试14第六章 总结与致谢156.1总结156.2致谢15第七章 附录167.附录167.1源代码16DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS第一章 绪论1. 设计背景1.1设计目的 通过本次课题设计,应用单片机原理及应用等所学相关知识及查阅资料完成简易LED流水灯

4、系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。1.2可行性分析及相关现状 随着人们生活水平的提高,基于单片机的LED流水灯的应用越来越广泛,其中独立式键盘的扩展电路,该模块主要应用于仪器仪表、工业控制器、条形显示器、控制面板等实时性要求不太高的设备。所以利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,还可以改进和提高如选用更精密的元器件等,在此次设计中我们将用到集成电路。集成电路是信息产业和高新技术的核心,是推动国民经济和社会信息化的关键技术。集成电路的产业规模和技术水平已成为国家综合国力的一个重要标志。

5、我国集成电路产业已经经过30多年的发展现已形成了近百家的产业规模,其中具备一定设计规模的单位有20多家,其中北京华大、大唐、深圳华威和无锡矽科四家设计公司的销售额超过了1亿元。多家外国著名公司也纷纷在中国建立起集成电路设计公司。中国发展集成电路的主要目标为:达到大规模生产150mm和0.8微米的技术水平;200mm和0.5微米的制造技术的产业化;提高集成电路的设计能力以满足市场需求;跟踪0.30.4微米和先进封装技术的研发;开发200mm的硅片制造技术并在国内开始生产等。未来10年是我国微电子产业发展的关键时期。重点要推进超大规模集成电路和新技术的产业化。综观中国集成电路的设计概况,可以看到从

6、20世纪80年代末开始,经过90年代初的创业期,现正进入它的发展期,21世纪将是中国设计业的成熟期。1.3意义 今天,当我们进入21世纪的时候,自动化科学技术不仅面临着挑战、也遇到了前所未有的发展机遇,而与此同时,在世界范围内掀起了高等科学工程教育的改革浪潮。这两方面的因素必将深刻地影响大学自动化专业的发展。 本次课程设计就是为了加强学生动手能力,加强学生对电子电路技术的掌握,了解控制工程行业对当今社会的影响。同时培养学生实践能力,并通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。第二章 系统设计2系统设计2.1整体设计本方案主要有硬件部分和程序部分构成。硬件部分主要由单片机

7、最小系统和输入输出设备构成。 首先搭建单片机最小系统,包括电源电路,手动复位电路,时钟电路。时钟电路才用内部时钟方式,手动复位电路采用按键电平复位方式。再根据要求在P2口串接8个发光二极管作为输出设备,分别通过限流电阻接电源,在P3口串接2个独立按键,作为输入设备。通过独立按键控制LED灯的闪烁和移动及速率变化。同时在P1口连接一个数码管显示电路,用于自动计时,实现自动改变流水灯的样式。 程序部分设定T0为定时工作方式,T0每隔一定的时间扫描独立按键,当检测到某个键按下时,在主函数中执行相应的程序。程序框图如图1所示:开始设置定时器工作方式开中断启动定时器判断count1的值,强制转换灯的闪烁

8、样式判断count2的值确定速率数码管计时10s之后,自动改变样式图12.2模块设计各部分模块图如下:单片机时钟电路及自动复位电路:外围输入电路:外围输出二极管显示电路:外围输出数码管显示电路:第三章 系统实现3.1整体仿真电路图如图2所示:图23.2各部分模块原理各模块原理介绍如下:3.2.1单片机最小系统首先搭建单片机最小系统,包括电源电路,手动复位电路,时钟电路。时钟电路才用内部时钟方式,手动复位电路采用按键电平复位方式。时钟电路用于产生AT89C51单片机工作时所必需的时钟信号。AT89C51单片机的内部电路在时钟信号的控制下,严格地按时序执行指令进行工作。复位是单片机的初始化操作,除

9、了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,通过复位按键可使单片机重新启动。如图3所示:图33.2.2外围电路外围电路主要有输入设备和输出设备。输入设备主要由2个独立按键构成,如图4所示。输出设备由8个二极管构成,如图5所示,及七段数码管显示电路,如图6所示。其中s1键控制8个二极管的花样显示,s2控制8个二极管点亮的速率。数码管用于计时10s,10s之后自动转换二极管显示样式,如果10s之内有s1按键按下,则强制执行s1按键的内容。其中二极管的保护电阻的取值范围为220-880欧姆之间。 图4 图5s1键按一下,二极管从上往下单向点亮,哪个送入的是0,就点亮哪

10、个灯,然后依次使0右移,实现依次点亮;按两下,二极管双向移动点亮;按三下,二极管4个交替闪烁;按四下,二极管8个交替闪烁;按五下,8个二极管依次点亮,依次熄灭;从而实现二极管的花样显示;s2键按下,通过延时程序,可以改变二极管点亮的速率。 图6数码管显示电路,通过往p1.0p1.6写入0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90会显示数字09,自动计时10s;如果10s之内没有按键按下,则10s之后,二极管自动改变显示样式,如果10s之内有按键按下,则强制执行按键内容。第四章 核心代码本设计主要的模块就是输出设备中的8个二

11、极管及七段数码管显示电路,分别如上图的5、6所示。其中控制8个二极管花样点亮的程序如下,重点以花样1为说明:if(count1=1) /花样1: 灯单向向下移模块子程序 if(count2=1) rate=rate1; /如果s2键按一下,执行速率1 if(count2=2) rate=rate2; /如果s2键按两下,执行速率2 P2=0xfe; /给p2端口送入初值,这时D1点亮delay(rate); temp=P2; for(i=0;i8;i+) /通过延时及循环,依次点亮D2D8 if(count1=1) temp=_crol_(temp,1); P2=temp; if(count2

12、=1) /并随时判断是否有s2键按下 rate=rate1; if(count2=2) rate=rate2; delay(rate); if(i=7) i=0; 七段数码管显示电路的程序如下:unsigned char code table210=0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90; /定义数码管0-9数字显示的表 void display(unsigned char j)P1= table2j/10; /通过片选使两位数码管分别显示数字,但是延时时间小,可以实现两位数码管同时显示 S3 = 1; delay(

13、10); S3 = 0;P1= table2j%10; S4 = 1; delay(10); S4 = 0; 中断服务程序如下:void timer0() interrupt 1 TH0=(65536-50000)/256; /T0重新装初值 TL0=(65536-50000)%256; count+; display(table2index); if(table2index=0 & count=1) /如果数码管显示数字0时改变流水灯的样式 count1+; if(count1=6) count1=1; /如果五个花样显示完了之后,再按下按键S1或数码管计数到10时,再重新从花样1显示 if(count=20) /累加计数器的次数,如果到20次的话数码管数字通过查表自动加1显示 count=0; table2index=table2index+1; if(table2index=11) table2index

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1