毕业设计.docx
- 文档编号:28135610
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:34
- 大小:453.75KB
毕业设计.docx
《毕业设计.docx》由会员分享,可在线阅读,更多相关《毕业设计.docx(34页珍藏版)》请在冰豆网上搜索。
毕业设计
第1章绪论……………………………………………………………………1
1.1前言………………………………………………………………………1
1.2设计背景……………………………………………………………………1
1.3设计意义…………………………………………………………………1
1.4设计要求…………………………………………………………………2
第2章单片机的概述……………………………………………………3
2.1单片机的介绍………………………………………………………………4
2.2单片机的结构及原理………………………………………………………4
2.3单片机的应用……………………………………………………………7
第3章系统的的硬件设计……………………………………………………9
3.1硬件系统总体设计………………………………………………………9
3.2硬件系统各单元部分构成………………………………………………10
3.3系统原理图………………………………………………………………18
第4章系统的软件设计与调试……………………………………………19
4.1主程序设计…………………………………………………………19
4.2子程序设计………………………………………………………………20
4.3系统调试…………………………………………………………………22
第5章总结…………………………………………………………………25致谢…………………………………………………………………………………26参考文献…………………………………………………………………………27
附录………………………………………………………………………………28
第1章绪论
1.1前言
在当今社会飞速发展的格局下,伴随着科技的飞速发展,各厂家为了能够提高其效率,所以就采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题,这也就确定了自动计数器的重要性。
而传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,因此障率较高,维修比较困难,而且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄,基于这些原因,就要求我们去设计出更高级的计数器,而基于单片机为核心控制的计数器有着实时,精确,可靠,稳定等计数优点,因此成为广大厂家的首选自动计数的装置。
1.2设计背景
计数器在工业控制中有着广泛的应用,传统的数字计数器都是用的中小规模的数字集成电路,不但电路复杂,成本高,功能修改也不易。
基于单片机的计数器可以克服传统数字计数器的局限性,有着广泛的发展前景。
基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高。
企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才,去设计出更高级的计数器,来提高生产效率。
而单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。
已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了。
电子计数器是一种多功能的电子测量仪器。
它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。
而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题。
产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中。
而由单片机构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环)。
这也是基于单片机构成的产品自动计数器存在的致命问题。
这也要求设计者们去寻找出更好的方法去解决这些问题,以此来为公司增加效益。
1.3设计意义
本设计旨在进一步掌握单片机的理论知识,理解单片机系统的硬软件设计,加强对实际应用系统设计的能力。
通过本设计的学习,使我掌握嵌入式单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。
当然我也希望能在单片机的领域上能有所作为,而这个基于单片机的计数器设计,在一定的程度上有些实际意义。
1.4设计要求
1.整个系统有较强的抗干扰能力。
2.计数范围:
000000~999999。
3.将计数值准确显示出来。
第2章单片机的概述
2.1单片机的介绍
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、
内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。
(1)SCM即单片微型计算机阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
(2)MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
(3)嵌入式系统单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
2.2AT89C51单片机的结构及原理
2.2.1AT89C51单片机的结构
AT89C51单片机的内部结构包括CPU、存储器、并行接口、串行接口、定时计数器,其系统结构图如下页图2.1所示。
在一个芯片上集成了单片机的的各个组成部分,其功能如下:
(1)一个八位中央处理器CPU,包括可以进行8位算术运算和逻辑运算的AIU单元、8位累加器ACC、寄存器B和程序状态寄存器PSW等。
(2)片内数据存储器RAM(128B),用于存放可以读/写的数据。
如运算中间的结果、最终结果或预显示的数据等。
(3)片内程序存数器POM/EPROM,用于存放程序,一些原始数据和一些表。
(4)四个8位并行I/O接口P0~P3,每个接口可用于输入或输出。
图2.1系统结构图
(5)两个16位定时/计数器,每个定时/计数器都可以设置成计数方式,以对外部事件计数;也可以设置成定时方式并可以根据定时或计数的结果实现计算机控制。
(6)五个中断源,具有两个优先级的中断嵌套结构。
即两外部中断源
和
,三个内部中断源即两个定时计数中断和一个串行口中断。
(7)一个全双工通用异步接受发送器(URAT)串行接口,用于实现单片机与单片机或单片机与其他计算机之间的串行通信。
(8)片内振荡器和时钟产生电路,时钟振荡电路是控制器的核心,为控制器提供时钟脉冲。
(9)单片机允许的最高工作频率是12MHZ。
AT89C51可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式。
2.2.2AT89C51单片机的引脚功能及特点
一、单片机的引脚功能
1.电源引脚GND和VCC
(1)VSS(20脚):
接地端。
(2)VCC(40脚):
电源端。
正常操作及对FlashROM编程和验证时接+5V电源。
2.外接晶体引脚XTAL1和XTAL2
(1)XTAL1(19脚):
接外部晶体和微调电容的一端。
在AT89C51片内,它是振荡电路反向放大器的输入端及内部时钟发生器的输入端,振荡电路的频率就是晶体的固有频率。
当采用外部振荡器时,此引脚输入外部时钟脉冲。
(2)XTAL2(18脚):
接外部晶体和微调电容的另一端。
在AT89C51片内,它是振荡电路反向放大器的输出端。
在采用外部振荡器时,此引脚应悬浮。
3.控制信号引脚RST、ALE/PROG、PSEN和EA/VPP
(1)RST(9脚):
复位信号输入端,高电平有效。
当振荡器工作时,在此引脚上出现两个机器周期以上的高电平,就可以使单片机复位。
(2)ALE/PROG(30脚):
地址锁存允许信号。
当AT89C51上电正常工作后,ALE端不断向外输出正脉冲信号,此信号频率为振荡器频率的1/6。
AT89C51在并行扩展外部存储器(包括并行扩展I/O口)时,P0口用于分时传送低8位地址和数据信号。
当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。
在ALE信号的下降沿,锁定P0口传送的低8位地址信号。
这样,可以实现低8位地址与数据的分离。
ALE信号可以用作对外输出的时钟或定时信号。
需注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个TTL门电路。
在对AT89C51片内4KBFlashROM编程(固化)时,此引脚用于输入编程脉冲PROG。
(3)PSEN(29脚):
外部程序存储器的读选通信号。
当AT89C51由外部程序存储器取指令(或常数)时,每个机器周期内PSEN两次有效输出。
当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN端同样可以驱动8个TTL门电路。
(4)EA/VPP(31脚):
内/外ROM选择端。
当EA端接高电平时,CPU访问并执行内部程序存储器的指令;但当PC(程序计数器)值超过4KB(1FFFH)时,将自动转去执行外部程序存储器中的程序。
当EA端接低电平时,CPU只访问并执行外部程序存储器中的指令,而不管是否有内部程序存储器。
需要注意的是,如果保密位LB1被编程,复位时在内部会锁存EA端的状态。
在对AT89C51片内FlashROM编程(固化)时,此引脚用于施加编程电源VPP。
高电压编程时,VPP为+12V,低电压编程时,VPP为+5V。
4.输入/输出引脚P0口、P1口、P2口、P3口
(1)P0口(P0.0-P0.7共8条引脚,即39-32脚):
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
(2)P1口(P1.0-P1.7共8条引脚,即1-8脚):
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收低8位地址。
(3)P2口(P2.0-P2.7共8条引脚,即21-28脚):
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
(4)P3口(P3.0-P3.7共8条引脚,即10-17脚):
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口的第二功能如下页表2.1所示。
二、AY89C51单片机的硬件特性
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
表2.1P3口的第二功能
2.3单片机的主要应用
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
(1)在智能仪器仪表上的应用。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
(2)在工业控制中的应用。
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
(3)在计算机网络和通信领域中的应用。
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
(4)单片机在医用设备领域中的应用。
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
(5)在各种大型电器中的模块化应用。
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。
如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
如:
音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
(6)在汽车设备领域中的应用。
单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
第3章基于单片机构成的计数器的硬件设计
3.1硬件系统总体设计
一、系统总体框图
图3.1系统总体框图
二、原理阐述
红外发射电路(以NE555为核心)和红外接收电路(由LM567为核心)构成红外检测单元以及形成计数脉冲、经过AT89C51外部中断对其片内计数、显示编程、最后通过显示驱动芯片连接上LED显示器就完成了最后的计数显示。
电路的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号。
当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。
这个便是外部计数脉冲信号。
这个计数脉冲信号送入AT89C51单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。
3.2硬件系统各单元部分构成
3.2.1电源供电电路
如下页图3.2所示,电源供电部分采用变压器降压、桥式整流电路整流、电容器滤波、三端稳压器7805稳压后供电。
电源用220V市电经变X1压器降压成9V交流电,然后经四个整流二极管(D1—D4)组成的桥式整流变成直流电压,经C1滤波后送入7805芯片稳压成5V直流电源供红外线发射、接收电路、AT89C51等供电。
图3.2电源供电电路
稳压器7805外形图如图3.3,引脚功能为:
1脚:
输入2脚:
接地3脚:
输出
由于内部电流的限制,以及过热保护和安全工作区的保护,使它基本上不会损坏。
如果能够提供足够的散热片,它们就能够提供大于1.5A输出电流。
虽然是招安照固定电压值来设计的,但是当接入适当的外部器件后,就能获得各种不同的电压和电流。
图3.3稳压器7805外形图
3.2.2外线检测部分
这个部分主要由NE555组成的红外发射电路和LM567构成的红外接收电路构成。
工作原理为当红外发射二级管发出红外光,检测是否受人或者物体遮挡,然后由红外线接收二极管将调制信号通过锁相环鉴频后输出CP计数脉冲以便单片机进行计数控制。
如下页图3.4所示,红外线发射电路以时钟定时集成芯片NE555为核心。
内部含有两个电压比较器,一个分压器,一个RS触发器,一个放电晶体管和一个功率输出级构成一个多谐振荡器。
产生一个频率在91kHz至130kHz的脉冲波(这是理论值。
由于元件偏差,以实际测量为准),通过3脚输出脉冲波,由红外线发光二极管(D1)发射出去。
频率计算方法:
F=1.443/(R1+2R2)C1
因此根据公式计算我们知道此设计中红外线发光二极管的发射频率为12.4KHZ—94.5kHZ,发射的是脉冲波。
图3.4红外线发射电路
NE555芯片引脚功能为:
1脚:
芯片GND5脚:
控制电压
2脚:
触发6脚:
门限(阈值)
3脚:
输出7脚:
放电
4脚:
复位8脚:
电源电压VCC
图3.5NE555芯片电路引脚图以及芯片外型图
NE555芯片可构成三大类型的电路:
单稳态电路、双稳态电路、无稳态电路。
在本设计中使用的是间接反馈型无稳态电路。
其主要特点是振荡电路直接连接在电源上。
图3.6红外线接收电路
红外线接收电路如图3.6所表示是以锁相环集成芯片LM567为核心,构成一个鉴频电路。
如图3.6所示,红外线接收二极管将感应到的脉冲信号通过电容C1耦合到三极管01的基极,由Q1组成的放大电路把感应信号放大约100倍后,送给LM567的3脚,由LM567完成鉴频。
如果接收信号在LM567的捕捉带宽内,8脚输出低电平;否则8脚维持高电平。
5脚,6脚上的电容、电阻决定了内部压控晶体振荡器的中心频率(f1=1/1.1R4C5)当f=f1时LM567开始工作(即构成红外接收电路)。
1脚上的电容C4和二脚上的电容C3接地构成输出滤波网络和低通滤波网络,在具体值的设置上C4通常设定为C3的两倍。
利用LM567锁相环解码芯片的好处是可以提高整个检测电路的检测灵敏度和消除太阳光等背景光的干扰,从而提高了整个检测电路的干扰能力。
如果在对射管(接收管和发射管)外加滤光片便可以更好的提高抗干扰能力。
而根据《单片机原理与应用》书中可知,单片机正常工作频率为f=fx/24(fx为晶振频率,一般为12MHZ),即0—500KHZ。
8脚输出的计数脉冲频率为12.4KHZ—94.5kHZ,从而在电路设计上满足了单片机控制的基本要求。
从上面的分析上不难看出,利用NE555和LM567构成检测单元其实是种浪费现象。
市面上的主流产品计数产品在检测部分一般都用到了专用检测芯片如EST108配合光电传感器构成,检测精度非常高。
NE555和LM567一般广泛运用与多路红外遥控系统中(遥控距离为15—30米、如多路电灯的开关控制、多路水龙头的控制中)。
NE555和LM567构成多路遥控电路时需外加一个双稳态电路控制继电器工作(这是完成电子控制到机械控制),由于篇幅原因这里不做过多阐述。
图3.7LM567引脚图图3.8LM567内部功能图
3.2.3计数显示部分
计数显示部分如下页图3.9所示,由单片机AT89C51控制完成。
基本原理为当红外检测部分检测到有产品经过时,红外接收电路LM567芯片的8脚输出口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通过扩展8155I/0口实现,通过集成驱动芯片BIC8718完成最终的显示。
计数控制部分是将计数脉冲(负脉冲有效)送入单片机AT89C51两个中断入口的
入口,经过单片机内部对这个中断信号进行计数编程构成。
AT89C51与MCS-51指令系统完全兼容。
提供以下标准功能:
4K字节FLASH闪烁存储器、128字节内部RAM、32个I/O口线、两个16位定时/计数器、一个5向量两级中断、一个全双工串行通信口、片内振荡器及时钟电路。
AT89C51可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式。
空闲方式停止CPU的工作,但是允许RAM、定时/计数器、串行通信口及中断系统继续工作。
掉电后保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
显示部分是通过8155芯片扩展I/O口和显示驱动芯片BIC8178以及8段数码管构成。
采用的是软件译码方式。
如图3.9所示。
软件译码是把各字符的段选码组织到一个表中,要显示某字符先查表得到其段选码,然后送往显示器的段码线。
单片机应用系统中多采用软件译码的动态显示。
下页图3.9中8155PB口输出的是段选码,PA口输出位选码。
而位选码占用的输出口线数取决于显示器位数。
图3.9计数显示电路
对应于MCS—51单片机的I/O口扩展普遍的选用8155和8255系列。
8155和8255扩展芯片都是通用可编程并行I/O口扩展芯片,40个引脚封装,在这个设计当中我们选择使用8155扩展芯片。
图3.10AT89C51单片机外型图3.11AT89C51P3口端口功能
Intel8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。
8155可直接与MCS-51单片机连接不需要增加任何硬件逻辑。
由于8155既有RAM又具有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一,8155的引脚及内部结构如图3.12。
图3.128155引脚以及内部引脚图3.138155外部引脚图
8155共有40个引脚,采用双列直插式封装。
各引脚功能如下:
AD7~AD0:
地址数据总路线。
单片机和8155之间的地址、数据、命令、状态信息都是通过它传送的。
/CE:
片选信号线,低电平有效。
/RD:
存储器读信号线,低电平有效。
/WR:
存储器写信号线,低电平有效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计