网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机LED灯的花样控制与仿真--史宝周剖析.doc

单片机LED灯的花样控制与仿真--史宝周剖析.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机LED灯的花样控制与仿真 史宝周 (陇东学院,机械工程学院,甘肃 庆阳 745000邮箱:1115107973@) 摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统锁取代。单片机具体有体积小、功能强、成本低、应用广等有点,可以说,智能控制与自动控制的核心就是单片机。学习单片机的最有效方法就是理论与实践并重,本文将重点介绍keil软件编程、proteus模拟仿真方法, 通过51单片机用3只开关控制八个LED的不同点亮方式实现了流水灯的花样设计及演示。 关键词: AT89C51单片机; keil软件编程;proteus模拟仿真;LED; 流水灯; 设计任务及要求 用3只开关控制八个LED的不同点亮方式实现流水灯的花样设计及演示。设计要求如下: 按下开关K1实现8盏LED灯从左往右依次点亮; 按下开关K2实现8盏LED灯从右向左依次点亮; 按下开关K3实现8盏LED灯的奇偶交替闪亮; 系统结构 硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以80C51单片机为主控单元。显示部分:8个LED灯循环亮灭 。汇编语言和C语言的特点及选择 本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。在本设计中采用C语言编写软件程序。 LED显示原理 LED 点阵显示器亦称LED 矩阵板,具有亮度高、发光均匀、可靠性好、接线简单、拼装方便等优点,能构成各种尺寸的大屏幕显示器。因此,它被广泛应用于大型LED 智能显示屏、智能仪器仪表和机电一体化设备的显示单元中,取得了较好的效果。由于它经济、小型的显示系统,同时要求使用方便灵活,方便地组成了由多块大屏幕LED 显示器构成的显示系统,该系统可广泛用于商场、车站、码头及其它公共场合。LED 显示屏由 ED 点阵显示器(常见型号为P2158A) 构成。它是以发光二极管为像素,按照行与列的顺序排列而成的显示器件,采用逐行(或逐列) 扫描方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。 此设计中LED灯的显示为循环显示,采用三键来实现LED灯的亮灭、第一个键按下灯从下往上依次循环,第二个键按下灯从上往下依次循环,第三个键按下灯全亮,从而实现整个LED灯 统,呈流水状亮灭。 2.1硬件连接框图 单片机从开关上提取不同输入信号,进行相应的软件操作,反映输出在发光二极管上。 2.2 设计连线 本设计的连线为:3个开关,分别接到单片机的P0.0—P0.1—P0.2接口,且分别接上拉电阻,然后8个发光二极管分别接到单片机的P2.0—P2.7接口。 2.3 程序流程 无输入 三、硬件电路设计 设计电路如下: 3.1 按键电路 3.2 LED灯电路 四、软件电路设计 4.1 设计思路 S1:定义开关接口位置, sbit key1 =P0^0; sbit key2 =P0^1; sbit key3 =P0^2; 。 S2:按键初值定义,uchar flag1=0,flag2=0,flag3=0; S3:定义延时函数,void delay_ms(uint z) { uint i,j; for(i=0;iz;i++) for(j=0;j110;j++); }。 S4:定义奇偶交替闪烁函数, void O_to_E( ) { P2=0Xaa; delay_ms(200); P2=~0Xaa; delay_ms(20

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档