ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:38.46KB ,
资源ID:9596334      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9596334.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机啤酒生产线系统方案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机啤酒生产线系统方案.docx

1、单片机啤酒生产线系统方案数字化产品设计报告专业:嵌入式系统工业大学华德应用技术学院2009 年 7 月 1 日:班级:学号:课题编号:C004课题名称:啤酒装箱生产线系统基本功能:由单脉冲代表生产线啤酒统计数,按一下单脉冲有一瓶酒过去,24瓶为一箱,显示在数码管上。扩展功能: 能够实现清零重新计数和存储与显示存储数据成绩:评审老师:一、需求分析:(应用:工业生产线成品计数器是一种自动记录生产过程中随机产量,并通过计算机进行显示、累计、储存的装置。广泛应用于啤酒.饮料.药品计数.汽车测速.电机测速.点钞机等等。目的:设计此程序主要是为了控制产品装箱生产线,实现自动化的产品装箱计数。从而让生产者对

2、产品生产情况有了具体的了解,与传统的生产计数方式相比,能够让生产者更合理的调度人力物力资源 ,节省劳动力,能够在最短的时间而获得更多经济效益。立题意义:为了能让学生更深入了解MSC-51单片机各个芯片应用,在理论知识的基础上加强动手能力,创新思维,为将来走向社会岗位奠定扎实基础.二、硬件设计方案MCS-51电动机脉冲信号8279键盘输入LED显示硬件所需器件:51单片机、0832数模转换器、LED数码管、直流电动机键盘与8279键盘/显示接口芯片。各芯片的简要介绍如下:8XC51系列单片机是MCD-51中的一个子系列,是一组高性能兼容性单片机。其中,x的规定为程序存储器的配置:0表示无片ROM

3、,3表示片为掩膜ROM,7表示片为EPROM/OTPROM,9表示片为FlashROM。DAC0832芯片是美国National semiconductor公司生产的具有2个数据寄存器的8位分辨率的D/A转换芯片。此芯片与处理器完全兼容,它由8位输入锁存器、8位DAC电路与转换控制电路构成,通过两个输入寄存器构成两级数据输入锁存。Intel8279芯片是一种通用可编程键盘/显示接口芯片,它具有同时完成键盘输入和显示控制两种功能。)三、软件设计方案开始初始化堆栈区初始化82792按键01数据出栈读取调用8279显示子程序数据进栈存储计数器清零计数调用8279显示子程序YNYNNYNY算法分析:1

4、.初始化堆栈区域:设置存储地址的首地址0D0.0F0、0B0。后来的的数据进栈存储、数据出栈读取可通过R0寄存器间接寻址进行地址操作存储。2.初始化8279:送控制字00H(左边输入 八位字符显示,外部译码键扫描方式,双键互锁)给8279的Z8279状态/命令口置控制方式。再将清屏控制字0C1H送入Z8279让LED数码管清屏。3.判断是否有键值输入:把状态口地址送入特殊功能寄存器DPTR中让其与0F进行ANL运算屏蔽D4-D7个状态,JZ 判断是否有键入如果没有继续判断,如果有把控制字40H送入状态命令口并把键值数据通过DPTR送入累加器A中后进行判断。4.当判断键值是0键:通过DAC083

5、2的数据口8000H送入数据,通过数模转换控制电压启动电动机送出脉冲,用于存储数据瓶数、箱数、百箱数的R1、R2、R3清零,初始化计数器T1清零开始对脉冲计数。计数值送R1当等于24是R2自增1,R1清零计数器清零重新计数,当R2自增到到99时R2清零R3自增1,计数值通过做除法设偏移量调用显示子程序,显示子程序是通过显示起始地址加偏移量设置显示位置的,数据显示通过查表的方法,表的起始地址加偏移量是要显示的数据。5.当判断键值是1时:把当前的人R1,R2,R3分别通过R0进行寄存器间接寻址存储在newp、newx、newb中,newp、newx、new的地址自增1.进栈方式6.当判断键值是2时

6、:数据显示出栈后进先出方式把地址减一通过R0寄存器间接寻址把数据送入累加器A,是通过做除法设显示偏移量调用显示子程序,显示子程序是通过显示起始地址加偏移量设置显示位置的,数据显示通过查表的方法,表的起始地址加偏移量是要显示的数据。当当前地址减至等于首地址时R7重新赋值1.四、系统调试硬件调试:1.使用试验箱时试验箱的USB口无法使用,后改用串口线试验箱能够正常使用。2起初使用单脉冲进行控制脉冲信号输入,后改用送数据给0832数模转换器控制电动机电压从而电动机产生的电动机脉冲信号。3脉冲信号是通过多功能P3口中的P3.5定时/计数器T1的外输入引脚送入的。软件测试:1.最开始实现的功能只有简单的

7、脉冲计数显示,在程序设计的过程中,在显示的过程中起初只能显示一位计数非常不理想,后来通过研究电子钟的程序理解了设置偏移量设定显示位置显示数据是通过查表地方法实现的。计数值做除法商和余数分别是两个位置,通过设置偏移量分别设置显示位置,调用子程序。2.后来又加入了键盘控制,清零计数,清屏,是通过查询按键与键值的方法解决的。3.课设要求中是单脉冲输入信号,自己改了一通过0832控制电压控制直流电动机输出脉冲信号。4.加入拓展功能存储并显示是遇到了很大的困难,起初是想用Flash闪存,老师讲解后,自己是试着编写了一下,结果未成功,由于时间比较紧,借鉴了老师的设立堆栈存储的方法,在便携存储与显示程序后,

8、无法实现,添加存储地址的观察项,单步执行查看存储情况,发现首地址初始化出了问题经改正实现了存储与显示。总结:时光如逝,为期两周的数字化产品设计以接近尾声,在这段时间里,学习了很多,也成长了很多这次单片机课程设计我们历时两个星期,不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!尽力在两个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!作为一名嵌入式专业的大二学生,我觉得做单

9、片机课程设计是十分有意义的,而且是十分必要的。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,因此我想把课设做的更加贴切现实生活当中的应用,因此我想把数码管显示改为液晶显示,我想这样就更加贴切实际当中的生产线了。 附录1:(程序代码)Z8279 EQ

10、U 8701H ;8279 状态/命令口地址D8279 EQU 8700H ;8279 数据口地址LEDMOD EQU 00H ;左边输入 八位字符显示 ;外部译码键扫描方式,双键互锁D0832 EQU 8000HLEDCLS EQU 0C1H ;清除显示 RAMLEDWR0 EQU 80H ;设定的将要写入的显示RAM地址NEWP EQU 30H ;定义存储地址指针NEWX EQU 31HNEWB EQU 32HOLDP EQU 33HOLDX EQU 34HOLDB EQU 35H ORG 0000H AJMP START ORG 0040HSTART: MOV SP,#60H ;初始化堆

11、栈段 MOV R7,#1 MOV NEWP,#0D0H ;送首地址 MOV NEWX,#0F0H MOV NEWB,#0B0H MOV OLDP,#0D0H MOV OLDX,#0F0H MOV OLDB,#0B0H MOV R1,#0 ;瓶数 MOV R2,#0 ;箱数 MOV R3,#0 ;百箱数MAIN: MOV A,#00H ;送0832初状态 MOV DPTR,#D0832 MOVX DPTR,A LCALL INIT8279 ;初始化8279GETKEY: MOV DPTR,#Z8279 MOVX A,DPTR ANL A,#0FH JZ GETKEY ;判断是否有键值输入 MOV

12、 A,#40H MOVX DPTR,A ;送控制字 MOV DPTR,#D8279 MOVX A,DPTR ;开始判断键值 CJNE A,#00H,KEY1 ;判断0键 ;0键保存,清零重新进行计数 MOV R1,#0 ;瓶数 MOV R2,#0 ;箱数 MOV R3,#0 ;百箱数 MOV A,#15H ;通过0832控制电动机送入脉冲 MOV DPTR,#D0832 MOVX DPTR,A LJMP COUNT_INT PUSH ACC MOV A,#00H MOV DPTR,#D0832 MOVX DPTR,A POP ACC KEY1: CJNE A,#01H,KEY2 ;1键清屏 P

13、USH 0 MOV R0,NEWP ;数据指针 MOV A,R1 MOV R0,A POP 0 PUSH 0 MOV R0,NEWX MOV A,R2 MOV R0,A POP 0 PUSH 0 MOV R0,NEWB MOV A,R3 MOV R0,A POP 0 INC NEWP ;存储后地址自增 INC NEWX INC NEWB JMP MAIN KEY2: CJNE A,#02H,GETKEY ;2键显示储存数据 MOV A,NEWP ;地址自减一显示 CLR C SUBB A,R7 MOV OLDP,A CLR C MOV A,NEWX SUBB A,R7 MOV OLDX,A M

14、OV A,NEWB CLR C SUBB A,R7 MOV OLDB,A INC R7 MOV A,OLDP CJNE A,#0D0H,N1 ;判断下次从开始显示 MOV R7,#1N1: PUSH 0MOV R0,OLDPMOV A,R0POP 0 MOV B,#10 DIV AB MOV R5,A MOV R4,#1 LCALL DISLED MOV R5,B MOV R4,#0 LCALL DISLED PUSH 0MOV R0,OLDXMOV A,R0POP 0 MOV B,#10 DIV AB MOV R5,A MOV R4,#5 LCALL DISLED MOV R5,B MOV

15、R4,#4 LCALL DISLED PUSH 0MOV R0,OLDBMOV A,R0POP 0 MOV B,#10 DIV AB MOV R5,A MOV R4,#7 LCALL DISLED MOV R5,B MOV R4,#6 LCALL DISLED LJMP GETKEYCOUNT_INT: MOV TMOD,#40H ;送计数器控制字 MOV TL1,#00H MOV TH1,#00H ;计时器的初始化 SETB TR1 ;定时/计数器运行标志 WAIT:MOV A,TL1MOV R1,A CJNE R1,#24,DIS ; INC R2 MOV R1,#0 MOV TL1,#0

16、WAIT1: CJNE R2,#99,DIS1 INC R3 MOV R2,#0 DIS: MOV A,R1 MOV B,#10 DIV AB MOV R5,A MOV R4,#1 ;数码管显示位置 LCALL DISLED MOV R5,B MOV R4,#0 LCALL DISLED MOV A,R2 MOV B,#10 DIV AB ; MOV R5,A MOV R4,#5 LCALL DISLED MOV R5,B MOV R4,#4 LCALL DISLED AJMP WAIT1DIS1: MOV A,R3 MOV B,#10 DIV AB ; MOV R5,A MOV R4,#7

17、LCALL DISLED MOV R5,B MOV R4,#6 LCALL DISLED MOV DPTR,#Z8279 MOVX A,DPTR ANL A,#0FH JZ WAIT MOV A,#40H MOVX DPTR,A MOV DPTR,#D8279 MOVX A,DPTR LJMP KEY1 DISLED: PUSH DPH ;保存现场 PUSH DPL PUSH ACC MOV A,#LEDWR0 ;置显示起始地址 ADD A,R4 ;加位置偏移量 MOV DPTR,#Z8279 MOVX DPTR,A ;设定显示位置 MOV DPTR,#LEDSEG ;置显示常数表起始位置 M

18、OV A,R5 MOVC A,A+DPTR ;查表 MOV DPTR,#D8279 MOVX DPTR,A ;显示数据 POP ACC ;恢复现场 POP DPL POP DPH RETINIT8279: ;8279初始化子程序 PUSH DPH ;保存现场 PUSH DPL PUSH ACC MOV DPTR ,#Z8279 MOV A,#LEDMOD ;置8279工作方式 MOVX DPTR,A MOV A,#LEDCLS ;清除 LED 显示 MOVX DPTR,A POP ACC ;恢复现场 POP DPL POP DPH RETLEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0,1,2,3,4,5,6,7,8,9 END附录2:(电路原理图)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1