基于PIC18F8680单片机的墨斗操作台系统的设计
制 16位数码管或 128只独立的 LED显示,其驱动输出极性及输出时序均为软件可控,可与各种外部电路配合,适用于任何尺寸的数码管。BC7281的各位数码管还可独立按不同的译码或不译码方式显示,因其内部具有闪烁开关控制寄存器及闪烁速度控制寄存器,可独立控制各位数码管的闪烁属性及闪烁频率。BC7281最多可连接 64键(8x8)的矩阵键盘,内部具有去抖动功能,并有 2种键盘工作模式可供选择。 BC7281采用高速 2线接口与 MCU进行通信,只占用很少的 I/0口资源和主机时间 。
在本系统中每个显示驱动与键盘扫描模块由一个BC7281芯片与两个 74LS174移位寄存器配合,控制三组按键与显示单元,系统中一共用到 8个显示驱动与键盘扫描模块。 BC7281与 PIC单片机之间的通讯是采用 2线高速串行接口,这两个连线分别是数据线 DAT和同步时钟线 CLK,其中 DAT为双向数据传输线,BC7281既用该线从 PIC单片机接收数据,也用该线向 PIC单片机发送数据。BC7281的 DAT引脚为漏极开路输出结构,使用时须在该线上加 20K?左右的上拉电阻[5]。CLK引脚为串行时钟接口的同步时钟,由 PIC单片机控制,下降沿有效。
BC7281芯片的按键指示线 KEY与 PIC单片机的管脚直接相连,正常工作时,如果有按键发生则 KEY线输出低电平,PIC单片机检测到 KEY线为低电平时,从 BC7281内的键值锁存器读出数值即可判断发生的按键。
3 系统软件设计
墨斗操作台控制系统中 PIC单片机与 BC7281芯片之间的串行通讯采用软件模拟的方式,对 BC7281芯片的写数据操作是一次写入 2个字节,第一个字节是地址信息,第二个字节是数据信息。对 BC7281读取数据操作由一个字节的写入操作和一个字节的数据读取操作两部分组成,字节写入时写入地址信息,数据读取时读取相应地址内的数据。BC7281芯片在驱动数码管显示和监测按键前需要进行初始化,即对 BC7281芯片的工作模式控制寄存器(地址 12H)进行设置,本系统根据需要,在初始化时把 BC7281的工作模式控制寄存器设置为 0X8C,即移位寄存器模式设置为普通移位寄存器模式;键盘扫描模式设置为 KEY电平随按键情况变化,有按键时 KEY为低电平,无按键时 KEY为高电平;闪烁模式设置为扩展模式;显示关闭模式设置为打开;扫描使能模式设置为扫描使能。
墨斗操作台控制系统的主程序控制流程图如图 4所示:
系统上电后,首先进行系统初始化,系统初始化包括各个 I/O端口的初始化、中断初始化、CAN总线初始化、BC7281芯片的初始化、与其他系统的通讯测试及向电机控制系统读取各个墨键的位置并显示等,然后系统进入循环等待,如果有按键发生,则 PIC单片机从 BC7281的键值锁存器中读取按键信息,根据按键信息判断按键种类并进行相应的处理,将新的墨键位置信息显示于操作台面板上,并通过 CAN总线传递给其他系统,系统继续进入循环等待状态。
4 总结
由墨斗操作台控制系统、上位机系统和电机控制系统组成的墨斗控制系统已经成功应用到北人集团生产的胶印机上,实际工作表明,胶印机的生产效率和生产质量等得到了很大提高,墨斗操作台控制系统表现出较好的性能。整个系统成本较低,具有很好的市场应用前景。
- 基于PIC单片机的智能型漏电断路器设计(11-25)
- 基于PIC单片机的无线实时监控防盗系统的设计与实现(11-18)
- PIC单片机键盘矩阵扫描C语言程序(12-02)
- PIC单片机控制第一个发光管闪动程序(12-02)
- PIC单片机驱动LCD12864液晶显示闪动字体程序(12-02)
- PIC单片机控制8位流水灯C语言程序(12-02)