【本科优秀毕业设计】基于单片机的产品自动计数器_第1页
【本科优秀毕业设计】基于单片机的产品自动计数器_第2页
【本科优秀毕业设计】基于单片机的产品自动计数器_第3页
【本科优秀毕业设计】基于单片机的产品自动计数器_第4页
【本科优秀毕业设计】基于单片机的产品自动计数器_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目基于单片机的产品自动计数器摘要在当今社会飞速发展的格局下,越来越多的流水线上的产品需要进行自动计数基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。有采用机械方式的接触式触发的,有采用电子传感器这类非接触式触发的。本文设计的计数器是采用红外对射式方式,抗干扰性好,可靠性高本设计的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号当物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平,同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值。这样就得到要统计流水线上的产品的数量。关键词自动计数、红外检测、单片机、8位数码管目录摘要第一章绪论111前言112设计功能与要求113国内外的研究概况114此次设计研究的主要内容应解决的问题1第二章基于单片机构成的产品自动计数器的设计221设计方案选择(总体框图)和原理222系统各单元电路设计2231电源供电设计2232红外线检测设计3233计数、显示设计623系统程序设计10231程序流程图10232程序设计1224电路总图16第三章总结17参考文献18致谢19附录20第一章绪论11、前言在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题。传统的机械式或电子式计数器主要是用数字电路集成组件组成电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。12、设计功能与要求1整个系统有较强的抗干扰能力,随时可以进行暂停计数、复位计数操作;2实现一段时间产品数量的统计,计数范围0000000099999999;3能够实现实时、稳定、精确地将计数值准确显示出来13、国内外的研究概况如今的产品自动计数器大多采用非接触式的计数触发方式。早已开发出了多种型号的专用检测芯片而利用AT89C51为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中而MCS51系列单片机构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环)这也是基于单片机构成的产品自动计数器存在的致命问题。14、此次设计研究的主要内容应解决的问题基于单片机构成的产品自动计数器研究的主要内容包括如果构成检测电路、MCS51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、MCS51单片机的扩展。在这个设计中主要需要解决的问题便是如何提高MCS51单片机的抗干扰能力以及稳定性。第二章基于单片机构成的产品自动计数器的设计21、设计方案选择(总体框图)和原理设计方案(系统总体框图)如图一红外发射电路NE555红外接收电路LM567MCS51控制计数显示AT89C51显示驱动LED显示电源供电电路W7805图一系统总体框图电路的指导思路是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号。当产品挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。这个便是外部计数脉冲信号。这个计数脉冲信号送入AT89C51单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。之所以选用主要是这个方案涉及的知识面广且能达到精确、稳定的自动计数。22、系统各单元电路设计221、电源供电电路图二电源供电电路如图二所示电源供电部分采用变压器降压、桥式整流、电容器滤波、三端稳压器LM7805稳压后供电。电源用220V市电经变T1压器降压成9V交流电,然后经四个整流二极管(D1D4)组成的桥式整流变成直流电压,经C1滤波后送入LM7805芯片稳压成5V直流电源供红外线发射、接收电路、AT89C51等供电232、外线检测部分这个部分主要由NE555组成的红外发射电路和LM567构成的红外接收电路构成工作原理为当红外发射二级管发出红外光,检测是否受物体遮挡,然后由红外线接收二极管将调制信号通过锁相环鉴频后输出CP计数脉冲以便单片机进行计数控制图三红外线发射电路如图三所示,红外线发射电路以时钟定时集成芯片NE555为核心。内部含有两个电压比较器,一个分压器,一个RS触发器,一个放电晶体管和一个功率输出级构成一个多谐振荡器。产生一个频率在91KHZ至130KHZ的脉冲波这是理论值。由于元件偏差,以实际测量为准,通过3脚输出脉冲波,由红外线发光二极管D1发射出去。频率计算方法F1443/R12R2C1因此根据公式计算我们知道此设计中红外线发光二极管的发射频率为124KHZ945KHZ。发射的是脉冲波。图四NE555芯片电路引脚以及芯片外型NE555芯片引脚功能为引脚功能引脚功能功能功能引脚功能1脚芯片GND3脚输出5脚控制电压7脚放电2脚触发4脚复位6脚门限阈值)8脚电源电压VCCNE555芯片可构成三大类型的电路单稳态电路、双稳态电路、无稳态电路。在本设计中使用的是间接反馈型无稳态电路。其主要特点是振荡电路直接连接在电源上。图五红外线接收电路红外接收电路如图五所表示是以锁相环集成芯片LM567为核心,构成一个鉴频电路。如图五所示,红外线接收二极管将感应到的脉冲信号通过电容C1耦合到三极管Q1的基极,由Q1组成的放大电路把感应信号放大约100倍后,送给LM567的3脚,由LM567完成鉴频。如果接收信号在LM567的捕捉带宽内,8脚输出低电平;否则8脚维持高电平。5脚,6脚上的电容、电阻决定了内部压控晶体振荡器的中心频率(F11/11R4C5)当FF1时LM567开始工作(即构成红外接收电路)。1脚上的电容C4和二脚上的电容C3接地构成输出滤波网络和低通滤波网络,在具体值的设置上C4通常设定为C3的两倍。利用LM567锁相环解码芯片的好处是可以提高整个检测电路的检测灵敏度和消除太阳光等背景光的干扰,从而提高了整个检测电路的干扰能力。如果在对射管(接收管和发射管)外加滤光片便可以更好的提高抗干扰能力。图六LM567的引脚图与内部功能图223计数、显示部分设计图七计数、显示原理图计数显示部分如图七所示。由单片机AT89C51控制完成。基本原理为当红外检测部分检测到有产品经过时,红外接收电路LM567芯片的8脚输出口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通过扩展8155I/0口实现,通过集成驱动芯片BIC8718完成最终的显示计数控制部分是将计数脉冲(负脉冲有效)送入单片机AT89C51两个中断入口的INT0入口,经过单片机内部对这个中断信号进行计数编程构成AT89C51与MCS51指令系统完全兼容。提供以下标准功能4K字节FLASH闪烁存储器、128字节内部RAM、32个I/O口线、2个16位定时/计数器、一个5向量两级中断、一个全双工串行通信口、片内振荡器及时钟电路。同时AT89C51可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式。空闲方式停止CPU的工作,但是允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电后保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C51单片机芯片外型如图八、图八AT89C51单片机外型图九AT89C51P3口端口功能显示部分是通过8155芯片扩展I/O口和显示驱动芯片BIC8178以及8段数码管构成采用的是软件译码方式。软件译码是把各字符的段选码组织到一个表中,要显示某字符先查表得到其段选码,然后送往显示器的段码线。单片机应用系统中多采用软件译码的动态显示。图七中PB口输出的是段选码,PA口输出位选码。对应于MCS51单片机的I/O口扩展普遍的选用8155和8255系列。选择使用8155扩展芯片。INTEL8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。8155可直接与MCS51单片机连接不需要增加任何硬件逻辑。由于8155既有RAM又具有I/O口,因而是MCS51单片机系统中最常用的外围接口芯片之一,8155的引脚及内部结构如图十图十8155引脚以及内部引脚图十一8155外部引脚图8155芯片外部引脚图如图十五。8155共有40个引脚,采用双列直插式封装。各引脚功能如下AD7AD0地址数据总路线。单片机和8155之间的地址、数据、命令、状态信息都是通过它传送的。/CE片选信号线,低电平有效。/RD存储器读信号线,低电平有效。/WR存储器写信号线,低电平有效、ALE地址及片选信号锁存线,高电平有效,其后沿将地址及片选信号锁存到器件中。IO/MI/O接口与存储器选择依赖线,高电平表示选择I/O接口,低电平选择存储器。PA7PA0A口输入/输出线。PB7PB0B口输入/输出线。PC5PC0C口输入/输出或控制信号线。用作控制信号线时,其功能如下PC0AINTR(A口中断信号线)。PC1ABF(A口缓冲器满信号线)。PC2/ASTB(A口选通线)。PC3BINTR(B口中断信号线)。PC4BBF(B口缓冲器满信号线)。PC5/BSTB(B口选通线)。TIMERIN定时器/计时器输入端。/TIMEROUT定时器/计数器输出端。RESET复位信号线。VCC5V电源。VSS地。8155内部结构包括两个8位并行输入/输出端口,一个6位并行输入/输出端口,256个字节的静态随机存取存储器RAM,一个地址锁存器,一个14位的定时器/计数器以及控制逻辑电路,各部件和存储器地址的选择由IO/M信号决定。当IO/M0(低电平)时,表示AD7AD0输入的是存储器地址,寻址范围为00HFF。当IO/M1(高电平)时,表示AD7AD0输入的是I/O接口地址,其编码如下表所示。其中A7A3可经译码器进行译码,产生片选信号/CE,内部寄存器和口地址由A2A0给出。8段数码显示管的型号选DS2181BX图十二LDS2181BX图十三暂停电路图十四时钟电路(晶振)图十五带手动看门狗的复位电路23、系统程序设计231、程序流程图图十六主程序流程图图十七主程序初始化流程图图十八中断计数程序流程图开始8155初始化,PA、PB置基本输出方式动态显示初始化,显示缓冲区首地址78HR0动态扫描首显示位位选字7FR3送位选字(R3)8155PA口查段先码段选码送8155PB口延迟1MS指向缓冲区下一个单元(R0)结束返回YN8位显示是否完YY显示下一位,R3右移一位图十九示子程序流程图232、程序设计ORG0000H;上电、复位入口地址LJMPSTART;转向主程序初始化ORG0003H;INT0中断入口地址LJMPINT;转向INT0中断服务程序ORG000BH;T0中断入口地址LJMPSEVER;转向T0中断服务程序ORG0030H;主程序初始化STARTMOVSP,60H;置堆栈指针SETBIT0置INT0边沿触发方式MOVIP,01H置INT0为高优先级MOVIE,81H;CPU开中断、INT0中断MOV78H,00MOV79H,00MOV7AH,00MOV7BH,00MOV7CH,00MOV7DH,00MOV7EH,00MOV7FH,00MAINLJMPMAIN;转主程序执行,并等待中断ORG0100H;INT0中断服务程序,中断一次,数量加1INTPUSHACC;INT0中断服务程序PUSHPAWJNBP10,DISPLAYMOVA,78HADDA,1MOV78H,ACLRAADDCA,79HMOV79H,ACLRAADDCA,7AHMOV7AH,ACLRAADDCA,7BHMOV7BH,ACLRAADDCA,7CHMOV7CH,ACLRAADDCA,7DHMOV7DH,ACLRAADDCA,7EHMOV7EH,ACLRAADDCA,7FHMOV7FH,ALCALLDISPLAYPOPPAWPOPACCRETIDISPLAYMOVA,00000011B;8155初始化MOVDPTR,7F00H;使DPTR指向8155控制寄存器端口MOVXDPTR,AMOVR0,78H;动态显示初始化,使R0指向缓冲区首地址MOVR3,7FH;首选位字节送R3MOVA,R3LDOMOVDPTR,7F01H;使DPTR指向PA口MOVXDPTR,A;选通显示器低位(最右端一位)INCDPTR;DPTR指向PB口MOVA,RO;读要显示数ADDA,0DH;调整距段码表首的偏移量MOVCA,APC;查表取得段选码MOVXDPTR,A;段选码从PB口输出LCALLDL1;调用1MS延时子程序INCR0;指向缓冲区下一单元MOVA,R3;位选码送累加器AJNBACC0,LD1;判断6位是否显示完毕,RRA;未显示完,把位选数字变为下一位选字MOVR3,A;修改后的位选字送R3AJMPLD0;循环实现按位序依次显示LD0RETDSEGDB3FH,06H,5BH,4FH,66H,6DH,7DH;断码表DB07H,7FH,6FHDL1MOVR7,02H;延时子程序DLMOVR6,0FFHDLODJNZR6,DL6DJNZR7,DLRET程序说明R0显示缓冲区数据指针,初值为78HR3位扫描寄存器,初值7FR5、R7减1计数器显示缓冲区设80C31片内RAM的78H7FH单元位显示缓冲区,依次从低位到高位存放八个要显示的字符/数据在段选码地址表中的序号。25、电路总图第三章结论在研究这个课程设计的过程当中面对很多选择在检测单元的选择上是选择光电传感器图二十电路总图还是红外对射式曾经让我迷茫在MCS51单片机的选择上是选择内部具有4KB字节的闪烁存储器的AT89C51还是选择内部具有8KB字节的闪烁存储器的AT89C2051曾经也让我困惑不已(其实任选一款都可以实现)而最让我感到迷茫的是否利用8155进行I/O口的扩展,其实通过设计要求可以看出不难看出根本不需要对AT89C51进行扩展就可有完成099999999的计数显示功能(采用7段数码管显示可以不扩展)。而我最终还是选择了扩展是因为虽然这样让电路复杂了许多但也让我对单片机的I/O口扩展部分详细进行了重新学习和掌握。本次设计的基于单片机构成的产品自动计数器,外加暂停电路、带手动看门狗的复位电路等功能按键,上电进行计数工作。当生产线上每个产品通过挡住红外光时,接收管没有收到红外线信号,放大器将输出低电平脉冲,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论