1、江西城市学院 2011 届专科生毕业论文(设计)红外线自动计数器的设计摘 要随着今社会的飞速发展,越来越多的流水线上的产品和各种公共场所需要进行自动计数。基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中得到广泛应用。数字计数器有多种形式,总体来说有接触式和非接触式两种,在科技发展的今天,非接触式红外计数器得到了广泛的应用。本设计采用一对红外发射接收管作为红外计数器的信号检测头,具有价格低廉,抗干扰性好,结构简单,操作方便等特点。指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成低电平信号.当有人或物挡住红外光时,接收管没有接收到红外信号,放
2、大器将输出高电平,同时将这个电平信号送入单片机进行控制计数,并且使数码管显示数值。这样就得到要统计的人或物的数量。关键字:自动计数;单片机;数码管 ABSTRACTAlong with the rapid development of this community, more and more on the assembly line of products and all sorts of publicNeed for automatic counting. Based on single-chip computers.the product automatic counter intuit
3、ive and count accurate advantages, currently have in various industries have been widely used. Digital counter have various forms and generally have contact 江西城市学院 2011 届专科生毕业论文(设计)and contact-less two kinds, in the development of science and technology today, contactless infrared counter been widel
4、y used. The design USES a pair of infrared emission receiving tube as infrared counter signal detection head, is inexpensive, anti-jamming good, simple structure, convenient operation, etc.The guiding ideology is using infrared luminescence tubes launch infrared, infrared receiving tube receiving th
5、is infrared, and put the amplification, rectifier form low level signals. When someone or something blocking infrared, receiving tube without receiving infrared signal, amplifier output high level, at the same time will the level signal into SCM control counted, and making digital tube display Numbe
6、rs. So get to statistics, the number of people or things.Keywords:Automatic counting ; SCM ; Digital tube目 录第一章 绪 论 .31.1、前言 .31.2、选题背景 .31.3、设计要求 .31.4、国内外的研究概况 .31.5、此次设计研究的主要内容应解决问题 .3第二章 基于单片机构成的产品自动计数器的设计 .32.1、方案论证与选择 .32.2、系统总体框图和原理 .32.3、系统单元电路设计 .32.3.1、电源供电电路 .31. 桥式整流电路: 3江西城市学院 2011 届专科生
7、毕业论文(设计)虑波电路分析 .3稳压电路 .32.3.2、红外线检测部分 .32.3.3、数码管显示部分 .32.3.3.1、LED 数码管的特点: 32.3.3.2、数码管动态扫描 32.3.3.3、数码管驱动部分 32.3.3.4、单片机计数及控制部分 3复位电路 .3复位电路的分类 33.4、系统程序设计 .33.4.1、程序流程图 .33.4.2、程序设计 .33.5、全电路图 .33.5.1、原理图 .33.5.2、PCB 板图 3第三章 结论 3谢 辞 .3参考文献 .错误!未定义书签。附 录 .3江西城市学院 2011 届专科生毕业论文(设计)4第一章 绪 论1.1、前言在当今
8、社会飞速发展的今天,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效的、精确的自动计数成为广大生产厂家十分关注的问题。传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。而基于单片机为核心控制的计数器有着能够实时、精确、可靠、稳定等计数优点已成为广大厂家的首先自动计数装置。1.2、选题背景当今社会,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高,企业迫切需要大量
9、熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才,单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段,已经实现或部分实现,但要真正完美地实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了,电子计数器是一种多功能的电子测量仪器,它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。1.3、设计要求1.整个系统有较强的抗干扰能力。2.计数范围:00993.将计数值准确显示出来4.具有自动清 0 能力1.4、国内外的研究概况如今的产品自动计数器大多采用非接
10、触方式,早已开发出了多种型号的专用检测芯片。而利用 AT89C51 为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。而如何提高自动计数器的实时性、抗干扰能力、稳定性是现在国内外自动计数生产研究的主要课题,产品自动计数主要用于工厂的流水线眩,往往是处于高温,高噪声等极度恶劣的环境中,而 AT89C 系列单片机构成的产品自动计数器在这种环境中工作时往往会出现误操作(单片机程序跑飞)或死机(程序进入死循环) ,这也是基于单片机构成的江西城市学院 2011 届专科生毕业论文(设计)5产品自动计数器存在的致命。1.5、此次设计研究的主要内容应解决问题基于单片机构成的产品自
11、动计数研究的主要内容包括:如果构成检测电路、AT89C 单片机用何种方式对外部计数脉冲进行计数进行计数显示控制、LED 显示驱动模块的选择、AT89C 单片机的扩展。在这个设计中主要需要解决的问题是如何提高 AT89C 单片机的抗干扰能力以及稳定性。第二章 基于单片机构成的产品自动计数器的设计2.1、方案论证与选择方案一、如图一图一、方案一原理阐述:专业检测芯片形成计数后送入控制单元 AT89C51 单片机,通过对它片内计数、显示编程。74LS245 是 LED 驱动芯片,可以同时驱动 4 个 7 段数码管,AT24C02 是 EEPROM 模块,可以保存单片机运算时的中间有用结果的芯片,是突
12、然掉电,关断电源或瞬间电源电压不稳定时,不会造成数据丢失或数据误写,也可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。方案二、图二江西城市学院 2011 届专科生毕业论文(设计)6图二、方案二原理阐述:红外发射电路(以 NE555 为核心)和红外接收电路(由 LM567为核心)构成红外检测单元及形成计数脉冲,计数显示部分使用了四合一芯片CL102 它是集译码、驱动、锁存、显示为一体。方案三、图三图三、方案三原理阐述:利用红外接收发射管的特性(即红外接收头在有红外光电阻原理分压可取基准电压,然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联的电阻分得的电压很大,
13、可使电压比较器LM324 输出为低电平;当无红外光照射的时候,红外接收头串联电阻分得的电压很小,可使电压比较器 LM324 输出为高电平,然后通过单片机处理,可使输出精准的计数值。以上三个方案各有自己的优点:方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,外围电路架设相对简单、在市场上属于高端自动计数产品。同时它也暴露出一个重大问题;由于成本太贵的原因此类产品并没有得到普及。如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数,并没有很好的达到我人做毕业设计的目的,故虽然这个方案最完美的一个方案也只有舍弃。方案
14、二是一个简易的产品自动计数器,价格低廉、计数精确,但在系统处于异常状态时,工作十分不稳定,也是属于现在产品自动计数市场上的淘汰产品,仅用于在计数要求不高的场合中,这个方案太过于简单故不选江西城市学院 2011 届专科生毕业论文(设计)7用。方案三是这次毕业设计用的方案,之所以选用主要是这个方案涉及的知识面广且能达到精确、稳定的自动计数,但也有一个致使的缺点,整个系统的抗干扰力较弱,系统掉电后不能保存数据,在系统牌异常状态时容易出现误操作或死机,这也是此设计看重的问题。2.2、系统总体框图和原理系统总体框图如图四、图四、系统总体框图原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线
15、,并且接收管当有红外线照射的时候,电阻比较小,当无线外线照射的时候电阻比较大,这样就可以通过一个电压比较器和一个基准电压进行对比,当有光照的时候,红外接收管电阻比较小,那么和其串联的电压分压就会增大,所以电压比较器将会输出一高电平;当无光照射的时候,红外接收管的电阻比较大,这样电压比较器就会输出一个低电平。这个便是外部计数电平信号,这个电平信号送入 AT89C51 单片机进行计数控制,在经过扩展、显示驱动完成最后的显示过程。2.3、系统单元电路设计2.3.1、电源供电电路图五-1、电源供电电路如图五所示电源供电部分采用变压器降压、桥式整流、电容器滤波、三端稳压器 7805 稳压后供电,电源用
16、220V 的家庭用电经变压器降至 9V 交流电,然后经四个整流二极管(D1D4)组成的桥式整流成直流电压,经 C1 滤波后输入7805 芯片稳压成 5V 直流电源供红外发射、接收电路、AT89C51 等供电。江西城市学院 2011 届专科生毕业论文(设计)81.桥式整流电路:图五-2、桥式整流电路桥式整流器是利用二极管的单向导通性进行整流的最常用电路,常用来将交流转变成为直流电。原理;桥式整流是对二极管半波整流的一种改进。半波整流利用二极管单向导通特性,在输入标准正弦波的情况下,输了获得正弦波正半部分,负半部分则损失掉。桥式整流器利用四个二极管,两两对接,输入正弦波的正半部分是两只管导通,得到
17、正的输出,输入正弦波的负半部分时,另两只管导通,由于这两只管是反接的,所以输出还是得到正弦波的正半部分。桥式整流器对输入正弦波的利用率比半波整流高一倍。桥式整流是交流转换成直流电的第一步。桥式整流也叫整流桥堆。桥式整流器是多只整流二极管作桥式连接,外用绝缘塑料封装而成,大功率整流器在绝缘层外添加金属壳包封,增强散热。桥式整流器品种多,性能优良,整效率高,稳定性好,最大整流电流从 0.5A 到 50A,最高反射峰值电压从50V 到 1000V。滤波电路分析图五-3、滤波电路整流电路是将交流电变成直流电的一种电路,但其输出的直流电的脉动成分较大,而一般电子设备所需直流电源的脉动系数(电压或电流的幅
18、值与平均值之比,称为脉动系数 S)要求小于 0.01,故整流输出的电压必须采取一定的措施,尽量降低输出电压中的脉动成分,同时要尽量保存输出电压中的直流成分,使输出电压接近于较理想的直流电,这样的电路就是直流电源中的滤波电江西城市学院 2011 届专科生毕业论文(设计)9路。常用的滤波电路有无源滤波和有源滤波两大类。无源滤波的主要形式有电容滤、电感滤波和复式滤波(包括倒 L 型、LC 滤波、LCrr 型滤波,也被称为电子滤波器。直流电中的脉动成分的大小用脉动系数来表示,此值越大,则滤波器的滤波效果越差。脉动系数(S)=输出电压交流分量的最大值/输出电压的直流分量在交流电的角频率一定的情况下 R
19、越大,C2 越大,则脉动系数越小,也就是滤波效果就越好。而 R 值增大时,电阻上的直流压降会增大,这样就增大了直流电源的内部损耗; 若增大 C2 的电容量,又会电容器的体积和重量,实现现起来也不现实。为了解决这个问题,我们在稳压前后各有滤波吸收电路,利用电容器的充放电,补偿交流分量的电压波动稳压电路图五-4、三端稳压芯片2.3.2、红外线检测部分图六、红外线检测部分江西城市学院 2011 届专科生毕业论文(设计)10如图六所示,红外线检测部分采用一对红外发送接收管完成,当电路正常工作时,无障碍物遮挡,红外接收头有红外线照射,这时,红外接收头的电阻很小,大部分电压都加在 R3 上,这正是电压比较
20、器 LM324 的正向输入电压,而负向输入电压由 R4 和 R5 分压得到 ,而 R3 分得的电压要VRU3.54大于此基准电压值,故这时电压比较器 LM324 输出高电平;当在红外发射接收管间有一不透光的障碍物时, ,红外接收头无红外线照射,这时红外接收头的电阻很大,大部分电压都加在红外接收头上,这也是电压比较器 LM324 的正向输入电压,而负向输入电压也是由 R4 和 R5 分压得到,和原来电压一样,这时,R3 分得的电压要小于此基准电压值,故这时电压比较器|LM324 输出低电平。2.3.3、数码管显示部分图七、数码管显示部分显示部分是通过 74LS245 作为数码管的驱动级和两个 P
21、NP 三极管来完成位选操作。然后再通过软件译码来完成,为了考虑到数码管在动态扫描时,每点亮一个数码管的时间很短暂,这样就会影响到数码管的亮度,故在此用74LS245 作为数码管的一个段选驱动级。而该设计中段码输出口是利用 P0 口作为输出口,而 P0 口是漏极开路,虽然有很强的灌电流能力,但拉电流能力很差,故在 P0 口上加一 10 的排阻作为上接电阻。上拉电阻的作用是,当单片机的 P0 口上输入为 0 时,上拉电阻上的电流直接流入单片机中,使数码管的段码上伤保持低电平,故在这时数码管不发光;而当单片机的 P0 口输出为 0 时,这时上拉电阻的有能使电流灌入单片机中,故排阻上的电流流入数码管中
22、,因此这时数码管发光(这里用的是共阴数码管) 。图八、共阴数码管原理图 图九、共阳数码管原理图数码管实际上就是八个发光二极管,它们以两种方式连接,如果将其阴极江西城市学院 2011 届专科生毕业论文(设计)11连接在一起,这种方式构成的数码管成为共阴数码管;如果将其阳极连接在一起,这种方式构成的数码管为共阳数码管。2.3.3.1、LED 数码管的特点:1.能在低电压、小电流条件下驱动发光,能与 CMOS、TTL 电路兼容。2.发光响应时间极短(0.1s) ,高频特性好,单色性好,亮度高。3.体积小,重量轻,抗冲击性能好。4.寿命长,使用天 10 万小时以上,甚至可达 100 万小时,且成本低。
23、显示部分采用软件译码方式,所谓软件译码就是把各字符的段选码组织到一个表中,要显示某字符先查表得到其段选码,然后送往显示器的段码线。单片机应用系统中多采用软件译码的动态显示。2.3.3.2、数码管动态扫描由于多位 LED 数码管所有段选线皆由一个 8 位 I/O 口控制,因此,在每一瞬间,我位 LED 会显示相同的字符,要想每位显示不同的字符,就必须采用扫描方法轮流点亮各位 LED,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制 I/O 输出相应字符段选码(字型码) ,而位选则控制 I/O 口在该显示位送入选通电平(因为 LED 为共阴时,则送入低电平,LED 为共阳时,则送入高电平) ,以
24、保证该位显示相应字符,轮流,使每位分时显示该位应显示的字符。段选码、位选码每送入一次后延时 1ms,因人眼的视觉暂留时间为0.1s:(100ms) ,所以每位显示的间隔不必超过 20ms,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。2.3.3.3、数码管驱动部分图十、74LS245 引脚图引脚功能:A:A 总线端B: B 总线端江西城市学院 2011 届专科生毕业论文(设计)12:三态允许端(低电平有效)GDIR:方向控制端功能表DIR 操作L L B 端流向 A 端L H A 端流向 B 端H X 高阻利用 74LS245 可将单片机输出的 4 个 TTL 门电流提高
25、到每人口为 8 个 TTL门,中样提高了数码管的段选输入电流,从而提高数码的亮度。2.3.3.4、单片机计数及控制部分图十一、单片机计数部分计数部分:计数部分如图十一所示。由单片机 AT89C51 控制完成。基本原理为当红外检测部分检测到有物体经过时,红外接收电路的串联电阻会分压减小,从而使电压比较器的正向输入端小于负向输入端的电压,从而使电压比较器输出一个低电平信号,这个信号将供给单片机进行计数控制。计数部分有三种方案:外部中断、T0 或 T1 计数器脉冲统计、查询法。T0 或 T1 计数器主要作用是在一定时间内计数脉冲的个数,我们在这里并非研究对象为在一定时间内通过物品的数量,而是实时地在
26、显示器上显示数当前的计数值,故我们这里不能采用 T0 或 T1 计数器的方式;查询法是 CPU 在一定时间内或是时刻地在查询是否有计数脉冲产生。我们知道,CPU 每查询一个脉冲大约用到的时间是一个机器周期,也就是 12 个振荡周期,即 1 s 的时间,相对于单片机的运行速度而言,外部流水线的传输速度实在太慢,如果执意要用查询法进行统计物体的传输速度,这样对于单片机的时间资源太浪费,我们在设计单片机产品中,时间资源和空间资料特别珍贵,不能轻易浪费,故查询方案舍弃。外部中断法是利用 P3.2 口的第二功能,INT0 中断,这时,当有一低电平产生时,单片机将自动进入中断服务程序,进行处理外部中断问题
27、,但在这时,江西城市学院 2011 届专科生毕业论文(设计)13由于外界干扰或者物体的特性,可能会进行反复地中断触发,这样可能会造成误计,重计等错误后果,在这里我们处理的办法是我们不再利用电平触发,而采用负边沿触发方式,这样只有产生一个完整的脉冲,才会有负边沿产生,这样就可以在很大程序上解决了误差的问题。综上所述,在本设计在最合理的是采用外部中断方式计数。单片机控制部分:单片机控制数码管显示有责任中方案,和种是查询法,另一种是中断法,这里的中断不再是外部中断,而是利用单片机内部的定时器产生定时中断,从而控制数码管的显示。查询法类似于上面所说的脉冲的查询方法,主程序在不停地查询并显示数码管的点亮
28、,并且在每位数码管之间还要插入延时程序,而这些延时程序一般都是利用空操作的方法进行延时,这样浪费了大量的时间和空间资料。在工程设计和产品制作中,一般不采用此方案。中断法是利用单片机内部产生的溢出进行计数和定时,这样可以准确在某时刻或是是规定的时刻做相应的工作。在本设计中,是用数码管每 1ms 轮循地扫描,点亮数码管。但是,在以上的显示和计数的相应程序段中,可能会遇到两者同时进入中断问题,如果遇到这样的问题,可能会导致单片机死机或者程序跑飞的情况,我们为了避免这样的情况产生,我们在这里必须设定优先级,在工业生产中,要计算出正确的数值才是最重要的,所以,我们这里就要设为检测外部脉冲人优先级。AT8
29、9C51 有以下标准功能:4K 字节 FLASH 闪烁存储器、128 字节内部 RAM、32 个 I/O 口线、两个 16 位定时/计数器、一个 5 向量两级中断、一个全双工串行通信口、片内振荡电路、同时 AT89C51 可降至 0HZ 的静态逻辑操作,并支持两个软件的节电工作模式。空闲方式停止 CPU 的工作,但是允许 RAM、定时/计数器、串行通信口及中断系统继续工作。掉电后保存 ROM 的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图十二、AT89C51 单片机外型江西城市学院 2011 届专科生毕业论文(设计)14图十三、AT89C51P3 口功能AT89C51 共
30、有四十个引脚,采用双列直插式封闭,各引脚功能如下:P0P3:数据输入输出端口。P0 口:一个漏极开路的 8 位准双向 I/O 端口,作为漏极开路的输出端口,每位能驱动 8 个 LS 型 TTL 负载。当 P0 口作为输入口使用时,应先向口锁存器(地址 80H)定入全 1,此时 P0 口的全部引脚浮空,可作为高阻抗输入。作输入口作用时要先写我,这就是准双向的含义。P1 口:一个带有内部上拉电阻的 8 位双向 I/O 端口,P1 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,能过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P1 作输入口使用时,因为有内部的上
31、拉电阻,那些被外部信号拉低的引脚会输出一个电流( ) 。ILP2 口:一个带有内部上拉电阻的 8 位双向 I/O 端口。P2 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上接电阻把端口拉到高电位,这时可用作输入口。P2 作输入口使用时,因为有内部的上拉电阻,那些被部信号拉低的引脚会输出一个电流( ) 。ILP3 口:一个还内部上拉电阻的 8 位双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对商品写 1 时,通过内部的上拉电阻把商品拉到高电位,这时可用作输入口。P3 作输入口使用时,因为有内部的上拉电阻,那些
32、被外部信号拉低的引脚会输出一个电流:( ) 。IL在 AT89C51 中,P3 口还用于一些复用的功能,即第二功能,其复用功能如图十三所示。此外,RST 引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续 24 个振荡周期(即二个机器周期)以上,若使用频率为 6MHZ 晶振,则复位信号持续时间应超过 4 s,才能完成复位操作。复位电路整个复位电路包括芯片内、外两部分。外部电路(如图十四)产生的复位信号送至施密特触发器,再由片内复位电路在每个机器周期的 S5P2 时施密特触江西城市学院 2011 届专科生毕业论文(设计)15发器的输出进行采样,然后才得到内部复位操作所需要的信号。图十
33、四、复位电路逻辑图复位电路的分类复位电路又分为手动复位,上电复位和看门狗复位。上电复位:在加电瞬间电容通过充电来实现的,其电路如图十五所示。在通电瞬间,电容 C 通过电阻 R 充电,RST 端出现正脉冲,用以复位。图十五、上电复位电路手动复位:所谓手动复位就是通过一按键开关,使单片机进入复位状态。系统在上电运行后,需要复位,通过手动得利 位来实现,一般是阻容复位和手动复位相结合。图十六、手动复位电路看门狗复位:看门狗(以 max813 为例)是一种监控单片机是否出问题和上电复位的一咱专用芯片,它在单片机上电的时候可以给出上电复位信号,当系统进行正常工作的时候,要在 1.6 秒之内要给出一个脉冲
34、信号,否则看门狗就会发出一个复位信号至单片机的复位角,使单片机复位,这种操作一般在程序中处理。江西城市学院 2011 届专科生毕业论文(设计)16图十七、看门狗复位电路MAX813 如图十八所示:图十八、MAX813 引脚图MAX813 是具有监控电路的微处理芯片,它具有 4 个功能:1.具有独立的看门狗计时器,如果看门狗输入在 1.6s 内无变化,就会产生看门狗输出;2.掉电或电源电压低于 1.25V 时,产生掉电输出;3.上电时自动产生 200ms 宽的复位脉冲;4.具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。MAX813 的各引脚功能:MR(1 脚):手动复位端。当该端
35、输入低电平保持 140ms 以上,MAX813 就能产生复位信号,该复位信号脉宽为 200ms。Vcc(2 脚):工作电源接+5V。GND(3 脚):电源接地端。PFI(4 脚):电源故障输入端。当该端输入电压低于 1.25V 时,MAX813 使电源故障输出端产生的信号由高电平变为低电平。PFO(5 脚):电源故障输出端。电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。WDI(6 脚):看门狗信号输入端(喂狗信号) 。程序正常运行时,必须每隔1.6s 之内向该端送一次信号,若超过 1.6s,MAX813 接收不到喂狗信号,则产生看门狗输出(见 8 脚) 。WDO(8 脚
36、):看门狗信号输出端。正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。看门狗复位的原理当干扰信号进入系统时,常导致程序的跑飞,而程序跑飞的根本原因是由于程序计数器 PC 错位引起的,在程序存储器中,指令码与存放指令的地址是一一对应的,有的指令码是单字节,有的二字节,单片机最多三字节,PC 的内容正江西城市学院 2011 届专科生毕业论文(设计)17是要执行的指令码的地址,若修改了 PC 内容,打破单片机正常的取指操作,导致了程序的非正常运行,甚至出现至命故障(便修改重要的数据等) ,因此为克服这一问题,可用看门狗监视程序运行,若程序跑飞,则看门狗产生复位信号,使单片机重
37、新返回程序正常运行。3.4、系统程序设计3.4.1、程序流程图图十九、主程序流程图图二十、脉冲计数中断流程图江西城市学院 2011 届专科生毕业论文(设计)18图二十一、中断显示程序流程图3.4.2、程序设计STOREH EQU 20H ;计数高位暂存单元STOREL EQU 21H ;计数低位暂存单元FLAG BIT 22H ;显示定位标志ORG 0000HAJMP MAINORG 0003H ;外部中断 0 地址入口LJMP WAVEORG 000BH ;定时中断 0 地址入口LJMP TTT0ORG 0030H;*初始化*MAIN: MOV SP,#60H ;设堆栈栈底MOV TMOD,
38、#01H ;设为定时器 0,模式 1MOV TH0,#0FCH ;1ms 定时中断MOV TL0,#18HMOV R2,#0 ;计数单元清 0CLR FLAG ;显示标志清 0MOV STOREH,#0 ;初始化暂存单元清 0MOV STOREL,#0SETB ET0 ;打开定时器 0 中断SETB TR0 ;打开计数SETB EX0 ;打开外部中断 0SETB IT0 ;设为负边沿触发方式SETB PX0 ;设为外部中断计数优先级SETB EA ;打开总中断;*主程序*START: MOV A,R2 ;将当前计数的值送入 A 中江西城市学院 2011 届专科生毕业论文(设计)19ADD A,
39、#0 ;将数据调整为十进制数DA AANL A,#0FH ;分离出数据的个位MOV STOREL,A ;送入显示缓冲单元MOV A,R2 ;将数据重新送入 A 中SWAP A ;A 中的数据高低字节交换ADD A,#0 ;调整为十进制数据DA AANL A,#0FH ;分离出十位数据MOV STOREH,A ;存入高位显示暂存单元SJMP START ;主程序返回;*中断显示程序*TTT0: PUSH ACCPUSH PSWMOV TH0,#0FCH ;重装初值MOV TL0,#18HCPL FLAG ;显示定位标志位取反JNB FLAG,LOP2 ;当前标志是 0 吗,是 0 则跳转LOP1
40、: MOV A,STOREL ;不为 0 则执行个位数据;将个位数据送入 A中MOV DPTR,#TAB ;调入地址表格数据MOVC A,A+DPTR ;查询对应显示码MOV P0,A ;送入 P0 口MOV P2,#0FDH ;打开个位的位选信号AJMP EXIT ;退出中断LOP2: MOV A,STOREH ;将显示高位送入 A 中MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AMOV P2,#0FBHEXIT: POP PSW ;中断退出POP ACCRETI;*外部中断计数*WAVE: PUSH ACCPUSH PSWINC R2 ;R2 计数器加班*CJNE R
41、2,#100,LOP3 ;中否加到了解 100MOV R2,#0 ;清计数器LOP3: POP PSWPOP ACCRETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴数码管显示地址表江西城市学院 2011 届专科生毕业论文(设计)20END3.5、全电路图3.5.1、原理图 D1N40723CVinoutGR85LEKHYSFUAMP.6T9X/Opabcdefg于ByJ江西城市学院 2011 届专科生毕业论文(设计)213.5.2、PCB 板图第 3 章 结论在研究这个毕业设计的过程中,曾经遇到了许多麻烦:在单元的选择上光电传感器还
42、是红外对射式,还是用红外发送接收管曾经让我迷茫。在单片机的选择上是选择内部具有 4KB 字节的闪烁存储器的 AT89C51 还是还选择具有 8K的 AT89C2051 或是 STC89C51 曾经也让我困惑不已(其实任选一款都可以实现,但是曾经考虑的是资源浪费和元件的价格问题) 。而最让我感到迷茫的是是否用红外发射接收管能产生高低电平或是脉冲信号,怎样实现让其产生脉冲或电平的跳变信号。其实通过设计要求可以看出根本不需要对 AT89C51 进行过多的考虑,也不需要对其进行任何扩展,就可以利用七段数码管进行计数,但在计数过程中,由于利用的是动态扫描,第一次做实验的过程中,数码管很暗,后来增加了一个
43、驱动级,才使数码管正常发光。基于单片机构成的产品自动计数器能够实现实时、稳定、精确的计数。如果要对这个课题进行深入的研究可以采用 AT89S52 为控制单元的产品自动计数器在配合专用数据保护芯片(如 AT24C02) 、单片机专用保护芯片、看门狗自动动复位芯片(MAX813) 、按键设定计数上限报警功能等就可以很好的提高整个系统的性能和实用性。产品自动计数器的设计的抗干扰问题永远是设计者们研究的课程!只要能有效的遏制这个缺陷形成一个优质的自动技术产品指日可待!(AT89C51 单片江西城市学院 2011 届专科生毕业论文(设计)22机允许工作的温度范围:-55 150 ,工作的频率范围上限是:
44、24MHZ) 。C。 。画插图过程中,一开始想利用 word 本身制作,可 word 画出的图果不仅不好,而且如果文章一有点小改动,插图无法连接,分散开来,这样修改起来又不方便。后来想到用 Auto CAD 绘制,这样就不会因为文章中间有改动而得重新整合插图了。绘制 PCB 板的时候,由于 Altium Designer 9.3 软件本身没有我们所需要的所有元件库,这样使用起来不是得心应手,后来经过一整天的上网查资料和查了书上绘制原理图到 PCB 板的过程后,得知 Altium Designer 9.3 是可以在绘制原理图过程中,随意改封装,而且也可以任意更改原理图的管脚名称、电气特性、IO
45、口的作用,还可以隐藏管脚等。好的一点是 Altium Designer 9.3这个软件在编辑原理图和绘制 PCB 文档时,显示的对应 PCB 封装图全部都是 3D封装,一目了然,也节省了不少功夫。但是 PCB 板图画出来是黑色背景,导入word 中,然后打印出来后肯定是一片黑色,无法看清,最后得知,Altium Designer 9.3 中还有一个智能 PDF 生成器的工具,导成 PDF 文件后,就是白色背景,这样再截图到 word 中就解决打印后无法看清的问题了。本次设计的基于单片机构成的产品自动计数器没有任何停止、复位等功能按键,上电便进行计数工作。仅作为自动计数产品理论研究之用。谢 辞本
46、设计在选题及研究过程中得到石怿老师的悉心指导。石怿老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拔、热忱鼓励。石怿教师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,我对石老师的感激之情是无法用言语表达的,他不仅学识渊博,对专业孜孜以求,精益求精;而且在百忙之作仍然读书不辍,不断探求;为人师表,率先垂范;传道授业,呕心沥血。如果说我从指导老师那里学会了怎么做好学问,那么首先应该说我从指导师那里领略了真正的学术精神,导师严谨的治学态度和坚韧的探索精神将使我终生受益。载此,我还要感谢在一起愉快的度过大学生活的同学们,正是由于你们的帮助和支持,我才能克服
47、一个一个的困难和疑惑,直到本文的顺利完成。在论文即将完成之际,我的心静无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢一直以来授予我单片机课程的朱老师、培养我长大含辛茹苦的父母,谢谢你们!江西城市学院 2011 届专科生毕业论文(设计)23附 录元件 参数 数量三端稳压芯片 W7805 130P 210u 1104 1电 容1000u 1整流二极管 IN4007 4共阴数码管 LED 2红外接收发送头 一对LED 发光二极管 LED 1变压器 9V 输出 1电阻排 10K 11K 22K 34.7K 2电 阻10K 1NPN 三极管 9013 2电压比较器 LM324 1单片机 AT89C51 1数码管驱动器 74LS245 1晶 振 12M 1