stm32毕设 自动售货机设计与实现(源码+硬件+论文)

这篇具有很好参考价值的文章主要介绍了stm32毕设 自动售货机设计与实现(源码+硬件+论文)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 单片机的自动售货机设计与实现(源码+硬件+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 项目分享:

https://gitee.com/sinonfin/sharing文章来源地址https://www.toymoban.com/news/detail-713531.html

基于stm32自动售货机,单片机

1 主要功能

主要功能: 一款自动售货机设计,能够实现自动售货功能,使用STC89C52RC单片机做控制,LCD12864做显示,按键做货物的选择,步进电机做出货口的控制,蜂鸣器做报警提示。当选择好货物后,会提示投币付款,付款成功后,蜂鸣器会响一声,并伴随着电机转动,自动出货。

  • 1.使用STC89C52RC单片机做主控制器件。

  • 2.使用LCD12864做显示屏,12864可显示汉字、数字、字母等。显示屏显示欢迎界面、货物信息等。

  • 3.使用按键做货物选择、投币、确实、返回等选择。

  • 4.使用步进电机做出货口的控制,出货完成后,步进电机自动归位。

  • 5.使用蜂鸣器做报警提示,当付款完成后,蜂鸣器会自动响一下,伴随电机转动,自动出货。

基于stm32自动售货机,单片机

2 硬件设计(原理图)

基于stm32自动售货机,单片机

PCB图

基于stm32自动售货机,单片机

仿真效果

基于stm32自动售货机,单片机

3 核心软件设计

在程序层次结构方面,当系统上电之后,应先对其进行相关初始化(如对每种饮料价格的设定和商品原始库存数量的设定等)。然后程序应当进入无限循环,再根据相应的触发条件进入相应的子程序,完成相应的状态下的工作。由于系统在多个状态间跳转切换,所以在程序编写时比较适合应用循环结构实现。自动售货机工作的整个流程图如图

基于stm32自动售货机,单片机

关键代码

main()
{
    TMOD=0x01;					//T0 工作在方式1 16位计数器
    TH0=(65536-50000)/256; 	//预先 设定定时器 初值,50毫秒
    TL0=(65536-50000)%256;
    EA=1;						//开启 总中断
    ET0=1;						//开启定时器 0 中断
    TR0=1;						//定时器 0 启动计数
    init_lcd();
    clrram_lcd();
    while(1)
{   
show();
        key();
    }
}
void time0(void)  interrupt 1
{
    TH0=(65536-50000)/256;		//重新设置定时器 初值,产生50MS定时中断
    TL0=(65536-50000)%256;
    count++;					//50ms太短,闪烁频率太快
    if(count==10)
    {
        if(n==0)
        {
					
     //       Time[0]=m%1000/100+'0';
            Time[0]=m/10+'0';
            Time[1]=m%10+'0';
            Time[2]='\0';
					 Time[3]='\0';
        }
        if(n==1)
        {
					if(money<=900)
					{Time[0]=money/100+'0';
            Time[1]=money%100/10+'0';
            Time[2]='.';
            Time[3]=money%10+'0';
					}
					else {money=900;
						Time[0]=money/100+'0';
            Time[1]=money%100/10+'0';
            Time[2]='.';
            Time[3]=money%10+'0';
					}
        }
		 Time[4]='\0';	
				Time[5]='\0';
        count=0;
        //if(m==0)m=30;
        n++;
        if(n==2 && m > 0)
        {
            if(m==6)beep=0;
            if(m==5)beep=1;
            m--;
            n=0;
        }
        nn++;
        if(nn==20)
        {
            nn=0;
        }
    }
}
4、液晶显示主程序模块
void show()
{
    if(nn<10)
    {
        gotoxy(1,0);
        print("按键选择货物:");
        mdelay(10);
        gotoxy(2,0);
        print("①矿泉水(1.5元)");
        mdelay(10);                 //扫描延时
        gotoxy(3,0);
        print("②红茶(3元)    ");
        mdelay(10); 	//扫描延时
        gotoxy(4,0);
        print("③绿茶(4元)");
        mdelay(10);                 //扫描延时
    }
    if(nn==10)clrram_lcd ();
    if(nn>=11)
    {
        gotoxy(1,0);
        print("④啤酒(5元)");
        mdelay(10) ;
        gotoxy(2,0);
        print("⑤红牛(6元)");
        mdelay(10);                 //扫描延时
        gotoxy(3,0);
        print("选定后投入硬币");
        mdelay(10); 	//扫描延时
    }
}

4 实现效果

基于stm32自动售货机,单片机

基于stm32自动售货机,单片机

5 最后

包含内容

基于stm32自动售货机,单片机

🧿 项目分享:

https://gitee.com/sinonfin/sharing

到了这里,关于stm32毕设 自动售货机设计与实现(源码+硬件+论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA实现简易的自动售货机模型

    环境: 1、Quartus18.1 2、vscode 3、板子型号:EP4CE6F17C8N 要求: 自动售货机功能: 1.两个按键用于投币,1个1元,1个5角 2.一个按键用于商品选择,农夫山泉2块,干脆面1块5 3.找零 设计: 我们选择使用四个按键,分别用于投币一元、五角、商品选择、结算四个功能。用六位数码管

    2024年02月09日
    浏览(28)
  • 自动售货机仿真操作设计verilog代码AX301开发板Quartus

    名称:自动售货机仿真操作设计verilog代码AX301开发板Quartus 软件:Quartus 语言:Verilog 代码功能: 具有单价0.5、1.0、1.5、2.0元的4种商品 可以通过按键选择商品 可以投币 投币后按键确认购买 购买成功后找零,若投币不足则直接退钱,不出商品 找零时间3秒 本代码已在AX301开发板

    2024年02月20日
    浏览(29)
  • 【FPGA】基于状态机实现自动售货机模拟

    此自动售货机模拟基于EP4CE6F17C8开发板实现,用按键,led灯,数码管表示各个输入输出 功能: 此自动售货机可以选择A(三元)与B(五元)商品且选择商品数量,一次可以投1块与5块钱。当投币数量满足商品价格时则能出货,且退款额外支付,在任意阶段皆可以取消支付并退

    2024年02月16日
    浏览(32)
  • python自动售货机

    分享python实现自动售货一个小作业 输入2进行购买商品,输入商品id和数量,可以选择不同商品,最后进行结账操作。 可以有两种查询方式,全部查询和按时间条件查询 具体操作如下: 全部查询: 时间条件查询: 就按4直接退出23333 其实就是参考路边的自动售货机贩卖饮料啥的,

    2024年02月11日
    浏览(23)
  • 【Python实训】饮品自动售货机

    这段代码定义了三个函数:show_goods()、total()和main()。show_goods()函数用于展示饮品信息,total()函数用于计算总额,main()函数用于控制整个饮品自动售货机的操作流程。 运行程序后,会首先调用show_goods()函数展示饮品信息,然后用户可以根据展示的信息选择饮品和数量,输入

    2024年02月05日
    浏览(33)
  • 基于FPGA的自动售货机

    目录 一、项目功能 二、设计思路 按键实现: 数码管 蜂鸣器 LED灯 三、流程图 四、代码实现 1、按键消抖  key_debounce.v  2、LED状态选择  led_drive.v 3、蜂鸣器模块   beep_drive.v 4、数码管位选信号选择  sel_drive.v 5、数码管段选信号选择     seg_drive.v 6、售货机按键选择处理

    2024年02月06日
    浏览(23)
  • 【FPGA入门八】自动售货机

    功能完整描述: KEY4:开关机按键,复位时,默认是关机状态,数码管和LED灯均不亮,同时蜂鸣器响,其余按键按下无效。 KEY3:在开机状态时,投币1元 KEY2:在开机状态时,投币为0.5元 KEY1:当投币但少于货物的价格时,取消订单,数码管显示为0.0,同时LED灯实现跑马灯2s然

    2024年02月08日
    浏览(27)
  • 自动售货机销售数据分析与应用

    本书不仅适用于零基础的读者自学,还适用于教师教学,为了帮助读者更加高效地掌握本书的内容,本书提供了以下10项附加价值: (1)建模平台:提供一站式大数据挖掘建模平台,免配置,包含大量案例工程,边练边学,告别纸上谈兵 (2)视频讲解:提供不少于600分钟

    2024年02月08日
    浏览(32)
  • VIVADO自动售票机售货机verilog代码ego1开发板验证

    名称:VIVADO自动售票机售货机verilog代码ego1开发板验证 软件:VIVADO 语言:Verilog 代码功能: 自动售票机  1、自动售票机只出售1角、2角、5角和1元4种车票 2、只接收1角、5角和1元硬币,每次只能出售1张车  3、自动售票机具有累加销售额的功能 实验要求  出售车票用SW0~3分别

    2024年02月05日
    浏览(35)
  • stm32毕设 自动晾衣架设计与实现(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月03日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包