? 可选两种封装:SOP28、DIP24S,引脚与CH451 芯片兼容。 ? 经过授权采用了1 项专利技术,低成本,简便易用。 3.1.2.2 显示驱动原理
CH452对数码管和发光管采用动态扫描驱动,顺序为DIG0 至DIG7,当其中一个引脚吸入电流时,其它引脚则不吸入电流。CH452内部具有电流驱动级,可以直接驱动0.5英寸至1 英寸的共阴数码管,段驱动引脚SEG6~SEG0 分别对应数码管的段G~段A,段驱动引脚SEG7 对应数码管的小数点,字驱动引脚DIG7~DIG0分别连接8 个数码管的阴极;CH452 也可以连接8×8矩阵的发光二级管LED阵列或者64 个独立发光管或者64级光柱;CH452可以改变字驱动输出极性以便直接驱动共阳数码管(不译码方式),或者通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的数码管。
CH452支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定为1时,唯一的数码管DIG0 将得到所有的动态驱动时间,从而等同于静态驱动;当扫描极限设定为8 时,8 个数码管DIG7~DIG0各得到18的动态驱动时间;当扫描极限设定为4 时,4个数码管DIG3~DIG0 各得到14 的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为8时增加一倍,所以降低扫描极限可以提高数码管的显示亮度。
CH452内部具有8 个8 位的数据寄存器,用于保存8 个字数据,分别对应于CH452所驱动的8个数码管或者8 组每组8 个的发光二极管。CH452支持数据寄存器中的字数据左移、右移、左循环、右循环,并且支持各数码管的独立闪烁控制,在字数据左右移动或者左右循环移动的过程中,闪烁控制的属性不会随数据移动。
CH452 支持任意段位寻址,可以用于独立控制64 个发光管LED 中的任意一个或者数码管中的特定段(例如小数点),段位编址顺序与键盘编
址一致,编址从00H 到3FH。当用“段位寻址置1”命令将某个地址的段位置1 后,该地址对应的发光管LED 或者数码管的段会点亮,该操作不影响任何其它LED 或者数码管其它段的状态。
CH452支持64级的光柱译码,用64 个发光管或者64级光柱表示65种状态,加载新的光柱值后,编址小于指定光柱值的发光管会点亮,而大于或者等于指定光柱值的发光管会熄灭。
CH452默认情况下工作于不译码方式,此时8个数据寄存器中字数据的位7~位0分别对应8 个数码管的小数点和段G~段A,对于发光二极管阵列,则每个字数据的数据位唯一地对应一个发光二级管。当数据位为1时,对应的数据管的段或者发光管就会点亮;当数据位为0 时,则对应的数据管的段或者发光管就会熄灭。例如,第三个数据寄存器的位0为1,所以对应的第三个数码管的段A点亮。通过设定,CH452 还可以工作于BCD译码方式,该方式主要应用于数码管驱动,单片机只要给出二进制数BCD 码,由CH452 将其译码后直接驱动数码管显示对应的字符。BCD 译码方式是指对数据寄存器中字数据的位4~位0进行BCD译码,控制段驱动引脚SEG6~SEG0的输出,对应于数码管的段G~段A,同时用字数据的位7 控制段驱动引脚SEG7 的输出,对应于数码管的小数点,字数据的位6和位5不影响BCD译码。下表为数据寄存器中字数据的位4~位0 进行BCD 译码后,所对应的段G~段A 以及数码管显示的字符。参考下表,如果需要在数码管上显示字符0,只要置入数据0xx00000B 或者00H;需要显示字符0.(0 带小数点),只要置入数据1xx00000B 或者80H;类似地,数据1xx01000B或者88H 对应于字符8.(8 带小数点);数据0xx10011B 或者13H 对应于字符=;数据0xx11010B 或者1AH 对应于字符.(小数点);数据0xx10000B或者10H对应于字符 (空格,数码管没有显示);数据0xx11110B 或者1EH 对应于自定义的特殊字符,由“自定义BCD 码”命令定义。
3.1.2.2 键盘扫描原理
CH452 的键盘扫描功能支持8×8 矩阵的64 键键盘。在键盘扫描期间,DIG7~DIG0 引脚用于列扫描输出,SEG7~SEG0 引脚都带有内部下拉电阻,用于行扫描输入。当启用键盘扫描功能后,4线串行接口中的DOUT 引脚的功能由串行接口的数据输出变为键盘中断输出以及按键数据输出。 CH452 定期在显示驱动扫描过程中插入键盘扫描。在键盘扫描期间,DIG7~DIG0 引脚按照DIG0至DIG7 的顺序依次输出高电平,其余7个引脚输出低电平;SEG7~SEG0引脚的输出被禁止,当没有键被按下时,SEG7~SEG0都被下拉为低电平;当有键被按下时,例如连接DIG3与SEG4的键被按下,则当DIG3输出高电平时SEG4 检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,CH452实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。如果CH452检测到有效的按键,则记录下该按键代码,并通过4 线串行接口中的DOUT引脚或者2 线串行接口中的INT#引脚产生低电平有效的键盘中断(当INTM为1 时输出低电平脉冲中断,参考5.5 节和5.6节中的说明),此时单片机可以通过串行接口读取按键代码;在没有检测到新的有效按键之前,CH452 不再产生任何键盘中断。CH452 不支持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键代码较小的按键优先。 CH452 所提供的按键代码为7 位,位2~位0 是列扫描码,位5~位3 是行扫描码,位6 是40H),其中,对应DIG3的列扫描码为011B,对应SEG4的行扫描码为100B。单片机可以在任何时候读取按键代码,但一般在CH452检测到有效按键而产生键盘中断时读取按键代码,此时按键代码的位6总是1,另外,如果需要了解按键何时释放,单片机可以通过查询方式定期读取按键代码,直到按键代码的位6为0。
下表是在DIG7~DIG0 与SEG7~SEG0之间8×8 矩阵的顺序编址,既是
按键编址,也是数码管段位、发光管LED 阵列以及光柱的编址。由于按键代码是7位,键按下时位6总是1,所以当键按下时,CH452 所提供的实际按键代码是表中的按键编址加上40H,也就是说,此时的按键代码应该在40H到7FH之间。
表3.1 CH452按键编址
3.2 单片机控制单元模块电路
3.2.1 控制原理
本次设计是以单片机为核心进行设计的。在整个单片机控制系统中,CPU既是运算处理中心,又是控制中心,是控制系统最关键的器件。本系统中选用与MCS-51系列完全兼容的AT89C52单片机,AT89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
89C52的P2口输出的矩形脉冲信号直接控制步进电机的正反转,两台电机需4个控制信号,一根信号线备用。工作台上行程开关的检测信号经光电隔离器件后送到单片机,这样可以实现单片机与电机工作电路的隔离,起到了抗干扰和保护的作用,也有3个备用。工作台工作时的指示灯则由P14-P17和T0、T1控制,分别用于提示操作人员工作台是在哪个坐标上朝哪个方向运动。
12345678101112131415430PC330PC4P10P11P12P13P14P15P16P17RXDTXDINT0INT1T0AT89C51T1XTAL2P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27ALE5319VCCR252K3.3KR10R91K241K653VCCPFIMRGNDRESTWDIWDOPFO7685R262KP06U6R36200R272KP07U7R37200P05U5R35200PSENXTAL1RDEAWRRST3938373635343332212223242526272830291716R242KP04U4R3420012345678DriverINPUVCCR212KP01U1R31200U2P02R32200U3P03R33200R222KY112MR232KOUTPUTVCCU1A1P127407U2A1P137407U3A1P147407U4A1P157407U5A1P167407U6A1P177407222222R411KR421KR431KR441KR451KR461K12345678 1