《工件计数器 课程设计 单片机》由会员分享,可在线阅读,更多相关《工件计数器 课程设计 单片机(15页珍藏版)》请在金锄头文库上搜索。
1、淮阴工学院无线单片机课程设计报告题目: 工件计数器 系 (院): 计算机工程学院 专 业: 物联网工程 班 级: 物联网1091 学 号: 1091305206 姓 名: 单重阳 指导教师: 戴峻峰,陈宏明 学年学期: 2010 2011学年 第 2 学期2011年6月25 日设计任务书课题名称工件计数器设计目的(1)增进对AT89C51单片机电路的感性认识,加深对理论方面的理解。(2)掌握软硬件的有关知识等。(3)了解和掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。(4)通过简单课题的设计练习,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题
2、的目的。实验环境(1)Protel应用绘图,Keil硬件仿真环境(2)Windows XP/2003(3)硬件电路板、单片机、元器件任务要求利用单片机的T0口,外接一个微动开关,模拟有工件通过时,微机开关动作,单片机计数,并通过P1.0P1.3外接的四个LED发光管以BCD码的方式显示工件数量。编写程序,调试运行,模拟有工件通过时,单片机计数,并显示工作数量。工作进度计划序号起止日期工 作 内 容12011.6.202011.6.22在预设计的基础上,进一步查阅资料,完成硬件电路设计和焊接。22011.6.22 2011.6.23测试电路,编写软件代码, 调试与完善。32011.6.23201
3、1.6.23测试程序,优化代码,增强功能,撰写课程设计报告。42011.6.242011.6.24提交软件代码、硬件电路成果和设计报告,参加答辩。指导教师(签章): 年 月 日 摘要硬件设计实习是学生综合运用所学知识,全面掌握单片微型计算机及其接口的工作原理、编程和使用方法的重要实践环节。使学生增进对单片机电路的感性认识,加深对理论方面的理解、掌握软硬件的有关知识。通过简单课题的设计练习,可使学生了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。培养学生独立工作能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力;工程绘图的能力。工件计数器设计要求是
4、利用单片机的T0口,外接一个微动开关,模拟有工件通过时,微机开关动作,单片机计数,并通过P1.0P1.3外接的四个LED发光管以BCD码的方式显示工件数量。编写程序,调试运行,模拟有工件通过时,单片机计数,并显示工作数量。关键词 AT89C51 发光管 微动开关目 录1引言11.1课题的意义11.2原理图的确定12硬件的选择与电路设计22.1复位电路的设计32.2晶振电路的设计32.3显示电路的设计43软件详细设计43.1主程序的设计43.2工件计数器程序的编写54仿真与焊接6总 结8致谢9参 考 文 献10硬件实习报告1引言在车间的工件计数是严格控制的。合理的控制和统计生产情况,是非常重要的
5、,可以提高产品质量,节省人力,增加经济效益。目前,国内主要用红外开关计数作为工件的计数和检测开关。然而,进口红外开关价格高,不易维修。本设计研究一种利用发光二极管、光敏三极管与单片机设计一个车间工件计数系统。该系统体积小,可靠性高,控制灵敏,准确。在工业现场控制中,串行通信以其独特的优点得到了广泛的应用。随着计算机技术的不断进步,工业控制应用软件也越来越丰富,这样就可以用一台PC机来完成复杂的控制任务。在一般的工业现场控制中,特别是采用流水作业的控制中,对某些设备只需完成并不复杂的控制,用一般的单片机系统即可以实现;如果在现场控制过程中需要进行大量的数据处理和数据存储,那么一个单片机系统就难以
6、完成,这时往往采用PC机完成复杂的数据处理和存储,而单片机进行控制,这样使单片机和PC机的资源都得以充分利用。一个PC机可以同时管理多台单片机系统,从而组成一个工业现场的控制网络,这就是工业现场控制采用的集散控制。上位机PC机实现对单片机的统一管理,并为用户提供一个良好的人机接口界面。1-1课题的意义在现代工业生产和物流过程中,提供准确的原材料或成品的数量是比较关键的问题,尤其是对大批量的小件产品的计数。而在许多场所,物品是通过传送带传送的,对传送带上的物品数目进行计数有人工计数和仪表计数等方法。目前,许多企业对大批量的小件产品,仍采用人工称重的计数方法。这种计数方法存在计数错误率高,工作效率
7、低,不能实时反映计数值,不利于生产管理等缺点。本课题基于脉冲计数的原理,提高计数准确率和工作效率。1-2原理图的确定在设计开始,我们查了不少关于工件计数器的资料,但由于材料有限本次课程设计我们采用AT89C51实现。单片机实现工件计数的原理图:(如图1-1) 图1-1 工件计数的原理图2硬件的选择与电路设计工件计数电路的核心是AT89C51单片机,AT89C51提供以下标准功能:4k 字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51降至0Hz的静态逻辑操作,并支持两
8、种可选的节电工作模式。空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。图2-1 AT89C51的引脚图2-1复位电路的设计复位电路的设计如图2-2所示:图2-2 复位电路原理图电阻给电容充电,电容的电压缓慢上升直到vcc,没到vcc时芯片复位脚近似低电平,于是芯片复位,接近vcc时芯片复位脚近高电平,于是芯片停止复位,复位完成。通常若采用12MHz的晶振时,复位元件参数为22F的电解电容和10k的电阻。按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高
9、电平实现复位的。2-2晶振电路的设计单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-3所示。加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。电容C1,C2的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。晶振电路的设计如图2-
10、3所示:图2-3 晶振电路原理图2-3显示电路的设计利用4个LED发光管共阴极连接,以BCD码显示显示电路的设计如图2-4所示:图2-4 显示电路原理图3软件详细设计3-1主程序的设计系统主程序流程图如图3-1所示。模拟工件通过,微控开关闭合读入数据,单片机计数数据以BCD码显示把数据处理送出,四个LED发光管显示图3-1 系统主程序流程图3-2工件计数器程序的编写有工件通过时,单片机计数,并显示工作数量。试验的程序通过Keil软件编译,主程序部分和注解如下:ORG 0000H ;START指令代码从地址0000H开始程序AJMP START ;跳转到START开始执行程序ORG 0003H
11、;外部中断0的入口地址AJMP INT_I0 ORG 0100H ;程序代码从0100H存储空间开始存放START: MOV R0,#0 SETB IT0 ;启动外部中断0为边沿触发 MOV SP,#60H ;指针地址 SETB EX0 ;开外部中断0 SETB EA ;cpu中断开放标志位 SJMP $ ;原地等待INT_I0: PUSH PSW ;入栈保护 PUSH ACC PUSH DPL PUSH DPH INC R0 ;R0寄存器加1 ANL 00,#00FH ;R0的地址为00,满16次清零 MOV P1,R0 ;送P1口显示 POP DPH ;恢复现场,出栈 POP DPL PO
12、P ACC POP PSW RETI ;中断返回 END 4仿真与焊接通过proteus绘制仿真图,仿真图如图4-1所示:图4-1 仿真图利用protel99se绘制PCB版图,如图4-2所示:图4-2 PCB版图接下来是焊接,由于以前有焊接经验,稍练习了一段时间,就找到了诀窍,先把烙铁靠近焊盘,紧接着把锡丝往烙铁上送,等锡丝熔了轻轻一提,一个又圆又亮的焊点就做好了。很熟练的在一个小时左右把元件都焊上去了,总体还是蛮好的。总结经过一个星期的努力,在我们小组的共同努力下,比较顺利的完成了此次硬件设计实习。通过此次硬件设计实习,我重新认识到了自学的重要性,以及学以致用的道理。我在网络上查阅了大量的
13、资料,我更加巩固了所学的知识并在设计的过程中学会了与时俱进。在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。除此之外,我们学会了利用Keil和proteus的连接仿真和焊接电路板,掌握了书本以外的电子技术知识,培养了专心致志的工作学习习惯,懂得了相互之间的理解与体谅,克服了编程的枯燥感,让我受益匪浅。致谢在这次硬件设计实习的撰写过程中,我得到了许多人的帮助。这样的硬件设计实习真的很有意义,第一次自己真真切切的动手设计制作产品,感觉自己学会了很多,成长了很多,让我找回了往日奋斗的激情,也许这样的机会在大学不会再有了,我会深深的记住这次,记住这次饱含我汗水的综合硬件设计。这次也发现了自身很多的不足,许多的基本电路都不是很熟悉,在画原理图的时候就不停的找以前的教材,以后还得多看看教材,牢记一些基本的电路与波形。首先我要感谢我的老师在硬件设计实习上给予我的指导、提供给我的支持和帮助,感谢百度帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,与队友的合作更是一件快乐