信息与电气工程学院课程设计说明书(2015 /2016 学年第1 学期)课程名称:小型数据设计题目:红外线计数器专业班级:计算机1401学生姓名:何亚茹赵君王中昆学号:140210122 140210107 140210121指导教师:生龙设计周数:二周设计成绩:2016年01月08日目录1 程序设计 (1)2 课程设的主要内容 (1)2.1设计的要求.............. . (1)2.2创新方案及原理分析 (1)2.3方案论证与选择 (2)2.4软件的设计 (3)3主要芯片设计 (4)3.1介绍 (4)3.2 51 单片机的特点 (5)3.3数码管 (7)4系统设计 (8)4.1单片机最小设计系统 (8)4.2红外线检测电路 (9)4.3计数显示部分 (10)4.4蜂鸣器报警电路 (10)4.5按键控制电路 (11)5 红外计数器程序设计 (11)5.1主程序设计 (11)5.2子程序设计 (13)6总结 (15)7参考文献 (16)1、程设计目的课利用AT89C51单片机来制作一个手动计数器。
通过具体的项目设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制程序的设计等,以便掌握单片机系统设计的总体思路和方法,掌握基于单片机控制的电子产品开发的技术方法,培养个人的创新意识和动手能力。
2、课程设计的主要内容2.1设计的要求1.利用AT89C51单片机来制作一个红外线计数器。
有物体经过红外对管时计数一次。
计数的范围是0~99, 计数满时,又从零开始计数。
2.整个系统有较强的抗干扰能力,具有报警能力。
3.将计数值准确显示出来。
2.2创新方案及原理分析总体电路是由AT89C51单片机系统、红外光电管电路、蜂鸣器报警电路、数码管显示部分、复位电路部分组成,其结构如图2.1所示图 2.1 整体方框图红外传感器感受到外界信息时,产生高低电平,通过软件程序设置单片机内部寄存器,当传感器的高低脉冲被单片机接收到时,单片机产生中断,中断产生后进入中断服务程序,通过设置中断服务程序,进行计数。
并通过P0 口将计数信息传送至数码管,数码管显示计数的个数。
当电路断电后重新启动计数器时,系统自动复位(上电自动复位),以00开始重新计数。
2.3方案论证与选择方案一、如图2.2所示:图 2.2方案一原理阐述:专业检测芯片形成计数后送入控制单元AT89C51单片机,通过对它片内计数、显示编程。
74LS245是LED驱动芯片,可以同时驱动4个7段数码管,AT24C02是EEPROM模块,可以保存单片机运算时的中间有用结果的芯片,是突然掉电,关断电源或瞬间电源电压不稳定时,不会造成数据丢失或数据误写,也可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。
方案二、如图2.3所示:图 2.3方案二原理阐述:红外发射电路和红外接收电路(由LM324为核心)构成红外检测单元及形成计数脉冲,计数显示部分使用了使用共阴数码管。
当红外线被阻挡时,P32口由高电平变为低电平,形成下降沿,单片机进行计数,并在数码管上显示。
方案三、如图2.4所示图 2.4方案三原理阐述:利用红外接收发射管的特性(即红外接收头在有红外光电阻原理分压)可取基准电压,然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联的电阻分得的电压很大,可使电压比较器LM324输出为低电平;当无红外光照射的时候,红外接收头串联电阻分得的电压很小,可使电压比较器LM324输出为高电平,然后通过单片机处理,可使输出精准的计数值。
以上三个方案各有自己的优点:方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,外围电路架设相对简单、在市场上属于高端自动计数产品。
同时它也暴露出一个重大问题;由于成本太贵的原因此类产品并没有得到普及。
如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数,并没有很好的达到我人做毕业设计的目的,故虽然这个方案最完美的一个方案也只有舍弃。
方案二是这次毕业设计用的方案,该方案价格低廉、计数精确,且在系统处于异常状态时,工作也十分稳定,也是属于现在产品自动计数市场上的热销产品,可用于在计数要求比较高的场合中。
方案三涉及的知识面广也能达到精确、稳定的自动计数,但也有一个致命的缺点,整个系统的抗干扰力较弱,系统掉电后不能保存数据,在系统牌异常状态时容易出现误操作或死机,故不考虑。
2.4系统总体框图和原理系统总体框图如图3.4所示:图 3.4 系统框图原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线,并且接收管当有红外线照射的时候,电阻比较小,当无线外线照射的时候电阻比较大,这样就可以通过一个电压比较器和一个基准电压进行对比,当有光照的时候,红外接收管电阻比较小,那么和其串联的电压分压就会增大,所以电压比较器将会输出一高电平;当无光照射的时候,红外接收管的电阻比较大,这样电压比较器就会输出一个低电平。
这个便是外部计数电平信号,这个电平信号送入AT89C51单片机进行计数控制,在经过扩展、显示驱动完成最后的显示过程。
3.主要芯片介绍3.1 介绍在计算机应用控制领域上,如工业控制、汽车、家电等很多控制场合,对控制系统的要求都比较苛刻。
例如需要智能高、体积小、成本低、功耗低、抗干扰能力强和可靠性高。
不仅传统电气设备无能为力,一般应用性PC 机也不能胜任。
在这个背景下,单片机的设想才逐渐成型。
单片机就是将计算机的几个基本组成部分集成在单一的芯片上,体积相对较小,很好地满足了对控制系统体积的要求。
自从1975 年美国德克萨斯公司开发生产出第一台单片机TMS-1000以来,单片机经历4位→8位→16位→32位的发展过程。
最有代表性的Intel公司先后推出了三个系列:MCS-48系列8位单片机、MCS-51系列高档8位单片机、MCS-96/98系列16位单片机。
很多控制场合并不需要单片机去完成复杂的数学计算,因此单片机在生产工艺上进行了简化,降低了制造成本。
同时采用大批量生产,成本进一步降低。
从目前市场上来看,其价格一般都在几元到几十元之间。
厂家充分考虑到用户的需求,将一些常用的功能部件,如ADC(模/数转换器)、DAC(数/模转换器)、PWN(脉冲产生器)以及LCD(液晶)驱动器等集成到芯片内部、尽量做到单片化;同时,用户还可以提出要求,由厂家为其量身定做(SoC 设计)或自主设计。
另外,随着科技发展,程序存储器容量将进一步扩大。
当存储空间足够大时,可嵌入一些软件(如平台软件、虚拟外设软件、系统诊断管理软件等)以提高系统开发率。
3.2 51 系列单片机的主要特点图3.5 AT89C51单片机引脚图VCC: 电源GND: 接地P0口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。
P2口:TTL 逻辑电平。
对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。
在这种应用中,P2 口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3 口是一个有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。
对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表3.1所示。
在flash编程和校验时,P3口也接收一些控制信号。
表 3.6 P3第二功能RST:复位输入。
晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。
看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,被微弱拉高。
这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。
EAVPP:访问外部程序存储器控制信号。
为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。
3.3 数码管一些小型设备或小型检测系统一般由单片机组成控制系统,为了降低成本,这些小型系统中的显示一般采用数码管(LED)组成。
常见的数码管有7段、8段和16段。
数码管实际上就是八个发光二极管,它们以两种方式连接,如果将其阴极连接在一起,这种方式构成的数码管成为共阴数码管;如果将其阳极连接在一起,这种方式构成的数码管为共阳数码管。
图 3.6 共阴数码管原理图图 3.7 共阳数码管原理图根据电路图所设计的不同,那么所选择的数码管也有所差异。