一、功能简介
本项目使用proteus8仿真stm32单片机控制器,使用lcd1602显示模块、矩阵按键模块、led和蜂鸣器、继电器模块等。
主要功能:
系统运行后,lcd1602显示系统初始界面,可通过矩阵按键s1和s5选择商品,lcd液晶显示商品价格,共有8种价格商品可供选择,且选择的商品对应led会有指示。可通过s9和s13选择商品数量,当需要返回时可按下s16键,选择好商品和数量后可按下s12键,此时lcd显示累计商品总价,此时可通过键盘输入投币数,lcd显示投币值,若投币数值大于等于商品累计总价,则驱动继电器出货,且蜂鸣器报警提示,lcd显示找零数。若投币数小于商品累计总价,则lcd显示继续投币。
二、软件设计
//系统参数初始化
void sys_parm_init(void)
{
sys_ctrl.pric=0;
sys_ctrl.num=1;
sys_ctrl.coin=0;
sys_ctrl.runflag=0;
sys_ctrl.change=0;
}
//系统开机界面显示
void sys_open_show(void)
{
lcd1602_clear();
lcd1602_show_string(0,0, -->welcome8)sys_ctrl.pric=1;break;case 5://商品价格-
sys_ctrl.pric--;if(sys_ctrl.pric9)sys_ctrl.num=1;break;case 13://商品数量-
sys_ctrl.num--;if(sys_ctrl.num=sys_ctrl.pric)
{
lcd1602_clear();
lcd1602_show_string(0,0,shipment...);
lcd1602_show_string(0,1,change:);
//显示找零数据
sys_ctrl.change=sys_ctrl.coin-sys_ctrl.pric;
lcd1602_show_nums(7,1,sys_ctrl.change,3,0);
relay=0;//打开商品输出
beep=0;//打开蜂鸣器
delay_ms(2000);
beep=1;//关闭蜂鸣器
relay=1;//关闭商品输出
//关闭led指示灯
item_led1=1;item_led2=1;item_led3=1;item_led4=1;
item_led5=1;item_led6=1;item_led7=1;item_led8=1;
sys_parm_init();
sys_open_show();
sta=0;
sys_ctrl.runflag=0;
}
//如果投币数小于商品价格累计总和,则显示继续投币提示信息
else
{
lcd1602_show_string(0,0,please continue to coin... );
}
}
}
//应用控制系统
void appdemo_show(void)
{
sys_parm_init();//系统参数初始化
ctrl_pin_init();
key_matrix_init();
beep_init();
lcd1602_init();//lcd1602初始化
sys_open_show();//系统开机界面显示
while(1)
{
sys_fun_ctrl();//系统功能控制
}
}
三、实验现象
PCB线路板生产会造成哪些偏差?层偏对阻抗的影响
“2018中国芯片发展高峰论坛”在金陵之城南京隆重开幕
基于DM642的嵌入式无线视频监控系统硬件设计
信息到底是什么?信息定义了我们生活的一部分
图形化嵌入式系统设计助力救生蜘蛛机器人
STM32单片机自动售货机系统设计
动力电池与普通电池的区别
一文看懂sp3232与max3232区别
关于农业测土仪测土步骤的详细介绍
三坐标测量方法有哪些?有哪些三坐标测量仪?
2014年德州仪器全国大学教育者年会在上海召开
基于环形队列的串口打印阻塞解决方法
华为云等保解决方案提供一站式信息安全保障体系,为您的企业安全保驾护航
!租售/回收/维修CMD60综合测试仪CMD60 小兵/李S
爱立信与Azercell Telecom合作将在阿塞拜疆部署5G网络服务
医疗器械研发设计医疗设备二次开发克隆仿制
Windows Mobile电源管理分析与实现
iPhone8什么时候上市?iphone7s/iphone 8即将发布,外观将大改,有许多新功能,史上最贵的iphone8你买吗?
用Rust重写了自己的项目
smt贴片加工工艺材料的种类与作用