智能家居系统防雷器件陶瓷放电管 智能家居这一概念已产生多年,近年来伴随建筑、家电、安全防护、互联网和通信以及IT等行业的快速成长,智能家居行业开始呈现蓬勃发展之势。但是由于智能 家居系统涉及多个行
文中介绍了一种直接利用LabVIEW的图片处理功能自动生成字符点阵的方法,利用该程序无需使用专门的字库可自动得到各种字符的点阵,然后将显示信息通过串行传输电感器的原理方式发送到单片机,通过单片机驱动相应的二极管发光,显示信息。硬件由计算机、单片机、驱动电路和LED显示屏构成,结构如图1所示。
1 基于LabVIEW的汉字字模的提取
1.1 基于LabVIEW的汉字贴片功率电感器厂家字模的提取方法
现在比较流行的方法是基于汉字字符的编码方式形成字模。
汉字机内码与区位码的关系为
区位码=机内码-160 (1)
对于16×16点阵字库,每个汉字占用32 bit,其首字节的起始位置的计算公式为
首字节=[(区码-1)×94+位码-1]×32(2)
以此为基点连续读取32 bit就是此汉字的点阵字模。在LabVIEW编程中基本流程为:以字符串形式输入一个汉字,按照上述运算规则找出汉字字模首字节在汉字库文件HZK16中的位置,从HZK16中以首地址开始连续读取32 bit的数据,这样就得到了一个容量为32的数组,即输入汉字的点阵字模。然后再按照下位机的构建运用数组的算术运算控件对数组修改,将最终结果通过串口发送给单片机,以进行显示。
本系统利用LabVIEW的图片处理功能生成字模,包括汉字、数字、英文以及各种特殊符号等等,提高工作效率和灵活性。
1.2 利用LabVIEW的图片处理功能生成字模的设计
首先设置一个白色的按钮,通过属性节点,把输入的字符作为这个按钮的文本显示。在通过调用节点,获取这个布尔的图像数据。将图像数据转化为8位像素矩阵。同样的方法获得一个同样大小但没有布尔文本的纯白色按钮的像素矩阵。将2个矩阵做异或比较。得到一个二维布尔矩阵,直接输出这个矩阵就得到了该字符的点阵。生成字符矩阵框图程序如图2所示。采用比较的方法获得点阵,因此可以采用这种方法在同一系统中产生数字、汉字、英文或各种特殊符号的字模点阵,简化了编程过程,使用方便灵活。
由于LahVIEW有很强的格式转化功能,将生成的点阵按照下位机的驱动方式运用其中数组的运算控件对点阵进行修改,得到电感厂家符合要求的字符串。程序框图,如图3所示。图中的字模1为用于上位机显示的字符串形式,字模2为用于串口通信的字符串形式。
LabVIEW中用于串行通讯的节点实际上是VISA节点,为了方便用户使用,LabVIEW将这些节点单独组成1个子模板,共包含6个节点。字模2通过
LabVIEW的控件VISA与单片机的串口进行传输。IabVIEW本身也具有写入电子表格文件功能,可以将生成的字模储存为任意格式的文件,相当于一个字模提取软件,用于普通LED显示屏设计。最终的字模提取操作界面即前面板如图4所示。
2 单片机控制电路设计
LED显示屏的设计采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路74HC15 4、16×16 LED点阵等部分组成,电路图如图5所示。
本设计所使用的16×16 LED矩阵是由4块8×8LED共阳极矩阵拼接组成。
把行列总线接在单片机I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入AT89C51单片机,则需要使用32条I/O口,这样会造成I/O资源的耗尽,系统也再无扩充的余地。因此,在实际应用中只将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4~16线译码器74HC154来选择控制,这样列选控制只使用了单片机的4个I/O口,节约了I/O资源,为单片机系统扩充使用功能提供了条件。由于P0口做通用数据I/O端口驱动负载时,必须外接上拉电阻,因此使用4.7 kΩ排电阻作为P0口的上拉电阻。