单片机自动售货机c语言,基于单片机的自动售货机

7290c3a6b00e03c749efb1c4cb4300cd.png

随着人工、场地等费用不断增加,需要有人值守的商店售卖商品模式成本太大,需要一种新型的、自动的、无人的售货系统来代替。自从自动售货机发明以来,这种机器就在全球范围迅速普及推广。本文意在通过单片机来设计一款自动售货机,以加深对电子电路设计的学习和思考。

一、总体设计

本文设计的自动售货机以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加、减来实现对物品价格增加和减

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 自动贩卖机是指一种能够实现自主售货的机器设备。设计一个自动贩卖机,我们可以使用c52单片机实现其功能。首先,我们需要考虑以下几个方面: 1. 识别和储存商品信息:c52单片机可以通过连接传感器来检测各个货道中商品的存货情况,并将商品信息存储在内部存储器中,包括商品名称、价格、剩余数量等。 2. 货道控制:c52单片机可以通过控制电机或电磁阀来实现货道的开关门操作,从而让商品可以被顾客取出。 3. 支付系统:c52单片机可以通过连接货币接收器和找零器等外围设备来实现顾客的支付功能,根据输入的金额判断是否足够购买商品,并进行找零处理。 4. 用户界面:c52单片机可以通过连接液晶显示屏和按键等外围设备来实现与顾客的交互,显示商品信息、价格和支付指示,并接受顾客的选择和支付信息。 5. 数据统计与管理:c52单片机可以通过连接计数器和存储器等外围设备来统计商品的销量情况,将销售数据存储在内部存储器中,便于商家进行管理和统计。 总之,通过充分利用c52单片机的控制和通信功能,可以设计出一个功能完善的自动贩卖机,实现商品的识别和储存、货道的控制、支付系统的实现、用户界面的交互以及数据统计与管理等功能。这样的自动贩卖机可以提供更加便捷的购物体验,并方便商家进行库存管理和销售统计。 ### 回答2: 使用C52单片机设计一个自动贩卖机可以按照以下步骤进行: 1. 系统初始化:通过设置C52单片机的引脚,为系统连接必要的硬件设备,例如显示屏、按键、取货电机等。并进行相应的中断初始化,以实现系统的稳定工作。 2. 按键输入:通过编程读取按键输入,当用户按下对应的按钮,单片机可以检测到并执行对应的操作。比如选择商品、取消操作、确认购买等。 3. 商品选择与库存管理:在显示屏上展示商品信息,并根据按键输入,通过编程实现商品选择的功能。同时,需要设计相应的存储空间用于保存商品库存信息,在用户购买后及时更新库存数量。 4. 投币和找零:设计投币接口,接收用户投入的硬币,并实时统计总金额,当用户选择购买商品时,判断金额是否足够支付。如果足够,计算需要找零的金额,并控制找零装置完成找零操作。 5. 取货电机控制:用户支付完成后,使用C52单片机控制取货电机工作,将商品从货架上取出,放入取货口供用户取走。 6. 错误处理:通过编写合适的程序逻辑,实现错误处理的功能。例如用户投错币、库存不足、取货口堵塞等情况,可以提示错误信息,并退还用户的投入。 7. 系统维护:编写相应的程序,用于检测系统的运行状态和维护。如果发现硬件设备故障或者库存不足,及时进行报警或联系维修人员。 通过上述步骤,使用C52单片机设计一个自动贩卖机可以实现自动购物、找零、取货等功能,并能够处理一些错误情况,提高自动贩卖机的智能化和自动化水平。 ### 回答3: 自动贩卖机是一种便捷的自动化销售设备,用于提供各种商品或服务。要设计一个用C52单片机控制的自动贩卖机,首先需要考虑的是硬件和软件的设计。 硬件设计部分,我们需要选择适当的传感器,用于检测货物的数量、硬币或纸币的投币情况以及对用户的交互响应等。传感器可以选择红外线传感器、压力传感器等。此外,还需要选择合适的执行部件,如电机、电磁阀等,用于控制商品的出货和找零功能。 软件设计部分,可以使用C52单片机的编程语言C语言来编写控制程序。程序需要包括货物数量的检测和显示、投币识别和计数、找零功能、选择商品和出货等功能。具体而言,程序要实现的功能包括:接收用户的选择指令,根据指令选择对应的商品;检测货物的数量,若库存不足,则显示“缺货”;识别用户投币的数额,计算总额;若投币金额大于所选商品的价格,则出货,并找零;最后,显示交易结果和剩余的库存数量。 在开发过程中,需要仔细测试和调试程序,确保各个功能的可靠性和稳定性。此外,还需注意保障系统的安全性,防止被非法操作或欺诈行为。 总而言之,设计一个基于C52单片机的自动贩卖机需要考虑硬件和软件的设计,包括传感器的选择,控制程序的编写以及安全性的保障。通过合理的设计和开发,能够实现自动售货、计算和找零等功能,提升用户的购物体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值