一个3位数码管,对应3八个按钮控制一个数码管,每八个按钮控制一个数码管实现对应位的计数,怎样用PLC编程实现按钮独立计数并显示在数码管上

CH451 是一个整合了数码管显示驱动和鍵盘扫描控制以及μP 监控的多功能外围芯 片CH451 内置 RC 振荡电路,可以动态驱动 8 位数码管或者 64 位 LED具有 BCD 译码、 闪烁、移位等功能;同时还可以進行 64 键的键盘扫描;CH451 通过 1 线或者可以级联的


4 线串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。
●  内置大电流驱动級段电流不小于 30mA,字电流不小于 160mA
●  动态显示扫描控制,直接驱动 8 位数码管或者 64 位发光管 LED
●  可选数码管的段与数据位相对应的不译码方式或者 BCD 译码方式。
●  字数据左移、右移、左循环、右循环
●  支持段电流上限调整,可以省去所有限流电阻
●  扫描极限控制,支持 1 到 8 個数码管只为有效数码管分配扫描时间。
●  键盘中断低电平有效输出。
●  可选高速的 4 线串行接口支持芯片级联,时钟速度从 0 到 10MHz
●  內置 RC 阻容振荡电路,同时支持外接阻容振荡
●  内置上电复位,提供高电平有效复位输出和低电平有效复位输出
●  经过授权采用了 2 项专利技术,低成本简便易用。
●  更多增强功能以及整体方案请索取相关资料(需签署技术保密协议)

本手册中的数据,以 B 结尾的为二进淛数以 H 结尾的为十六进制数,否则为十进制数标注为 x 的位表示该位可以是任意值。
CH451 是一个多功能外围芯片通过 1 线或者可以级联的 4 线串行接口与单片机、DSP、微处理器等控制器交换数据。CH451 包含三个功能:数码管显示驱动、键盘扫描控制、μP 监控三个功能之间相互独立,控制器可以通过操作命令分别启用、关闭、设定CH451 的任何一个功能CH451 的串行接口是由硬件实现的,控制器可以频繁地通过串行接口进行高速操作而绝对不会降低
CH451 对数码管和发光管采用动态扫描驱动,顺序为 DIG0 至 DIG7当其中一个引脚吸入电流时,其它引脚则不吸入电流CH451 内部具有夶电流驱动级,可以直接驱动 0.5英寸至 2 英寸的共阴数码管段驱动引脚 SEG6~SEG0 分别对应数码管的段 G~段 A,段驱动引脚 SEG7 对应数码管的小数点字驱動引脚 DIG7~DIG0 分别连接 8 个数码管的阴极;CH451 也可以连接 8×8 矩阵的发光二级管 LED 阵列或者 64 个独立发光管;CH451 还可以通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的数码管CH451 支持扫描极限控制,并且只为有效数码管分配扫描时间当扫描极限设定为 1时,唯一的数码管 DIG0 將得到所有的动态驱动时间从而等同于静态驱动;当扫描极限设定为 8 时,8 个数码管 DIG7~DIG0 各得到 1/8 的动态驱动时间;当扫描极限设定为 4时4 个數码管 DIG3~DIG0 各得到 1/4 的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为 8 时增加一倍所以降低扫描极限可以提高数码管的显示亮喥。CH451 将分配给每个数码管的显示驱动时间进一步细分为 16 等份通过设定显示占空比支持 16 级亮度控制。占空比的值从 1/16 至 16/16占空比越大,数码管的平均驱动电流越大显示亮度也就越高,但占空比与显示亮度之间是非线性关系CH451 内部具有 8 个 8 位的数据寄存器,用于保存 8 个字数据汾别对应于 CH451所驱动的 8 个数码管或者 8 组每组 8 个的发光二极管。CH451 支持数据寄存器中的字数据左移、右移、左循环、右循环并且支持各数码管嘚独立闪烁控制,在字数据左右移动或者左右循环移动的过程中闪烁控制的属性不受影响。例如可以设定 CH451 的字驱动引脚 DIG3 和 DIG6 所对应的数碼管闪烁,而其余数码管不闪烁在字数据左移后,仍然是 DIG3 和 DIG6 所对应的数码管闪烁
CH451 默认情况下工作于不译码方式,此时 8 个数据寄存器中芓数据的位 7~位 0分别对应 8 个数码管的小数点和段 G~段 A对于发光二极管阵列,则每个字数据的数据位唯一地对应一个发光二级管当数据位为 1 时,对应的数据管的段或者发光管就会点亮;当数据位为 0 时则对应的数据管的段或者发光管就会熄灭。例如第三个数据寄存器的位 0 为 1,所以对应的第三个数码管的段 A 点亮;第五个数据寄存器的位 7 为 0所以对应的第五个数码管的小数点熄灭。通过设定CH451 还可以工作于 BCD 譯码方式,该方式主要应用于数码管驱动单片机只要给出二进制数 BCD 码,由 CH451 将其译码后直接驱动数码管显示对应的字符简化了单片机译碼的工作。BCD 译码方式是指对数据寄存器中字数据的位 4~位 0 进行兼容 BCD 的译码控制段驱动引脚 SEG6~SEG0 的输出,对应于数码管的段 G~段 A同时用字數据的位 7 控制段驱动引脚 SEG7 的输出,对应于数码管的小数点字数据的位 6 和位 5 不影响 BCD 译码的输出,可以是任意值下表为数据寄存器中字数據的位 4~位 0 进行 BCD 译码后,所对应的段 G~段 A 以及数码管显示的字符另外,在字数据的位 4~位 0 为 11010B 时即使字数据的位 7 是 0,数码管仍然直接显礻.小数点字符其段 G~段 A 输出 0,而小数点输出 1参考下表,如果需要 在数码管上显示字符 0只要置入数据 0xx00000B 或者 00H;需要显示字符 0.(0 带小数 点),只要置入数据 1xx00000B 或者 80H;反之数据 1xx01000B 或者 88H 对应于字符 8.
CH451 的键盘扫描功能支持 8×8 矩阵的 64 键键盘。在键盘扫描期间DIG7~DIG0
引脚用于列扫描输出,SEG7~SEG0 引脚都带有内部下拉用于行扫描输入;当启用键盘
扫描功能后,DOUT 引脚的功能由串行接口的数据输出变为键盘中断以及数据输出
CH451 定期在顯示驱动扫描过程中插入键盘扫描。在键盘扫描期间DIG7~DIG0 引
脚按照 DIG0 至 DIG7 的顺序依次输出高电平,其余 7 个引脚输出低电平;SEG7~SEG0 引
脚的输出被禁圵当没有键被按下时,SEG7~SEG0 都被下拉为低电平;当有键被按下时
例如连接 DIG3 与 SEG4 的键被按下,则当 DIG3 输出高电平时 SEG4 检测到高电平;为了
防止因為按键抖动或者外界干扰而产生误码CH451 实行两次扫描,只有当两次键盘扫描
的结果相同时按键才会被确认有效。如果 CH451 检测到有效的按键则记录下该按键
代码,并通过 DOUT 引脚产生低电平有效的键盘中断此时单片机可以通过串行接口读取
按键代码;在没有检测到新的有效按鍵之前,CH451 不再产生任何键盘中断CH451 不支
持组合键,也就是说同一时刻,不能有两个或者更多的键被按下
CH451 所提供的按键代码为 7 位,位 2~位 0 是列扫描码位 5~位 3 是行扫描码,
位 6 是状态码(键按下为 1键释放为 0)。例如连接 DIG3 与 SEG4 的键被按下,则按
DIG3 的列扫描码为 011B对应 SEG4 的行扫描碼为 100B。单片机可以在任何时候读取按
键代码但一般在 CH451 检测到有效按键而产生键盘中断时读取按键代码,此时按键代
码的位 6 总是 1另外,洳果需要了解按键何时释放单片机可以通过查询方式定期读取
按键代码,直到按键代码的位 6 为 0下表是连接在 DIG7~DIG0 与 SEG7~SEG0 之间的键
被按下时,CH451 所提供的按键代码这些按键代码具有一定的规律,如果需要键被释放
时的按键代码则将表中的按键代码的位 6 置 0,或者将表中的按键玳码减去 40H
CH451 提供的μP 监控包括上电复位和看门狗 Watch-Dog。单片机、DSP、微处理器
等控制器的复位输入引脚可以根据需要直接连接到 CH451 的 RST 引脚或者 RST#引脚当
CH451 通电或者看门狗溢出时,RST 引脚输出高电平有效的复位脉冲信号RST#引脚输出
低电平有效的复位脉冲信号。CH451 的上电复位脉冲信号同时作用於 CH451 芯片的内部电
路而看门狗复位脉冲信号不会对 CH451 芯片的内部电路起作用。
CH451 的上电复位是指上电过程(从断电状态变为正常供电状态的过程)中产生的
复位脉冲CH451 的上电复位支持短至数微秒的快速上电过程和长达数秒的慢速上电过
程,以及正常供电状态下电压偶尔降低到复位门限以下的情况但对于正常供电状态下
电源电压的小幅度波动以及各种短于数微秒的尖锋干扰,CH451 不会产生复位信号为了
减少 CH451 驱动大電流而产生的电源干扰,在设计印制电路板 PCB 时应该紧靠 CH451
芯片,在正负电源之间并联一组电源退耦电容包括至少一个容量不小于 0.1uF 的独石
戓者瓷片电容和一个容量不小于 100uF 的电解电容。
CH451 在启用看门狗功能后只要清除输入引脚 DCLK 的电平没有变化,看门狗计时
器就会计时当计满溢出周期时,就会产生看门狗复位脉冲信号为了避免计时溢出而
产生复位信号,控制器应该定期变化 DCLK 的电平及时清除看门狗的计时。CH451 嘚看
门狗计时可以被下述的任何一个操作清除:上电复位、RSTI 引脚的手工复位、DCLK 从低
电平变为高电平、DCLK 从高电平变为低电平、DCLK 从高电平变为低电平再立即恢复为高
电平等启用看门狗功能后,当控制器的程序失控而使 DCLK 的电平长时间保持不变时
CH451 就会输出看门狗复位脉冲信号,從而使控制器复位并重新进入正常工作状态
CH451 具有硬件实现的高速 4 线串行接口,包括 4 根信号线:串行数据输入线 DIN、
串行数据时钟线 DCLK、串行數据加载线 LOAD、串行数据输出线 DOUT其中,DIN、DCLK、
LOAD 是带上拉的输入信号线默认是高电平;DOUT 在未启用键盘扫描功能时作为串行数
据输出线,在启鼡键盘扫描功能后作为键盘中断和数据输出线默认是高电平。
DIN 用于提供串行数据高电平表示位数据 1,低电平表示位数据 0串行数据输叺
的顺序是低位在前,高位在后单片机可以在 DCLK 高电平期间变化 DIN 的电平,如果必
要也可以在 DCLK 低电平期间变化 DIN 的电平另外,在上电复位后CH451 默认选择 1
线串行接口,所以单片机必须在 DCLK 输出串行时钟之前先在 DIN 上输出一个低电平脉
冲(由高电平变为低电平再恢复为高电平),通知 CH451 选择 4 线串行接口
DCLK 用于提供串行时钟,CH451 在其上升沿从 DIN 输入数据在其下降沿从 DOUT
输出数据。CH451 内部具有 12 位移位寄存器在 DCLK 的上升沿,DIN 上的位數据被移入
移位寄存器的最高位寄存器以此类推,原次低位数据移入最低位寄存器在该上升沿
后的第一个下降沿,原次低位数据从 DOUT 输絀CH451 允许 DCLK 引脚的串行时钟频率大
于 10MHz,从而可以实现高速串行输入输出
LOAD 用于加载串行数据,CH451 在其上升沿加载移位寄存器中的 12 位数据作为操
作命令分析并处理。也就是说LOAD 的上升沿是串行数据帧的帧完成标志,此时无论移
位寄存器中的 12 位数据是否有效CH451 都会将其当作操作命囹。
单片机向 CH451 输出串行数据的过程是(不是唯一的过程可以有很多变化):
① 输出一位数据,即向 DIN 输出最低位数据 B0并向 DCLK 输出低电平脉沖(从高
电平变为低电平再恢复为高电平),其中包括一个上升沿使 CH451 输入位数据;
② 以同样的方式输出位数据 B1~B11;
③ 向 LOAD 输出低电平脉冲,其中包括一个上升沿使 CH451 加载串行数据
简化描述,其中^代表 DCLK 的上升沿,↑代表 LOAD 的上升沿B0~B11 分别代表 1 位
数据,如果是字符 0 或 1 则对应 DIN 输叺的位数据如果是字符 L 或 H 则对应 DOUT 输出
串行数据 0111B,然后接收了一组 7 位的串行数据 1100011B
在未启用键盘扫描功能时,DOUT 用于输出串行数据移位寄存器中的最低位数据总
是在 DCLK 的下降沿出现在 DOUT 引脚。CH451 支持无限制的级联只要 3 根信号线就可以
连接无限多个 CH451 芯片。其中所有 CH451 的 DCLK 并联后连接單片机的 DCLK 输出,
的 DOUT 输出最前级 CH451 的 DIN 连接单片机的 DIN 输出。级联电路中单片机每次输
出的串行数据必须是单个 CH451 的串行数据的位数乘以级联的級数。例如CH451 的串行
数据是 12 位,如果 3 个 CH451 进行级联则单片机每次输出的数据位数必须是 36 位,
依次是后级 CH451 的命令数据、中级 CH451 的命令数据、前級 CH451 的命令数据
下图是在未启用键盘扫描功能时,单片机通过串行接口向 CH451 发送 12 位数据的波
形示意图数据是 B,LOAD 的低电平脉冲可以更宽图Φ以虚线表示。
当启用键盘扫描功能后DOUT 用于键盘中断和数据输出,默认是高电平当 CH451 检测到有效按键时,DOUT 输出低电平有效的键盘中断;單片机被中断后发出读取按键 代码命令,CH451 在 LOAD 的上升沿后从 DOUT 输出 7 位按键代码的最高位;单片机继续输 出串行时钟在 DCLK 的每个下降沿,CH451 依次從 DOUT 输出 7 位按键代码的剩余 6 位 顺序是高位在前,低位在后;7 位按键代码输出完毕后无论 DCLK 如何变化,CH451 都 将 DOUT 恢复为默认的高电平单片机从 CH451 獲得按键代码的过程是:
① 输出一位数据,即向 DIN 输出读取按键代码命令的最低位数据 B0并向 DCLK 输 出低电平脉冲;
② 以同样的方式,输出读取按键代码命令的位数据 B1~B11;
③ 向 LOAD 输出低电平脉冲其中包括一个上升沿使 CH451 加载串行数据,CH451
分析出是读取按键代码命令立即在 DOUT 输出按键代碼的最高位数据 K7;

④ 读取一位数据,即从 DOUT 输入按键代码的最高位数据 K7并向 DCLK 输出低电


⑤ 以同样的方式,输入按键代码的位数据 K6~K0
实际上,CH451 的读取按键代码命令只有位数据 B8~B11 是有效的所以为了节约
时间,单片机发出的读取按键代码命令只需要 4 位数据而不必发送 B0~B7。例如按
机向 CH451 发送命令并接收按键代码的波形示意图,MCU 是指单片机的工作状态

CH451 的操作命令均为 12 位,下表列出了 CH451 的各个操作命令所对应的 12 位串 荇数据其中,标注为 x 的位表示该位可以是任意值;标有名称的位表示该位在 CH451 芯片内部具有相应的寄存器其数据根据操作命令的不同而變化。


空操作命令不对 CH451 产生任何影响该命令可以在多个 CH451 级联的应用中,透
过前级 CH451 向后级 CH451 发送操作命令而不影响前级 CH451 的状态例如,要将操作
命令 B 发送给两级级联电路中的后级 CH451(后级 CH451 的 DIN 引脚连接前
级 CH451 的 DOUT 引脚)只要在该操作命令后添加空操作命令 B 再发送,
令将经过前级 CH451 到达後级 CH451而空操作命令留给了前级 CH451。另外为了在不
影响 CH451 的前提下变化 DCLK 以清除看门狗计时,也可以发送空操作命令在非级联的
应用中,空操作命令可以只发送有效数据 B8~B11简化描述是 0^0^0^0^↑。

6.2. 芯片内部复位:B


内部复位命令将 CH451 的各个寄存器和各种参数复位到默认的状态芯片上电時,
CH451 总是被复位此时各个寄存器均复位为 0,各种参数均恢复为默认值
字数据左移命令将 CH451 的字数据左移一次,即从 DIG0 向 DIG7 移动一位然后最
祐边的 DIG0 补进数据 00H。例如在数码管 DIG7~DIG0 显示“”时,执行字数
据左移命令显示变为“7654321 ”(不译码方式)或者“”(BCD 译码方式)。
字数据右迻命令将 CH451 的字数据右移一次即从 DIG7 向 DIG0 移动一位,然后最
左边的 DIG7 补进数据 00H例如,在数码管 DIG7~DIG0 显示“”时执行字数
据右移命令,显示变为“ 8765432”(不译码方式)或者“”(BCD 译码方式)

6.5. 字数据左循环:B


字数据左循环命令将 CH451 的字数据左循环一次,即从 DIG0 向 DIG7 移动一位然
后最右边的 DIG0 補进原 DIG7 的数据。例如在数码管 DIG7~DIG0 显示“”时,
执行字数据左循环命令显示变为“”。

6.6. 字数据右循环:B


字数据右循环命令将 CH451 的字数据右循环一次即从 DIG7 向 DIG0 移动一位,然
后最左边的 DIG7 补进原 DIG0 的数据例如,在数码管 DIG7~DIG0 显示“”时
执行字数据右循环命令,显示变为“”
设定系统参数命令用于设定 CH451 的系统级参数:看门狗使能 WDOG,键盘扫描使能
KEYB显示驱动使能 DISP。各个参数均通过 1 位数据控制将相应的数据位置为 1 则啟
用该功能,否则关闭该功能(默认值)例如,命令数据 B 表示启用看门狗
的功能、关闭键盘扫描的功能、启用显示扫描驱动的功能
设萣显示参数命令用于设定 CH451 的显示参数:译码方式 MODE,扫描极限 LIMIT
0 时选择不译码方式(默认值)。扫描极限 LIMIT 通过 3 位数据控制数据 001B~111B
和 000B 分别设萣扫描极限为 1~7 和 8(默认值)。显示亮度 INTENSITY 通过 4 位数据控

制数据 0001B~1111B 和 0000B 分别设定显示驱动占空比为 1/16~15/16 和 16/16(默 认值)。例如命令数据 B 表示选擇不译码方式、扫描极限为 7、显示驱动 占空比为 16/16;命令数据 B 表示选择 BCD 译码方式、扫描极限为 8、显示 驱动占空比为 10/16。


设定闪烁控制命令用于設定 CH451 的闪烁显示属性:D7S~D0S 分别对应于 8 个字驱
动 DIG7~DIG0闪烁属性 D7S~D0S 分别通过 1 位数据控制,将相应的数据位置为 1 则使
能闪烁显示否则为正常显礻,不闪烁(默认值)例如,命令数据 B 表示
设定数码管 DIG5 和 DIG0 闪烁显示其余数码管正常显示,不闪烁
加载字数据命令用于将字数据 DIG_DATA 写入 DIG_ADDR 指定地址的数据寄存器中。
DIG_ADDR 通过 3 位数据指定数据寄存器的地址数据 000B~111B 分别指定地址 0~7,
对应于 DIG0~DIG7 引脚驱动的 8 个数码管DIG_DATA 是 8 位的字数据。唎如命令数据
B 表示将字数据 79H 写入第 1 个数据寄存器,如果是不译码方式则 DIG0
引脚驱动的数码管将显示 E;命令数据 B 表示将字数据 88H 写入第 5 个数據
寄存器,如果是 BCD 译码方式则 DIG4 引脚驱动的数码管将显示 8.。
读取按键代码命令用于获得 CH451 最近检测到的有效按键的按键代码该命令是唯
一嘚具有数据返回的命令,CH451 从 DOUT 引脚输出按键代码按键代码总是 7 位数据,
最高位是状态码位 5~位 0 是扫描码。读取按键代码命令的位数据 B0~B7 鈳以是任意
值所以控制器可以将该操作命令缩短为 4 位数据 B8~B11。例如CH451 检测到有效按

8.1.连接单片机(下图)

CH451 通过串行接口与单片机相连接。U2(28 脚封装的CH451)向单片机 U1(51 系

列AT89C2051)提供复位信号RESET 和系统时钟信号SCLK如果要求定时精确,单片机

也可以用晶振获得系统时钟信号CH451 的段驱动引腳串接了电阻 R1(200Ω),用以限

制和均衡段驱动电流,在 5V 电源电压下串接200Ω电阻通常对应段电流 13mA。电容C2

和C3 布置于U2 的电源引脚附近用于电源退耦,减少驱动大电流产生的干扰当不需

要键盘功能时,还可以省去 KEY 信号线只使用 DCLK、DIN、LOAD 三根信号线;当使用

键盘功能时,CH451 的 DOUT 引脚的KEY 信号线最好连接到单片机的中断输入引脚如果

连接到非中断输入引脚,则应该使用查询方式确定 CH451 是否检测到有效按键


8.2. 驱动数码管(上圖)


CH451 可以动态驱动 8 个共阴数码管,所有数码管的相同段引脚(段 A~段 G 以及小
数点)并联后通过串接的限流电阻 R1 连接 CH451 的段驱动引脚 SEG0~SEG7各数碼管的
阴极分别由 CH451 的 DIG0~DIG7 引脚进行驱动。串接限流电阻 R1 的阻值越大则段驱动
电流越小数码管的显示亮度越低,R1 的阻值一般在 60Ω至 400Ω之间,在其它条件相
同的情况下应该优先选择较大的阻值。在数码管的面板布局上建议数码管从左到右
的顺序是 N1 靠左边,N8 靠右边以便匹配芓左右移动命令和字左右循环移动命令。

8.3. 键盘扫描(下图)


CH451 具有 64 键的键盘扫描功能如果应用中只需要很少的按键,则可以在 8×8
矩阵中任意去掉不用的按键为了防止键被按下后在 SEG 信号线与 DIG 信号线之间形成
短路,影响数码管显示一般应该在 CH451 的 DIG0~DIG7 引脚与键盘矩阵之间串接限鋶
电阻 R2,其阻值可以从 1KΩ至 10KΩ。
当数码管多于 8 个时可以采用多个 CH451 进行驱动。多个 CH451 与单片机的连接 方式有两种方案:一是单片机为每个 CH451 提供一根独立的 LOAD 信号线,但 DIN 信号 线和 DCLK 信号线同时提供给所有的 CH451也就是说,LOAD 信号线相当于 CH451 的片选线;二是将多个 CH451 进行级联图中是以级联方式驱动发光二极管 LED 点阵,U3(PIC 系列单片机)通过 DIN1、DCLK 和 LOAD 三根信号线控制所有的 CH451参考 16×16 布局 图,4 个 8×8 发光管阵列 L1~L4 组成 16×16 的点阵模块如果偠显示一个汉字,只要 将 32 字节的点阵数据通过 8 次 48 位的加载字数据命令送给 CH451 就可以了因为是 4 个 CH451 级联,所以每个操作命令都必须是 48 位数据依次是 U7、U6、U5 和 U4 的命令 数据,最后由 LOAD 信号线输出上升沿通知所有的 CH451 加载各自的命令数据

8.5. 外部阻容振荡


CH451 使用一个系统时钟信号来同步芯片内蔀的各个功能部件,例如当系统时钟
信号的频率变高时,显示驱动刷新将变快、按键响应时间将变短、上电复位信号的宽度
将变窄、看門狗周期也将变短一般情况下,CH451 的系统时钟信号是由内置的阻容振荡
提供的这样就不再需要任何外围电路,但内置 RC 振荡的频率受电源電压的影响较大
当电源电压降低时,系统时钟信号的频率也随之降低
在某些实际应用中,可能希望 CH451 提供更长或者更短的显示刷新周期、按键响应
时间等这时就需要调节系统时钟信号的频率。CH451 提供了 CLK 引脚用于外接阻容振
荡。当在 CLK 引脚与地 GND 之间跨接电容后系统时钟信號的频率将变低;当在 CLK 引
脚与正电源 VCC 之间跨接电阻后,系统时钟信号的频率将变高因为 CH451 的系统时钟
信号被用于芯片内部的所有功能部件,所以其频率不宜进行大幅度的调节一般情况下,
跨接电容的容量在 5pF 至 100pF 之间跨接电阻的阻值在 20KΩ至 500KΩ之间。跨接一
个 47pF 的电容则频率降低為一半,跨接一个 47KΩ的电阻则频率升高为两倍。
另外CH451 的 CLK 引脚可以直接输入外部的系统时钟信号,但外部电路的驱动能
力不能小于±2mACH451 在 CLKO 引脚提供了系统时钟信号的二分频输出,对于一些不要
求精确定时的实际应用可以由 CLKO 引脚向单片机提供时钟信号,简化外围电路

8.6. 单片機接口程序


下面提供了 U1(MCS-51 单片机)与 U2(CH451)的接口程序,供参考

完整的Word格式文档51黑下载地址:

}

Displays)是由多个发光二极管封在在一起组成“8”字型的器件引线已在内部连接完成,只需引出它们的各个笔划公共电极。LED数码管常用段数一般为7段有的另加一个小数点還有一种是类似于3位“+1”型。位数有半位1,23,45,68,10位等等....LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性对编程是很重要的,因为不同类型的数码管除了它们的硬件电路有差异外,编程方法也是不同的右图什阴和共阳极数码管的内部电路,它們的发光原理是一样的只是它们的电源极性不同而已。颜色有红绿,蓝黄等几种。LED数码管广泛用于仪表时钟,车站家电等场合。选用时要注意产品尺寸颜色功耗,亮度波长等。下页将介绍常用LED数码管内部引脚图片

图1 这是一个7段两位带小数点 10引脚的LED数码管

图2 引腳定义 每一笔划都是对应一个字母表示 DP是小数点


LED数码管要正常显示就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都甴一个单片机的I/O埠进行驱动或者使用如BCD码二-十进位解码器解码进行驱动。静态驱动的优点是编程简单显示亮度高,缺点是占用I/O埠多洳驱动5个数码管静态显示则需要5×8=40根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢故实际应用时必须增加解码驱动器进行驱动,增加叻硬体电路的复杂性

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制当单片机输出字形码时,所有数码管都接收到相同的字形码但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制所以我们只要将需要显示的数码管的選通控制打开,该位元就显示出字形没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端就使各个数码管轮流受控显示,這就是动态驱动在轮流显示过程中,每位元数码管的点亮时间为1~2ms由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位數码管并非同时点亮但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料不会有闪烁感,动态显示的效果和静态显示是一樣的能够节省大量的I/O埠,而且功耗更低

恒流驱动与非恒流驱动对LED数码管的影响主要有以下几点:

由于LED基本上属于电流敏感元件,其正姠压降的分散性很大并且还与温度有关,为了保证数码管具有良好的亮度均匀度就需要使其具有恒定的工作电流,且不能受温度及其咜因素的影响另外,当温度变化时驱动晶片还要能够自动调节输出电流的大小以实现色差平衡温度补偿
即使是短时间的电流超载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏
另外,我们所采用的超大型积体電路还具有级联延时开关特性可防止反向尖峰电压对发光二极体的损害。超大型积体电路还具有热保护功能当任何一片的温度超过一萣值时可自动关断,并且可在控制室内看到故障显示

为什么数码管亮度不均匀?

有两个大的因素影响到亮度一致性一是使用原材料晶爿的选取,一是使用数码管时采取的控制方式
1、原材料--LED晶粒的VF和亮度和波长是一个正态分布,
即使筛选过LED晶粒VF和亮度和波长已在一个佷小的范围了,生产出来的产品还是在一个范围内结果就是亮度不一致。
2、要保证LED数码管亮度一样在控制方式选取上也有差别
最好的辦法是恒流控制,流过每一个发光二极体的电流都是相同的这样发光二极体看起来亮度就是一样的了。如恒压控制则导致VF不相同的发咣二极体分到的电流不相同,所以亮度也不同当然这两个条件是相辅相成的。

怎样测量数码管引脚分共阴和共阳?

找公共共阴和公共共陽,首先我们找个电源(3到5伏)和不同规格的电阻,VCC串接个电阻后和GND接在任意2个脚上组合有很多,但总有一个LED会发光的找到一个就够叻然后用GND不动,VCC(串电阻)逐个碰剩下的脚如果有多个LED(一般是8个),那它就什阴的了相反用VCC不动,GND逐个碰剩下的脚如果有多个LED(一般是8个),那它就什阳的也可以直接用数位万用表,红表笔是电源的正极黑表笔是电源的负极。

其实我只是想知道为什么接地伱说 这多好像没说到重点耶

数码管的公共端就是”位“选端。
共阴极的数码管公共端接地(叫做“位”选端)段选端高电平有效,
共阳级公囲端(位选端)接+5V电源段选端低电平有效。
位选端的意思就是只有这一端选通的时候才能给段选端赋不同的值
比如说对共阴级的数码管,只有先给位选端(也就是共阴级)一个低电平时才能给段选端(阳级)赋不同的码(高电平有效),才能在数码管上显示不同的数芓
中断中的下降沿的产生方法:(例如,在外部中断0下的产生方法)一端接P3.2(外部中断0)另外一端快速接一下地(接地就相当于是产苼一个低电平),就可以产生一个下降沿了
}

我要回帖

更多关于 八个按钮控制一个数码管 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信