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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(单片机动态扫描驱动数码管Word下载.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机动态扫描驱动数码管Word下载.docx

1、这样一来,就没有必要每一位数码管配一个锁存器,从而节省了口线,地简化了硬件电路。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。电路详解此讲的电路图如图2。从图2 中可以看出,驱动八个八段数码管总共用了6 个单片机IO 口,其中三个IO通过控制74HC595 来实现对数码管中的各段驱动,另外三个IO 通过控制74HC138 来实现对8 个数码管中的公共端驱动。此外为了增加74HC595 输出的驱动能力,在其输出后接了一级74HC245 芯片,以提高驱动能力,增加数码管的亮度。在这里对这三个芯片进行介绍说明。图2

2、 数码管动态驱动电路图74HC138 是常用的3-8 线译码器, 即具有3 个输入端( 管脚1,2,3) 与8 个输出端( 管脚15,14,13,12,11,10,9,7),作用为完成3 位二进制数据到8 位片选的译码。也就是说,3 个输入端对应8 个二进制数据(000,001,010,011,100,101,110,111),对于每个输入的数据,输出端相应位输出低电平,其他7 位输出高电平。74HC138 具有2 个低电平使能端(管脚4,5)与1 个高电平使能端(管脚6), 当低电平使能端接低电平且高电平使能端接高电平时74HC138 才能正常工作,否则8 个输出端全部输出高电平。因此在本学

3、习板上设置一个跳线,如图2 中所示中的SM-EN 短路块,跳上时表示接低电平,74HC138 正常工作,跳开时表示接高电平,74HC138 不工作。74HC138 的真值表如表2 所示:H 代表高电平,L 代表低电平,X 代表不定的状态。表2 74HC138输入输出真值表74HC595 是8 位串行输入/ 输出或者并行输出移位寄存器芯片,可以将串行的数据,转为并行的输出,这样可以节约控制器的IO 口资源,因而广泛应用。74HC595 最多需要5 根控制线,即SDI(Pin14)、SCK(Pin11)、RCK(Pin12)、(Pin10)和(Pin13)。图2 中将直接接到高电平,用软件来实现寄

4、存器清零;直接接到低电平,一直输出有效。把其余三根线和单片机的I/O 口相接,即可实现对74HC595 的控制。数据从SDI 口送入74HC595 , 在每个SCK 的上升沿, SDI 口上的数据移入寄存器,在SCK 的第9 个上升沿,数据开始从SDO 移出。如果把第一个74HC595的SDO 和第二个74HC595 的SDI 相接,数据即移入第二个74HC595 中,照此一个个接下去,可接任意多个。数据全部送完后,给RCK 一个上升沿,寄存器中的数据即置入锁存器。此时为低电平,数据即从并口Q0 Q7 输出。74HC245 为八总线收发器芯片,即可以将数据从A 总线端口传送到B 总线端口,也可

5、将数据从B 总线端口传送到A 总线端口。传送方向由方向控制管脚DIR(芯片1 脚)输入的逻辑电平而定。其真值表如表3 所示:表3 74HC245输入输出真值表H 代表高电平,L 代表低电平,X 代表不定的状态。程序设计本讲设计实例核心程序如下:#define SDI P2_7 ( 1)#define SCLK P2_6 ( 2)#define RCLK P2_5 ( 3)void dat_in(unsigned char dat)( 4)unsigned char i; ( 5)for(i=0;i8;i+)( 6)SCLK=0; ( 7)SDI=dat&0X80; ( 8)dat=1; ( 9

6、)SCLK=1; ( 10)RCLK=0; ( 11)RCLK=1; ( 12)程序详细说明:(1)将数据输出端定义为P2.7 管脚。(2)将数据时钟输出端定义为P2.6 管脚。(3)将寄存器时钟输出端定义为P2.5 管脚。(4)数据传入函数,传入一字节。(5)定义一个无符号字符型变量。(6)要因为要传送一个字节,故要8 次。(7)数据时钟先输出低。(8)让数据管脚输出传入字节的最高位。(9)传入字节左移一位。(10)数据时钟输出高,上升沿将数据所存储至74HC595 数据寄存器中。(11)寄存器时钟先输出低。(12)寄存器时钟输出高,上升沿将数据所存储至74HC595 数据寄存器中。以上字程

7、序的作用,当发送一个字节的显示数据的时候,通过74HC595 进行串行转并行的控制,每次从单片机IO发送1Bit出去,循环8次,完成发送一个字节,之后再的输出端以一个字节的方式传输给数码管,实现显示。调试要点与实验现象接好硬件电路,通过冷启动方式将程序所生成的。hex 文件下载到单片机运行后,复位单片机,就可以观察到板上8 个数码管都点亮,并从数字0 到9 变化闪烁。调试的时候需要注意的是,数码管的使能控制端(见图2)必须用跳线帽跳上,从而让74HC138 能工作输出。不需要用到数码管时可以,反之,跳开以节省系统电流损耗。另外动态扫描过程中,数码管显示的亮度与驱动电流、点亮时间和关断时间有关,

8、所以应当适当调整驱动电流大小和扫描频率,从而控制显示所需要的亮度。这在驱动尺寸较大的数码管组时更是如此,为了稳定显示,硬件方面必须达到该有的驱动能力,如在驱动端再接达林顿管等。软件方面,应在实际的调试过程中不断的尝试(见本讲程序中所扫描次数的经验值),找到一个最佳临界点,即要注意动态扫描的延时间隔和扫描次数。总结本讲介绍了单片机动态驱动数码管的原理并给出了实例,通过该讲,我们可以总结如下:动态扫描驱动数码管的优点:当显示位数较多时,采用动态显示方式比较节省I/O 口,硬件电路也较静态显示简单;缺点:其稳定度不如静态显示方式。而且在显示位数较多时CPU要轮番扫描,占用CPU较多的时间。总的来说,

9、无论是动态还是静态显示,其显示更新的速率不能太快,如数据不停变化,太快则无法看清楚显示的内容,在软件设计是必须注意的。另外,在同等条件下动态显示的亮度比静态显示要差一些,所以在适当提高驱动电流,例如使用限流电阻,就应略小于静态显示电路中的,或者使用缓冲驱动芯片。学习笔记 从零开始学单片机(2) 全八段数码管显示开发板上有八个八段数码管,现在把它点亮它。数码管显示有动态和静态两种,本质上没有什么区别,由于单片机接口有限,不可能一对一,所以依次让每一个数码管点亮,那么从视觉角度上看就是一起亮起来。但是动态显示时,亮度较低。下面的图是一个八段数码管的原理图,有共阴极和共阳极两种解法,这里是共阴极接法

10、。a,b,c,d,e,f,g,dp分别对应八个数码管。为了让八个数码管连起来,该开发板使用了两个八进制三态非反转透明锁存器,74HC573。它的特性是:输出能直接接到 CMOS,NMOS 和 TTL 接口上操作电压范围:2.0V6.0V低输入电流:1.0uACMOS 器件的高噪声抵抗特性D0D7:输入Q0Q7:输出LE:输入使能OE:输出时能输 入输出使能锁存性能DQLHX不变ZX:随即Z:高阻抗下面是电路原理图,所有数码管的引脚,同时接入DUAN这个锁存器的输出端,锁存器WEI的输出端为8个数码管的片选。锁存器DUAN的输入使能接到51的P2.6引脚,锁存器WEI的输入使能接到P2.7上,同

11、时它俩的输出使能接地(可能是为了方便点)原理图很简单,接下来写一个程序,依次点亮数码管,并延时一段时间#include unsigned char code_table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0;sbit Led8En = P26; /数码管,锁存器使能信号,高电平有效,数码管输出P0sbit Led8CS = P27; /数码管片选,锁存器使能信号,电平有效,低电平选中/*/delay 循环延时times unsigned int延时次数,100*xvoi

12、d delay(unsigned int times);dlight点亮数码管i unsigned char 片选数码管,点亮第i个灯number unsigned char 显示参数,高电平有效duration unsigned int循环延时次数,100*durationvoid dlight(unsigned char i, unsigned char number, unsigned int duration);void main()unsigned char i=1;while(1)for(i=1; i8 | number16)return;Led8CS = 1;P0=(1(i-1); Led8CS = 0;Led8En = 1;P0=code_tablenumber; /. a b c d e f g, 高电平亮Led8En = 0;delay(duration);void delay(unsigned int times)unsigned inti,j;for (i=0;times;for (j=0; j10; j+);最后在数码管上显示87654321

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2