(金)(新)实验二、8段数码管显示实验——精.ppt

(金)(新)实验二、8段数码管显示实验——精.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二、8段数码管显示实验 ---采用DTLED_6显示驱动芯片 LED 数码管的结构与显示段码 LED数码管编码方式 静态显示方式及其典型应用电路 ⑵ 动态显示方式,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位同时稳定显示。 特点:占用I/O端线少,电路较简单,编程较复杂,CPU要定时扫描刷新显示。一般适用于显示位数较多的场合。 1、并行扩展静态显示电路 2、串行扩展静态显示电路 动态显示电路 连结形式: ① 显示各位的所有 相同字段线连在一起, 共8段,由一个8位 I/O口控制;(段选线) ② 每一位的公共端 (共阳或共阴COM) 由另一个I/O口控制。(位选线) 1、共阴型8位动态显示电路 2、共阳型3位动态显示电路 数码管驱动 动态显示驱动(采用DTLED_6显示驱动芯片) 将所有数码管通过分时轮流控制各个数码管的的COM(公共端)端(相当于直连的位选端),就使各个数码管轮流受控显示。 数码管分时轮流循环点亮,在同一时刻只有1个数码管点亮,但由于数码管具有余辉特性及人眼具有视觉暂留特性,所以适当地选取循环扫描频率,看上去所有数码管是同时点亮的,察觉不出闪烁现象。 扫描频率超过人的眼睛视觉暂留频率24Hz以上就可以达到循环点亮单个数码管,却感觉数码管在同时显示的视觉效果,而且也不闪烁。动态显示方式所接数码管不能太多,否则会因每个数码管所分配的实际导通时间太少,使得数码管的亮度不足。 原理图 DTLED_6显示驱动芯片特点 1. 可全功能替代摩托罗拉公司的“MC14499”芯片,功能相同;并在其基础上增加更适用的功能。 2. DTLED_6 是六位 BCD 七段十六进制锁存,译码驱动芯片,一片可同时驱动 6 个共阳数码管。 3. 由于具有BCD 译码器和串行接口,所以它几乎可以与任何单片机接口相连。只需三根线就可全驱动,大大节省了单片机的端口资源。 4. 内置芯片序号 ID 代码,可将多片 DTLED_6 芯片并联使用,再通过识别 ID 代码的方法来选通。(一片使用时设ID=1) 5. 内置 PFD 发生器,P9/P10脚可直接作为蜂鸣器输出控制信号源。产生一队正负脉冲,并可通过设置预分频来改变输出脉冲的频率。(本实验板BZ+、BZ- P9/P10脚未接蜂鸣器) 6. 多种封装形式:PDIP24,SOC24 两种。 DTLED_6芯片——串行输入时序 DTLED_6芯片一帧串行输入数据格式 dispbuf0-dispbuf1-dispbuf2-dispbuf3-dispbuf4-dispbuf5-dispbuf6-dispbuf7-dispbuf8 小数点 - 数码管1- 数码管2- 数码管3- 数码管4- 数码管5- 数码管6-ID识别码-BZ识别码 00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx 小数点dispbuf[0]= 1~6,其它为不显示 数码管dispbuf[1-6]=0~15, ID识别码dispbuf[7] =0~15 本实验只用一片DTLED_6芯片驱动 dispbuf[7]=1 BZ识别码dispbuf[8]=BZ.3为蜂鸣输出控制位,0=关闭,1=打开 未接输出 BZ0~2为蜂鸣频率输出设定为,000=不分频, 最高频率输出=4800Hz; 001=一次分频,频率输出=4800/ 2 =2400Hz; 010=二次分频;……. 串行发送DTLED_6显示子程序 void tsled(void) /*串行发送DTLED-6显示子程序*/ { char ts0,i,j; clk=0; en=0; delay(10); for(j=0;j9;j++) { ts0=dispbuf[j]; for(i=0;i4;i++) /* 发用BCD码编码的串行数据*/ { clk=1; ts0=ts01; if(AC==1) /*借助辅助进位位AC把4位BCD码显示字符 dout=1; 和控制信息读入*/ else dout=0; clk=0; nop; /*注意要在说明部分添加#define nop _nop_()*/ delay(3); } } en=1; } /*返回主程序*/ 程序说明部分管脚定义语句 sbit en =P1^7; /

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档