程序单附件.pdf

饮料自动售卖机设计

收藏

资源目录
跳过导航链接。
饮料自动售卖机设计.rar
最终打印版
图纸
程序仿真
优化后控制程序.a51
优化后控制程序.asm
优化后控制程序.bin
优化后控制程序.err
优化后控制程序.lst
优化后控制程序.lt
硬币退收控制程序.a51
硬币退收控制程序.ASM
硬币退收控制程序.bin
硬币退收控制程序.err
硬币退收控制程序.lst
硬币退收控制程序.lt
论文文档
部分需要的图
压缩包内文档预览:(预览前20页/共28页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:38577064    类型:共享资源    大小:14.28MB    格式:RAR    上传时间:2020-01-09 上传人:遗**** IP属地:湖北
30
积分
关 键 词:
饮料 自动 售卖 设计
资源描述:
饮料自动售卖机设计,饮料,自动,售卖,设计
内容简介:
编号:毕业设计毕业设计( (论文论文) )说明书说明书附附件件题目:饮料自动售卖机设计院(系) :机电工程学院专业:机械设计制造及其自动化学生姓名:方赏华学号:0600110204指导教师单位:机电工程学院姓名:龙向前职称:实验师题目类型:理论研究实验研究工程设计工程技术研究软件开发2010 年 4 月 10 日桂林电子科技大学毕业设计(论文)报告用纸共 27 页1程序单程序单程序单程序单1.1. 程序程序 1 1(纸杯选择控制程序)(纸杯选择控制程序) :桂林电子科技大学毕业设计(论文)报告用纸共 27 页2按照 逆 时 针 B-BC-C-CA-A-AB-B-BC-C通电, 每相邻一拍延时 0.2s,最后一拍完成后延时 10s电机顺时针转延 时 10s 钟电机逆时针转静止并 锁定P1.2P1.1P1.0置 为“010”保持 P1.2P1.1P1.0 始终不变步进电机转回最初位置并锁定位置步进电机 控制程序P1.4P1.3=01P1.4P1.3=11P1.4P1.3=10P1.1 置为“1”按照逆时针 B-BA-A-AC-C-CB-B-BA-A通电, 每相邻一拍延时 0.2s,最后一拍完成后延时 10sP1.5=1 ?即 发现假币否?保持静止并锁定YESNO#include sbit L0=P10; /定义端口,A 相;sbit L1=P11;/B 相;sbit L2=P12;/C 相;sbit L3=P13;sbit L4=P14;sbit L5= P15;sbit L6=P16;桂林电子科技大学毕业设计(论文)报告用纸共 27 页3void delay10s(void) /延时 10 秒子程序unsigned char i,j,k;for(i=019H;i0;i-)for(j=085H;j0;j-)for(k=0FAH;k0;k-);void delay02s(void) /延时 0.2 秒子程序unsigned char i,j,k;for(i=20;i0;i-)for(j=20;j0;j-)for(k=248;k0;k-);void main(void)while(L5=0)if(L4=1)&(L3=1)/选择 1.5 元的纸杯L1=1;/顺时针方向转过 15L2=1;L0=0;Delay02s();L1=0; / 顺时针方向转过 15L2=1;L0=0;Delay02s();L0=1; / 顺时针方向转过 15L1=0;L2=1;Delay02s() ;L0=1; / 顺时针方向转过 15L1=0;L2=0;Delay02s() ;L0=1; / 顺时针方向转过 15L1=1;L2=0;Delay02s() ;L0=0; / 顺时针方向转过 15L1=1;L2=0;Delay02s() ;L0=0; / 顺时针方向转过 15L1=1;L2=1;桂林电子科技大学毕业设计(论文)报告用纸共 27 页4Delay02s() ;L0=0; / 继续顺时针方向转过 15并锁定等待挖纸杯L1=0;L2=1; L6=1;Delay02s(); /预留 6ms 的时间给螺线管挖纸杯Delay02s();Delay02s();L6=0;L1=1; /逆时针方向转过 15L2=1;L0=0;Delay02s();L1=1; /逆时针方向转过 15L2=0;L0=0;Delay02s() ;L0=1;/逆时针方向转过 15L1=1;L2=0;Delay02s() ; L0=1; /逆时针方向转过 15L1=0;L2=0;Delay02s() ; L0=1; /逆时针方向转过 15L1=0;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15L1=0;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15L1=1;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15并锁定L1=1;L2=0; Else if(L4=0)&(L3=1)/选择 0.5 元的纸杯桂林电子科技大学毕业设计(论文)报告用纸共 27 页5L1=1; /逆时针方向转过 15L2=0;L0=1;Delay02s();L1=0; /逆时针方向转过 15L2=0;L0=1;Delay02s() ;L0=1;/逆时针方向转过 15L1=0;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15L1=0;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15L1=1;L2=1;Delay02s() ; L0=0; /逆时针方向转过 15L1=1;L2=0;Delay02s() ; L0=1; /逆时针方向转过 15L1=1;L2=0;Delay02s() ; L0=1; /逆时针方向转过 15并锁定等待挖纸杯L1=0;L2=0; L6=1;Delay02s();/预留 6ms 的时间给螺线管挖纸杯Delay02s();Delay02s();L6=0;L1=1;/顺时针方向转过 15L2=0;L0=1;Delay02s();L1=1; / 顺时针方向转过 15L2=0;L0=0;Delay02s();桂林电子科技大学毕业设计(论文)报告用纸共 27 页6L0=0; / 顺时针方向转过 15L1=1;L2=1;Delay02s() ;L0=0; / 顺时针方向转过 15L1=0;L2=1;Delay02s() ;L0=1; / 顺时针方向转过 15L1=0;L2=1;Delay02s() ;L0=1; / 顺时针方向转过 15L1=0;L2=0;Delay02s() ;L0=1; / 顺时针方向转过 15L1=1;L2=0;Delay02s() ;L0=0; / 继续顺时针方向转过 15并锁定L1=1;L2=0;Else if(L4=1)&(L3=0)/选择 1.0 元的纸杯并挖出纸杯 L6=1;Delay02s(); /预留 6ms 的时间给螺线管挖纸杯Delay02s();Delay02s();L6=0;Else() /其他情况下锁定在 B 相位置L0=0;L1=1;L2=0;桂林电子科技大学毕业设计(论文)报告用纸共 27 页72.2. 程序程序 2 2(硬币去留控制程序) :(硬币去留控制程序) :桂林电子科技大学毕业设计(论文)报告用纸共 27 页8开始发 现 假 币 信 号否?即 P1.0=1?发现退 币 否 ?即 P1.1=1?NO电机正转(逆时针)收取硬币电机逆转(顺时针)退币NOYESYES发现抽 饮 料 按钮信号否?即P1.3=1?等待 2 分钟,并不断检查抽饮料按钮信号NOYES桂林电子科技大学毕业设计(论文)报告用纸共 27 页9;*步进电机的驱动; DESIGN BY BENLADN911FOSC = 12MHz2010.05.10; -; 步进电机的驱动信号必须为脉冲信号! 转动的速度和脉冲的频率成正比!; 本步进电机步进角为 7.5 度 . 一圈 360 度 , 需要 48 个脉冲完成!; A 组线圈对应 P2.4; B 组线圈对应 P2.5; C 组线圈对应 P2.6; D 组线圈对应 P2.7; 正转次序: AB 组-BC 组-CD 组-DA 组 (即一个脉冲,正转 7.5 度);硬币识别装置发现假币则发出“0”信号;-ORG 0000HLJMP MAINORG 0100HMAIN: ORL P2,#30H;为控制做准备ANL P1,#03H;为检查控制条件做准备MOV A,P1JB ACC.1,LOOP4;如果发现假币则自动退币,否则等待抽饮料按钮信号SJMPLOOP3;如果 P1.0=0 则跳到 LOOP3 等待JB ACC.0,LOOP4;如果发现退币信号则退币;-正 转(逆时针) 收取硬币-LOOP1: MOV R3,#48;正转 1 圈共 48 脉冲START:MOV R0,#00HSTART1:MOV P2,#00HMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRJZ START;对 A 的判断,当 A = 0 时则转到 STARTMOV P2,ALCALL DELAY桂林电子科技大学毕业设计(论文)报告用纸共 27 页10INC R0DJNZ R3,START1MOV P2,#00HLCALL DELAY1LJMPMAIN;-反转(顺时针)退币-LOOP3: JB ACC.2,LOOP1 ; 2 分钟内等到抽饮料按钮信号则收取硬币,否则退币JNB ACC.0,LOOP3 ;如果 P1.0=0 则跳到 LOOP3 继续检查SJMPLOOP4LOOP2: LCALLDELAY2 ;等待延时 2 分钟LOOP4:MOV R3,#48; 反转一圈共 48 个脉冲START2:MOV P2,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRJZ START2MOV P2,ALCALL DELAYINC R0DJNZ R3,START3MOV P2,#00HLCALL DELAY1LJMP MAINDELAY: MOV R7,#40;步进电机的转速M3: MOV R6,#248DJNZ R6,$DJNZ R7,M3RET桂林电子科技大学毕业设计(论文)报告用纸共 27 页11DELAY1: MOVR4,#20;2S 延时子程序DEL2: MOVR3,#200DEL3: MOVR2,#250DJNZR2,$DJNZR3,DEL3DJNZR4,DEL2RETDELAY2:;误差 0us,2min 延时子程序MOV R6,#0F0HDL0:MOV R5,#0F8HDJNZ R5,$DJNZ R6,DL0NOPRETTABLE:DB 30H,60H,0C0H,90H;正转表DB 00;正转结束DB 30H,90H,0C0H,60H;反转表DB 00;反转结束END桂林电子科技大学毕业设计(论文)报告用纸共 27 页123.3. 程序程序 3 3(饮料抽取量控制程序):(饮料抽取量控制程序):桂林电子科技大学毕业设计(论文)报告用纸共 27 页13准备开始发现 出 饮 料 信 号否,即 P1.6=1?发现假币否?没发现抽饮料信号?即 P1.7=0?检测硬币投入量的多少,即检查 P1.4P1.3=?按硬币投入量控制电机开启时间, 并根据饮料桶中信号的反馈随时等待使电机停转!开启电机,即使P1.5=1维持电机停转维持电机停转使电 机 停转YESNOYESNONOYES桂林电子科技大学毕业设计(论文)报告用纸共 27 页14开始检测硬币量仅检测到 0.5元硬币 信 号 , 即P1.4P1.3=01仅检测到 1.5元硬币 信 号 , 即P1.4P1.3=11仅检测到 1.0元硬币 信 号 , 即P1.4P1.3=10100ml铜电 极通电否,即P1.0=1?300ml铜电 极通电否 ,即P1.2=1?200ml铜电 极通电否 ,即P1.1=1?开启电机,即使得 P1.5=1 并维持状态使电机停转并维持,即使得 P1.5-0 维持等待下次交易YESYESYESNONONO桂林电子科技大学毕业设计(论文)报告用纸共 27 页15#include sbit L0=P10; /定义端口sbit L1=P11;sbit L2=P12;sbit L3=P13;sbit L4=P14;sbit L5=P15;sbit L6=P16;sbit L7=P17;void delay1s(void) /延时1.0秒子程序unsigned char i,j,k;for(i=50;i0;i-)for(j=40;j0;j-)for(k=248;k0;k-);void main(void)sbit L5=1;/初始化,确保电机在停转状态while (L7=0 ) /如果L7=0维持电机停转状态L5=1; while (L6=0 ) while (L7=1 ) while (L0=0) /检查容器中液位到了50ml否 if(L4=0&L3=1)L5=0;/开启电机并延时1.0sDelay1s();L5=1; while (L1=0 ) /检查容器中液位到了100ml否 if (L4=1&L3=0 ) L5=0;/开启电机并延时2.0sDelay1s();Delay1s();L5=1;桂林电子科技大学毕业设计(论文)报告用纸共 27 页16 while (L2=0 ) /检查容器中液位到了150ml否 if (L4=1&L3=1 )L5=0; /开启电机并延时3.0sDelay1s();Delay1s();Delay1s();L5=1;L5=1;/如果检查到假币信号或者没有按下抽饮料按钮的信号就保持电机停转状态L5=1;/如果检查到出饮料按钮信号就马上停止电机4. 4. 4.4.单片机组优化后的电路、控制流程图及其程序设计单片机组优化后的电路、控制流程图及其程序设计桂林电子科技大学毕业设计(论文)报告用纸共 27 页17思路分析:硬币检测装置在检测到假币的时候发出“1”信号,检测到 0.5 元硬币的时候发出“1”信号并传送到 P1.3 端口,检测到 1.0 元或两枚 0.5 元硬币的时候发出“1”信号并传送到 P1.4 端口。如上面电路所示,硬币真假识别信号经非门负变之后与抽饮料按钮信号相与,如果硬币识别装置没检测到假币,而消费者并不按下抽饮料按钮,收取硬币的电机和抽饮料的电机并不动作,而是保持原状态并等待 2 分钟,若没等到抽饮料按钮信号则自动退币,否则两电机都动作实现收取硬币和抽饮料的目的。在电路中我们还看到硬币真假识别信号与退币按钮信号相或,只要消费者按下退币按钮或者硬币检测装置检测到假币就马上退币。上面电路中我们另一个至关重要的是出饮料按钮电路。我们该怎么让出饮料按钮信号对单片机起控制作用呢?投机取巧的消费者可能会因为偶然机会发现边抽饮料边出饮料会得到多一点。为了防止这种投机取巧的行为,我们可以将出饮料按钮信号电路经非门负变之后与抽饮料按钮信号和硬币真假信号相与再连接到 P1.0 端口或者直接把出饮料按钮信号连接到 P1.2 口,我们选择的是后者,如此一来一旦消费者按下出饮料按钮信号售货机便停止抽饮料。上面电路中我们没有画出螺线管的连接电路,我们将其驱动电路连接在 P0.0 口。具体的程序及其流程图如下面所示。准备开始发现假币否初始化各电机,使各电机都保持停转状态检测硬币的总投入量发现退币信号否发现抽饮料信号否开启收硬币电机收取硬币和抽饮料电机抽取饮料NONO,等待 2 分钟YES开启电机退币YESYESNO桂林电子科技大学毕业设计(论文)报告用纸共 27 页18检查出饮料信号, 按下了否?开启收硬币电机收取硬币和抽饮料电机抽取饮料继续抽饮料,直到结束并停止电机中断抽饮料电机等待下次交易YESNO桂林电子科技大学毕业设计(论文)报告用纸共 27 页19开始检测硬币量仅检测到 0.5元硬币 信 号 , 即P1.4P1.3=01仅检测到 1.5元硬币 信 号 , 即P1.4P1.3=11仅检测到 1.0元硬币 信 号 , 即P1.4P1.3=10100ml铜电 极通电否,即P1.7=1?300ml铜电 极通电否 ,即P1.5=1?200ml铜电 极通电否 ,即P1.6=1?开启电机,即使得 P3.7=1 并维持状态使电机停转并维持,即使得 P3.7=0 维持等待下次交易YESYESYESNONONO桂林电子科技大学毕业设计(论文)报告用纸共 27 页20ORG 0000HLJMP MAINORG 0100HMAIN:ANL P3,#23H;初始化电机状态,使两电机保持停转和锁定状态ANL P1,#FFH;为检测外部输入的控制信号做准备MOV A,P1JB ACC.1,LOOP2;如果发现假币或退币信号则自动退币,否则等抽饮料按钮信号JNB ACC.0,LOOP0;如果 P1.0=0 则跳到 LOOP0 等待 2 分钟JB ACC.3,AP2;P1.3=1 跳转到 AP2JNBACC.4,LOOP11;P1.4=1,P1.3=0 则跳转 LOOP11 挖 1 元相应纸杯AP2:JB ACC.4,LOOP6;P1.4=1 则跳转到 LOOP6 出售 1.5 元相应纸杯SJMPLOOP4;P1.4P1.3=01 则跳转 LOOP4 出售 0.5 元相应纸杯;-硬币去留电机正 转(逆时针) 收取硬币-LOOP1:MOV R3,#48;正转 1 圈共 48 脉冲START:MOV R0,#00HSTART1:MOV P3#00HMOV A,R0MOV DPTR,#TABLE1MOVC A,A+DPTRJZ START;对 A 的判断,当 A = 0 时则转到 STARTMOV P3,ALCALL DELAYINC R0DJNZ R3,START1MOV P3,#00HLCALL DELAY1桂林电子科技大学毕业设计(论文)报告用纸共 27 页21SJMPAP1;-硬币去留电机反转(顺时针) 退币-LOOP0:LCALL DELAY2;延时等待 2 分钟LOOP2:JB ACC.0,LOOP1;2 分钟内等到抽饮料按钮信号则收取硬币,否则退币MOV R3,#48;反转一圈共 48 个脉冲START2:MOV P3,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLE1MOVC A,A+DPTRJZ START2MOV P3,ACALL DELAYINC R0DJNZ R3,START3MOV P3,#00HLCALL DELAY1SJMPMAIN;-纸杯电机正转 (逆时针) 出售0.5 元对应的纸杯-LOOP4:MOV R3,#8;正转 1/3 圈共 8 脉冲START4:MOV R0,#00HSTART5:MOV P3,#00HMOV A,R0MOV DPTR,#TABLE2,查表程序桂林电子科技大学毕业设计(论文)报告用纸共 27 页22MOVC A,A+DPTRJZ START4;对 A 的判断,当 A = 0 时则转到 STARTMOV P3,ALCALL DELAYINC R0DJNZ R3,START5MOV P3,#20HLCALL DELAY1;-挖出 0.5 元纸杯-Loop13:ORL P0,#80H;使 P0.0=1,其他位不变LCALLDELAY3ANLP0,7FH;使 P0.0=0,其他位不变;-纸杯电机反转复位锁定-LOOP5:MOV R3,#8;反转 1/3 圈共 8 个脉冲START6:MOV P3,#00HMOV R0,#07HSTART7:MOV A,R0MOV DPTR,#TABLE2;查表程序MOVC A,A+DPTRJZ START6MOV P3,ALCALL DELAY桂林电子科技大学毕业设计(论文)报告用纸共 27 页23INC R0DJNZ R3,START7MOV P3,#20H;返回到原始位置锁定电机LCALL DELAY1SJMPLOOP8;纸杯销售完后马上抽 200ml 饮料;-纸杯电机反转销售 1.5 元相应的纸杯-LOOP6:MOV R3,#8;反转 1/3 圈共 8 个脉冲START8:MOV P3,#00HMOV R0,#07HSTART9:MOV A,R0MOV DPTR,#TABLE2MOVC A,A+DPTRJZ START8MOV P3,ALCALL DELAYINC R0DJNZ R3,START9MOV P3,#20HLCALL DELAY1;-挖出 1.5 元纸杯-LOOP12: ORL P0,#80H;使 P0.0=1,其他位不变进行挖纸杯动作LCALLDELAY3桂林电子科技大学毕业设计(论文)报告用纸共 27 页24ANLP0,7FH;使 P0.0=0,其他位不变;-纸杯电机正转(逆时针)复位锁定-LOOP14:MOV R3,#8;正转 1/3 圈共 8 脉冲START10:MOV R0,#00HSTART11:MOV P3,#00HMOV A,R0MOV DPTR,#TABLE2MOVC A,A+DPTRJZ START10 ;对 A 的判断,当 A = 0 时则转到 START10MOV P3,ALCALL DELAYINC R0DJNZ R3,START11MOV P3,#20HLCALL DELAY1SJMPLOOP9;纸杯销售完后马上抽 300ml 饮料;-挖出 1.0 元纸杯-LOOP11: ORL P0,#80H;使 P0.0=1,其他位不变LCALLDELAY3ANLP0,7FH;使 P0.0=0,其他位不变SJMPLOOP10;纸杯销售完后马上抽 200ml 饮料;-抽饮料-桂林电子科技大学毕业设计(论文)报告用纸共 27 页25LOOP8:ORL P3,80H;抽 100ml 饮料JBACC.2,TZJBA
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:饮料自动售卖机设计
链接地址:https://www.renrendoc.com/p-38577064.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!