随着人工、场地等费用不断增加,需要有人值守的商店售卖商品模式成本太大,需要一种新型的、自动的、无人的售货系统来代替。自从自动售货机发明以来,这种机器就在全球范围迅速普及推广。本文意在通过单片机来设计一款自动售货机,以加深对电子电路设计的学习和思考。
一、总体设计
本文设计的自动售货机以AT89C51单片机、按键模块以及HX711检测模块为主,实现了不同价格商品的选择、价格输入及确认、硬币检测等。LED灯指示8种商品价格,LCD实时显示售价、数量信息;按键用来选择商品种类及数量、确认与取消等操作;利用A/D转换器芯片HX711来检测硬币;单片机接受按键及硬币检测信息进行判断后进而模拟实现自动售货机的功能。
二、系统硬件电路设计
1、系统整体电路设计。整个系统共分为5个模块:分别是单片机控制模块、显示模块、硬币检测模块、按键模块以及LED指示灯模块。整体的电路设计如下图所示。
2、单片机核心控制电路设计。本文选择51系列单片机,该芯片共有8个部分组成,分别为:外部和内部时钟模块;具有数据处理和交换功能的ROM和RAM部分;能够同时实现8位以及16位的组合内部定时以及外部计数的部分;TX和RX模块,4路32个多功能引脚;核心CPU和中断管理模块。
3、显示电路设计。显示电路主要由单片机的 P20口对液晶的8个数据口控制,进行数据读写操作,相关的读写指令则由单片机的P3.2、P3.3以及P3.4控制实现。
4、按键电路设计。如图1所示,通过price加、减来实现对物品价格增加和减