随着时代的进步与发展,单片机技术已经普及到我们的生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一种基于STC89C52单片机的智能元器件库管理系统。详细描述了利用触摸屏开发出管理系统的交互界面,单片机通过处理屏幕发来的指令,实现元器件库管理的功能,并且对电路的设计,功能的实现进行了详细的讲解。本管理系统具有良好的交互体验,并且具有用户及管理员登录验证、元器件出库入库、库存查询、用户账号密码查询、增删用户、节能模式、掉电保护等功能。具体用到的元件和模块有STC89C52RC、XG07C电子锁、DMT10600C070_07W迪文屏和自制双层木柜,功能完善、结构合理。该作品具有交互方便、低功耗、安全系数高等优点,适合于存储管理。
关键词:元器件库管理、STC89C52单片机、XG07C电子锁、迪文屏
随着科技不断发展,现代社会对电子设备的需求有了几何级的增长,但是在仓储管理领域,很多单位还是停留在人工管理的阶段,这样造成了效率低下,保密性差等许多问题。所以将电子设备应用于仓储领域,是十分有必要的。而如何准确地把握住客户的需求,需要我们具有良好的电路设计能力以及编程思维,更重要的是有合理的设计方案。在仓储管理领域,最重要的三个技术部分就是简单方便的交互、高安全系数的操作系统以及高效的库存管理。基于此,我们制作了一个智能元器件库管理系统,本文将对该系统的功能和实现过程进行详细介绍。
由于通过单片机实现智能元器件库的方法有很多种,同时单片机的类型同样具有很多选择,所以在做此设计之前需要明确选择的方案。选择了正确的方案不仅可以节约成本,同时还可以使我们的设计结果更加准确,功能更加齐全,操作更加方便。减少了开发难度,也缩短了开发时间。
这是一种基于STC89C52单片机的智能储存柜的设计,主要结构有主控单元、柜锁单元、显示单元等.显示单元显示储物的相关信息及用户管理,有利于用户及时掌握各项信息;柜锁单元可以控制柜门的开关,并提醒用户及时关门。
方案一:采用传统的AT89C51单片机
AT89C51是由Atmel公司开发的,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。它能够与MCS-51兼容。但是其存储空间较小,所以不能采取此芯片。
方案二:采用STC89C52芯片
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统的51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,所以采用此芯片。
方案一:使用矩阵键盘与LCD显示屏
使用矩阵键盘与LCD显示屏,开发成本较低,开发过程较简单。但是由于矩阵键盘只能输入数字,难以实现输入账号密码以外的功能。LCD显示屏的功能比较简单,难以实现复杂的界面。所以不采用这种交互方式。
方案二:使用MCU显示屏
其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令,进行变换,变成每个象素的RGB数据,使之在屏上显示出来。MCU-LCD的设计之初只要考虑单片机的内存较小,因此都是把显存内置在LCD模块内部.然后软件通过专门显示命令来更新显存,因此MCU屏往往不能做得很大。
方案三:使用迪文触摸屏
迪文屏具有完善强大的功能,成熟的开发平台,虽然较之于方案一开发难度有所上升,但对于提高用户体验以及交互的效率而言,无疑是更好的选择。并且由于迪文屏本身带有较大的内存空间,我们可以将图片、用户数据等内容保存在屏幕的内存空间中,这样便于交互过程中数据传输速度的提升。另外,利用迪文屏,我们可以设计出更加精美,方便的界面,对于使用者更加友好。综上,我们选择迪文屏作为交互工具。
由于需要带作品去比赛现场展示,所以需要自制出大小适合的柜子,确保结构的合理性。
方案一:簧片+滑轨
使用簧片加滑轨的方式进行柜门的开关,可以较为便捷地将柜门弹开。但是由于需要人工进行柜子的搭建,滑轨的组装较为困难。并且这个组合功能较为单一,只能单纯地弹开柜门,所以并不理想。
方案二:使用电子锁
XG07C电子锁具有四条线,分别为VCC、GND以及两条信号线(其中有一条是反馈线),并且自带弹簧,在接受到开锁信号之后会自动开锁,并利用弹簧将柜门弹开。反馈信号线的使用,可以使我们检测柜门的开关状态,可以在交互界面进行提醒。综上,采用电子锁可以进行更好的柜门开关控制。
方案一:用面包板直接制作
面包板仅需导线和元器件插接,操作较复杂,线路混乱,易于出错,面包板是插接电路,容易造成接触不良。
方案二:采用洞洞板制作
采用洞洞板焊接的电路成本低,设计简单,线路直观,不易出错,可随时添加想要的功能模块。但是保存以及安全方面较差。
方案三:采用PCB板制作
PCB板有多层的类型,几乎可以实现全部电路的焊接,分级屏蔽信号也叫容易实现,对线路的保护较好。
所以选择方案三。
宏观思想
用户根据想要实现的功能,在触摸屏上点击相应的按钮,屏幕就会通过串口发出相应的指令给主控芯片。单片机经过编程,能够判断出所接受到的指令,从而进入对应的功能。如果是想对屏幕的显示或者用户和元器件的数据进行修改,则会发出对应的指令给屏幕。要是想要控制柜门的开关, 则会给电子锁相应的电平和信号。
本系统的交互模块使用的是DMT10600C070_07W的迪文屏,通过该触摸屏实现用户和单片机的交互。
(1)迪文屏的原理
迪文屏把GUI分解成控件并按页面来配置,控件显示直接由变量控制。在通过PC软件配置好控制文件之后,将其下载到DUGS屏,用户仅仅需要通过串口改写变量值即可实现控件显示的相应改变。
触摸屏或键盘录入过程,通过 PC 软件按照页面定义的触控文件(13.BIN)来控制,用户软件仅需要定时(或者参数改变时的串口中断触发)来读取录入变量值即可。
(2)迪文屏的一些参数
①、56KB 变量空间,8 通道曲线趋势图存储器,极快(最快 80mS)的变量显示响应速度;
②、 256 字节配置寄存器空间,串口指令读写,用于硬件控制和操作;
③、256MB(可以扩展到 1GB、2GB)Flash 存储器,海量图片、图标、字库存储;
④、每页可设置多达 128 个显示控件(支持显示控件叠加)和任意多的触控控件。
⑤、SD/SDHC 接口,FAT32 文件格式,可以使用 SD 卡来实现 DGUS 屏硬件参数配置、图片数据下载、软件升级,批量生产时尤其方便,并便于生产档案管理。
⑥、集成了 RTC(公历/农历)、集成背光亮度调节、背光自动待机、触控蜂鸣器伴音功能;
⑦、支持语音播放功能、支持电容触摸屏、可以在图片存储器空间构造高可靠性用户数据库;
⑧、集成的 DWIN OS 平台,丰富的指令,可以允许用户把一部分代码放到 DGUS 屏上运行,让用户二次开发变得简单,也提供了 DGUS 屏做为系统主控设备的可能。
(3)迪文屏的指令构成
DGUS 屏采用变量驱动模式工作,屏的工作模式和 GUI 状态完全由数据变量来控制。相应的,串口指令也只需要对变量进行读、写即可,指令集非常简单,一共只有 5 条指令。
(4)电气属性
迪文屏需要有5V的直流电压输入,带有接地端。另外还有四个用于串口通信的引脚,分别是RX2、RX4、TX2、TX4。由于RX4和TX4需要在OS平台使用,我们使用的是指令集,所以只需要用到它的RX2和TX2与单片机进行串口通信。
(5)系统规格
系统供电
产品供电通过标有“UART0&Power”的 8-pin 接口。在 PCB 板上有一处可短路接线,标记为 “ON=5V,OFF=6V-42V”,当设置为“OFF”时,供电范围是“6~42V”,当设置为“ON”时, 供电电压为 5V。
UART0&Power 接口
UART0&Power 接口的 TXD 和 RXD 分别是发送和接收引脚。UART0&Power 支持 TTL 或者 RS232 电平。在 PCB 板上有一处可短路接线,标记为:“ON=TTL,OFF=RS232”。当设置为“OFF” 时,支持 RS232;当设置为“ON”时,支持 TTL,可直接接 MCU 或者 ARM。UART0&Power 的 8 个引脚定义分别是:VCC、VCC、NC、TXD0、RXD0、RXD0、GND 和 GND。
UART1&2&4 接口
UART1&2&4 接口的 TXD 和 RXD 分别是发送和接收引脚。RS232,包含串口 1、串口 2 和串口 4。其 8 个引脚定义分别是:RXD2、TXD2、RXD1、RXD1、TXD1、GND、RXD4 和 TXD4。 UART4 出厂时默认断开,防止用户从那个端口上电导致产品烧坏。用户如果需要用 UART4,需要 短接两个焊盘。
外接扬声器接口
产品提供一个功率为1W的4-pin 2.54mm间距的插座接口,标记为:“SPEAKER”。原理图 如下
麦克接口
产品在核心模块右上角附近提供两个焊线接口,左为“+”,右为“-”,文字标记为“MIC”。
USB 0 接口
产品提供 1 个 USB 2.0 接口,在其右侧有一处可短路接线,标记为:“ON=USB0 HOST, OFF=USB0 DEVICE”,当设置为“ON”时,接口为 HOST 接口,可支持 USB 3G 网络、USB 相机、U 盘、USB 键盘和 USB 鼠标等;当设置为“OFF”时,接口为 DEVICE 接口。
USB 1 Host 接口
产品提供 1 个 USB 2.0 HOST 接口,可支持 USB 3G 网络、USB 相机、U 盘、USB 键盘和 USB 鼠标等。
Micro SD 接口
产品提供一个 Micro SD 插座,支持 MMC4.2、SD2.0 和 SDIO1.0 协议
WIFI 和以太网接口
产品提供单波段 2.4GHz IEEE 802.11b/g/n WIFI,支持 WEP、WAPI、WPA、WPA2、TKIP、AES 和 CKIP 加密。提供 10M/100M 以太网接口。
柜门控制开关采用的是XG07C电子锁。通过该模块,我们可以是实现接收单片机信号,弹开柜子,反馈柜门开关状态的功能。
(1)XG07C电子锁的结构和参数
(2)XG07C电子锁的工作原理
①、机械应急开锁位置:这款电子锁设计有机械开锁装置,在断电的情况下,按下锁杆即可开锁。
②、开关检测:内置微动开关短路信号检测,上锁即导通,开锁即断开,可反馈门开关状态。
③、弹簧设计:内置高强度弹簧推杆,提高开门反弹力度,可弹开0.5-0.7Kg的门。
(3)电气属性
这款电子锁的驱动需要的是12V的直流额定电压,1.8A的直流电源,功率在21.6W。需要注意的是它的通电率为5%,即最大通电时长为500ms,超过这个时间可能会烧坏电子锁。
主要包括最小系统与柜门控制模块,人机交互模块只需通过4P排针即可实现功能。
单片机最小系统,也叫做单片机最小应用系统,是指用最少的原件组成单片机可以工作的系统。单片机最小系统通常由三部分组成:电源、晶振、复位电路。在我们设计的系统中,采用了上电复位的方式实现复位的功能,由此省略了复位电路。原理图如下:
!!上图为一开始设计的接法,疏忽没接好复位系统,从而导致一直处于复位状态,单片机无法正常运行。
正确接法如总体原理图所示
系统电路设计思路:
a、我们所选用的芯片为STC89C52,它需要5V的供电系统,我们通过USB转TTL模块,通过USB接口给系统供电。从原理图可以看到,供电电路在 40 脚和 20 脚的位置上,40 脚接的是+5V,通常也称为 VCC 或 VDD,代表的是电源正极,20 脚接的是 GND,代表的是电源的负极。
b、晶振电路采用的元件为12MHZ的晶振以及两个22pF的陶瓷电容。晶振起到的作用是为单片机系统提供基准时钟信号,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的,STC89C52 单片机的 18 脚和 19 脚是晶振引脚,我们接了一个 12M 的晶振(它每秒钟振荡 12,000,000 次),外加的两个电容作用是帮助晶振起振,并维持振荡信号的稳定。
柜门的开关在lock模块控制。由于锁所需要的电流是1.5A,单片机流出的电流太小,需放大电流,因此设计了如下所示原理图:
!锁的工作电压虽然是5V,但是对电流也有一定要求,又因为从单片机输出的电流太小,所以需要通过图示电路,进行电流的放大。根据欧姆定理,通过调节R4、R8来控制工作电流。
修改前 :
修改后:
遇到问题分析及其解决方法:
1.DC电源插口方向设反
强行掰角度,使得前方刚好可以接上电源
2.封装与实物不符
主要在于开关、MOS管与封装不同。
开关通过铁丝,按正确的引脚焊接;mos管由于封装太小,只能更换。
3.复位电路连接出错
割断原PCB板电线,通过飞线衔接正确电路
4.所用电线太细
这需要通过较大电流,所用电线太细容易烧断电线,通过焊接铁丝分流,减轻电线负担。
5.焊接困难
焊接困难主要因为所用贴片封装太小,对于刚接触焊接的同学,容易造成虚焊,所以尽量选择大一点的贴片封装,或者改用直插型封装。
6.单片机引脚损坏
单片机引脚损坏,可能是由于自身原因,也可能是由于焊接时间过长。
通过割线飞其他正常引脚的方式解决,也可直接更换单片机。
序号 | 名称 | 物料详细型号 | 数量 | 位号 | 通用封装 |
---|---|---|---|---|---|
1 | PCB板 | – | 1 | \ | \ |
2 | DC电源插口 | KH-DC1009-NW | 1 | P1 | DC-IN-TH_DC002-1.3 |
3 | 自锁开关 | BTSA-N-P-19 | 1 | SW1 | SW-TH_BTSA-X-P-19 |
4 | 51单片机 | STC89C52 | 1 | U1 | STC89C52 |
5 | 瓷片电容 | 22pF | 2 | C1、C2 | CAP-TH_L6.5-W3.5-P5.00-D1.2 |
6 | 极性电容 | 10uF | 1 | C3 | CAP-TH_BD5.0-P2.00-D0.8-FD |
7 | 晶振 | 12MHz | 1 | Y1 | HC-49US_L11.5-W4.5-P4.88 |
8 | 电阻 | AC0805FR-7W1KL | 1 | R1 | R0805 |
9 | 电阻 | 100K | 2 | R2、R6 | R0805 |
10 | 电阻 | 10K | 2 | R3、R7 | R0805 |
11 | 电阻 | 2 | 2 | R4、R8 | R0805 |
12 | 电阻 | 4.7K | 2 | R5、R9 | R0805 |
13 | MOS管 | SI2301_C382299 | 2 | Q1、Q2 | SOT-23-3_L3.0-W1.7-P0.95-LS2.9-BR |
14 | 三极管 | S9013_C916365 | 2 | Q3、Q4 | SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR |
15 | 4P排针 | GP26-2520WV-4P | 3 | – | HDR-TH_4P-P2.54-V-F-R1-C4 |
链接:https://pan.baidu.com/s/1IGqnXG08dzlGBBxDAhpcfw
提取码:8yzo
复制这段内容后打开百度网盘手机App,操作更方便哦
原文所在:
原文链接