毕业设计论文基于单片机的计数器设计.docx
- 文档编号:9181799
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:55
- 大小:545.01KB
毕业设计论文基于单片机的计数器设计.docx
《毕业设计论文基于单片机的计数器设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的计数器设计.docx(55页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于单片机的计数器设计
本科毕业论文(设计)
题目基于单片机的计数系统设计
学院:
机电与信息工程学院
专业:
电子信息工程
年级:
2011级
学号:
2011114083
姓名:
指导教师:
成绩:
年月日
基于单片机的计数系统设计
摘要:
随着当今社会的飞速发展,越来越多的流水线上的产品和各种公共场所需要进行自动计数。
基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中得到广泛应用。
数字计数器有多种形式,总体来说有接触式和非接触式两种,在科技发展的今天,非接触式红外计数器得到了广泛的应用。
但出于设计成本的考虑,本设计采用关电开关为计数器的信号检测头,具有价格低廉,抗干扰性好,结构简单,操作方便等特点。
指导思想是利用关电开关输出高低电平,同时对在由输出由高电平转化为低电平的那个信号进行处理,并由单片机进行控制计数,并且使LCD1602显示数值。
这样就得到要统计的人或物的数量。
关键字:
STC89C52关电开关LCD1602C语言
Abstract:
withtherapiddevelopmentofmodernsociety,moreandmoreproductsontheassemblylineandvariouspublicplacesneedforautomaticcounting.Basedonsingle-chipcomputers.theproductautomaticcounterhastheadvantagesofintuitiveandaccuratecount,atpresent,hasbeenwidelyusedinvariousindustries.Digitalcounterhasmanyforms,aregenerallyofcontacttypeandnon-contacttypetwokinds,inthedevelopmentofscienceandtechnologytoday,noncontactinfraredcounterhasbeenwidelyapplied.Thisdesignusestoturnofftheelectricswitchsignaldetectionheadforthecounter,withtheadvantagesoflowprice,goodanti-jammingperformance,simplestructure,convenientoperationetc..
Theguidingideologyofusingphotoelectricityswitchoutputlevel,atthesametimeforprocessinginthesignalfromtheoutputfromthehighlevelintoalowlevel,andthecontrolcountbythemicrocontroller,andtheLCD1602displaynumerical.Thenumberofpeopleorthingsthatgettothestatisticsofthe.
KeyWords:
STC89C52,photoelectricswitch,LCD1602,Cprogram
1绪论
1.1前言
今年来,高速公路的建设步伐很快,对高速公路进行科学管理势在必行,如对车辆的流量统计和分析,可以实现高速公路载荷的邮箱控制与管理。
目前,高速公路上对车辆的计数方法有的是使用环形感应线圈检测器,检测系统检测送出的信号脉冲电平比较高,很容易放大和滤波,但是信号很容易受到电磁干扰,而且这种系统比较庞大,制造成本高;也有采用红外线热释放电传感器的单车道车辆计数器,计数器用中规模IC构成,具体结构简单等特点,但仅仅适用于单车道且技术的数据不能长期保存,也无法与大型机之间实现通信;而采用基于单片机的关电开关车辆计数器,系统简单,制造成本也低,数据可以长期保存,还可搭建必要的通信结构用于单片机与PC机的连接。
为此设计了一种基于单片机的关电开关的车辆计数系统。
1.2背景与意义
电子计数器到目前为止已有30多年的发展史。
早期,设计师们追求的目标主要是扩展计数范围,提高计数精度、稳定度等,这些也是人们衡量电子计数器的技术水平,决定电子计数器价格高低的主要依据。
目前这些基本技术日臻完善,应用现代技术可以轻松地将电子计数器的计数上限扩展到无限大。
当今,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备广泛应用到各个领域,单片机技术产品促进了生产技术水平的提高,企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才.单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。
已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了.电子计数器是一种多功能的电子测量仪器。
它利用电子学的方法测出一定时间内输入的脉冲数目,并对脉冲数目进行处理,而将结果以数字形式显示出来。
2系统的方案设计与论证
单片机计数器的制作有多种方法,可供选择的器件和运用的技术也有很多种。
所以,系统的总体设计方案应在满足系统功能的前提下,充分考虑系统使用的环境,所选的结构要简单使用、易于实现,器件的选用着眼于合适的参数、稳定的性能、较低的功耗以及低廉的成本。
系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定用单片机内部定时/计数器做一个内部时间,RESPACK-8对单片机STC89C52进行供电,数据采集器关电开关连接单片机STC89C52。
从而实现计数的功能。
按照系统设计的要求,初步确定系统由电源模块、时钟模块、显示模块、键盘接口模块和数据采集模块共五个模块组成,电路系统构成框图如图2.1所示。
图2.1硬件电路框图
2.1单片机芯片设计与论证
方案一:
采用AT89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能用于3V的超低电压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用STC89C52芯片作为硬件核心,采用FlashROM,能以3V的超低电压工作,而且与MCS-51系列单片机完全兼容,该芯片内部存储器为8KBROM存储空间。
同样具有STC89C52的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
由于STC89C52内部具有8KBROM存储芯片并且支持ISP在线编程,因此采用STC89C52作为主控芯片。
2.2按键控制模块设计与论证
方案一:
采用矩阵键盘,由于按键多可实现数值的直接键入,但在系统中需要CPU不间断的对其端口扫描。
方案二:
采用独立按键,查询简单,程序处理简单,可节省CPU资源。
因系统中所需按键不多,为了释放更多的CPU占有时间,操作方便,故采用方案二。
2.3时钟模块设计与论证
方案一:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压~范围内,时耗电小于300nA.
方案二:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案不但提高了对芯片的使用率,还节约成本。
由于直接采用单片机定时计数器提供秒信号可以节约成本,而且闰年补偿功能可以用代码实现,故采用方案二。
2.4脉冲采集模块设计与论证
方案一:
采用红外线传感器,数据采集后还得再经AD转换得到数字信号,精度较准,但价格昂贵,电路较复杂。
方案二:
采用关电开关,由于其输出为高低电平信号,故无需再经AD转换得到数字信号,就可直接用于单片机操作。
因为用关电开关,采用单总线访问,降低成本、降低制作难度且可节省单片机资源,故采用方案二。
2.5显示模块模块设计与论证
方案一:
采用数码管静态显示方法,静态显示模块的硬件制作较复杂及功耗大,要用到多个移位寄存器,但不占用端口,只需两根串口线输出。
方案二:
采用数码管动态显示方法,动态显示模块的硬件制作简单,段扫描和位扫描各占用一个端口,总需占用单片机14个端口,采用间断扫描法功耗小、硬件成本低及整个硬件系统体积相对减小。
方案三:
采用LCD1602的方法,由于目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
显示内容多,功耗小,成本低等优点,采用LCD的缺点是亮度不够。
比较以上三种方案:
方案一硬件复杂体积大、功耗大;方案二硬件简单、功耗小;方案三硬件简单,显示内容多,功耗小,成本低等。
本系统设计要求达到功耗小、体积小、成本低,显示信息多等要求,权衡三种方案,选择方案三。
3系统硬件的设计
根据上述所确定的系统方案构想,下面进行系统硬件电路的具体设计,系统的具体设计在下面会详细介绍。
3.1MCS-51系列单片机的内部功能的介绍
MCS-51具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
本设计主要用到了单片机的中断系统和定时/计数器,下面着重介绍这2个功能。
中断系统
中断就是通过硬件改变CPU的程序运行方向,计算机在执行程序的过程中,一旦外部发生突发事件,立即中断当前的程序运行,转到处理外部事件的子程序,等子程序执行完了再返回原程序执行。
中断之后所执行的处理程序通常称作中断服务或中断子程序,原来运行的程序称为主程序,主程序被断开的位置(程序地址)称为断点,能发出中断申请的外部事件的设备称为中断源,中断源要求服务的请求陈伟中断请求或申请。
MSC-51单片机有5个中断源,提供两个中断优先级,即可以实现二级中断服务程序嵌套[1]。
每个中断源都可以设置为高优先级或低优先级。
与中断系统有关的专用寄存器有:
中断优先级控制寄存器IP;中断允许控制寄存器IE;中断源寄存器TCON、SCON的相关位,另外还涉及到程序存储中5个有关中断入口地址。
MCS-51中断系统的结构如图所示。
图3.18051的中断系统
1.中断源及中断入口
MSC-51的中断源通常有三类,共5个中断源,即外部中断、定时中断和串行口中断,现在分别介绍如下。
INT0:
外部中断0请求,由引脚输入。
IT0(TCON.0)决定是低电平有效还是下跳变有效。
一旦输入信号有效,即向CPU申请中断,并且使IE0=1。
TF0:
定时器T0溢出中断请求。
当定时器T0溢出时,将中断请求标志位TF0置1,请求中断。
当某个中断源的中断申请被CPU响应后,CPU会自动跳到此中断源的入口地址,用户在此存放一条绝对跳转指令,跳转到相应的中断子程去执行。
在C语言中,中断子程序的定义就已经确定了CPU响应中断,应该往哪里跳转,所以无需担心5个中断源的入口地址的分配情况。
2.外部中断请求标志
在中断请求被响应前,中断请求是由CPU锁存在特殊功能寄存器TCON和SCON的相应标志位中。
(1)TCON中的中断标志
TCON是定时器T0和T1的控制寄存器,同时也锁存T0和T1的溢出中断标志及外部中断INT0和INT1的中断标志。
与中断有关的如下所述。
位,T0溢出中断标志,T0被启动计数后,从初值开始加1计数,计满溢出由硬件自动将TF0置1,并向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清0.也可由软件查询该标志位,并由软件清0。
IE0:
,INT0外部中断0标志。
IE0=1,表示外部中断1向CPU申请中断。
IT0:
,外部中断0触发方式控制位,当IT0=0,外部中断0为电平触发方式。
CPU在没一个机器周期S5P2期间采样INT0()引脚,若采到低电平,则认为有中断申请,即将IE0置0,若为高电平,则认为无中断申请或中断申请已撤除,随机清除IE0标志。
在电平触发方式下,CPU响应中断后不能自动清除IE0标志,也不能由软件清除,所以在中断返回前,必须撤销INT0引脚上的低电平,否则将再次响应中断造成出错.
TCON
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
88H
TF1
TF0
IE1
IT1
IE0
IT0
(2)SCON的中断标志,本设计没用上串行通信,这里就不对SCON做详细介绍了。
3中断允许控制
MSC-51单片机中专用寄存器IE为中断允许寄存器,它控制CPU对中断源的开放或屏蔽,以及每个中断源是否允许中断[1],其格式为:
位符号IE
EA
--
ET2
ES
ET1
EX1
ET0
EX0
位地址
AFH
--
ADH
ACH
ABH
AAH
A9H
A8H
单片机的定时/计数器
在测量和控制系统中,常需要定时以及对外部事件计数等,8051内部有两个定时/计数器具有这种功能。
8051单片机内部的两个定时器T0、T1都是16位的定时器。
本章主要介绍这两个定时/计数器的结构、原理、工作方式1。
1.定时/计数器的结构
定时/计数器的结构如图所示。
下面介绍定时/计数器和特殊功能寄存器的基本原理。
图3.2TMOD、TCON与T0、T1的结构框图
2.定时/计数器的原理
由图可见,定时计数器的核心是一个16位的定时/计数器,它是一个加1计数器,计数脉冲来源有两个,一个是由系统振荡器的12分频产生,一个是来自外部的脉冲信号。
当定时/计数器工作在定时器方式时,即
,计数器输入被切换到12分频的输出端,也就是计数器的加1信号为机器周期,即每经过一个机器周期计数器加1,一直到计数满溢出为止。
从开始计数到计数满所用的时间为定时时间,显然定时时间与振荡器的频率有关。
图3.3定时/计数器的结构框图
当定时/计数器为计数工作方式时,即
,计数输入被切换到外部脉冲输入T0或T1,当外部脉冲每出现一次从0~1的跳变时,计数器加1,在每个机器周期的S5P2期间计数器采样引脚输入电平。
若一个机器周期采到一个高电平,下一个机器周期采到一低电平,则计数器加1。
新的计数值是在紧接着下一个机器周期的S3P1期间装入计数器的。
由于识别一个从0~1的跳变要用两个机器周期(24个振荡周期),所以外部脉冲的最高计数频率为振荡频率的1/24。
另外,为了确保某个电平至少被采样一次,因此要求每一个电平或低电平的保持时间至少为一个完整的机器周期。
根据以上的介绍可以看出,定时/计数器的工作受特殊功能寄存器的某些位控制的,在工作之前,CPU必需将命令写入寄存器,并要给计数器置初值。
下面将详细介绍这些控制字的格式和各位的功能。
(1)定时/计数器方式寄存器TMOD
TMOD格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
GATE
M1
M0
GATE
M1
M0
下面说明各位的功能。
M1和M0方式1选择位。
定义如表所示。
表3.1方式选择位意义
M1M0
工作方式
功能说明
01
方式1
16位计数器
:
功能选择位。
当
,为定时方式;当
时,为计数方式。
GATE:
门控制。
当GATE=0时,允许软件控制位TR0或者TR1启动定时器开始工作;当GATE=1是,允许外中断引脚启动定时器(当中断引脚一旦为高电平时计数器就开始计数),即由INT0(P)或INT(P)引脚分别控制T0或T1.
TMOD只能字节寻址不能位寻址,也就是只能用字节指令设置定时器工作方式。
TMOD的低4位为定义定时器0。
复位时,TMOD各位均为0。
(2)定时控制寄存器TCON
定时器控制字TCON的格式如下:
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF0:
定时器0溢出标志位。
定时器0溢出时硬件自动将此位置1,并申请中断。
进入中断服务程序后,硬件会自动将此位清0,在查询方式下用软件清0。
TR0:
定时器0运行控制位。
由软件置1或清0来启动或关闭定时器1。
IT0:
外中断0触发方式选择位。
IT0=0,为低电平触发:
IT0=1,为下降沿触发。
由软件置1或清0。
IE0:
外部中断0请求标志。
当检测到INT0引脚上有由1到0的电平跳变,且IT0=1时,由硬件将此位置1,并请求中断。
进入中断服务程序后,由硬件自动将此位清0。
复位时,TCON的各位均为0。
3.工作方式1的工作原理
从上一节可知,通过对M1M0的设置,可选择定时/计数器的4种工作方式,而本设计用的主要是方式1,下面就着重介绍下方式1。
当M1M0两位为01时,定时/计数器被选为工作方式1,其逻辑结构如图5-3所示。
方式1为16位的定时/计数器,TH0的8位作为16位计数器的高8位,TL0的低8位为16位计数器的低8位。
当TL0的低8位计数满溢出时即向TH0进位,而TH0计数满溢出时向中断标志位TF0进位(陈硬件置位TF0),并申请中断。
计数溢出与否可通过查询TF0是否置位,来判断是否产生定时器1中断。
图3.4T0(或T1)方式1结构
当GATE=0时,不管引脚INT0电位高低,或门输出一定为1,而与门的输出就决定TR0,即由TR0控制定时器的开启和关断[2]。
当
时,多路开关连接振荡器的12分频输出,T0对机器周期计数,这就是定时器工作方式,其定时时间为:
T=(65536-T0初值)×时钟周期×12
该系统实现时钟模块用的就是利用的定时/计数中断。
在T0工作在方式1的情况下,初始化T0定时为50ms,设计计数变量count,每定时到了进中断一次count累加1,加到20次时就是1S了。
此时的定时时间为:
TH0=(65536-50000)/256;//高8位的输送值
TL0=(65536-50000)%256;//低8位的输送值
3.2单片机的最小系统
图3.5单片机最小系统的结构图
单片机的最小系统是由电源电路、复位电路、晶振电路组成,下面介绍每个组成部分。
晶振电路
单片机是一种时序电路必须提供脉冲信号才能正常工作。
因此,需要有个专门的时钟电路。
时钟电路相当去单片机的心脏,它的每一次跳动(振荡节拍)都控制着电平机的工作节奏。
振荡得慢时,系统工作速度就慢;振荡得快时,系统工作速度就快(当让功耗也会有所增加)。
但振荡频率也不能太高,一旦超过CPU工作频率的极限指标,CPU就会被烧掉。
因此,在能够完成任务的前提下,选择尽可能低的系统工作频率。
常见的时钟电路有以下两种:
外置晶振+内置振荡器。
这种电路的频率误差一般在百万分之几,适合于需要做实时时钟或精准定时的系统。
由于该产品对实时性要求比较很高,就选用的外置晶振+内置振荡器。
如图所示。
图晶振连接的外部方式图
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈组件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为20pF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
复位电路
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,52芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位是由外部的复位电路来实现的。
片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
本设计采用的复位电路就是按键复位电路就是由两个电阻、一个按键和一个电容构成的。
在按键按下是时,电容被短路,由于R1大于R2,RESET得到高电平,系统复位,系统复位结束后,开始正常工作。
因此,复位电平的宽度(持续时间)是由按键按下的时间决定的[3]。
图为常见复位电路图。
图3.7MCS常见复位电路(高电平有效)
3.3数据采集电路
1.漫反射关电开关的原理
图3.8漫反射关电开关的结构图
当开关发射光束时,目标产生漫反射,发射器和接收器构成单个的标准部件,当有足够的组合光返回接收器时,开关状态发生变化,作用距离的典型值一直到3米。
特征:
有效作用距离是由目标的反射能力决定,由目标表面性质和和颜色决定;较小的装配开支,当开关由单个组件组成时,通常是可以达到粗定位;采用背景抑制作用调节测量距离;对目标上的灰尘敏感和对目标变化了的反射性能敏感。
2.漫反射关电开关的特点
(1)检测距离长
和接近开关等比较,光电开关的检测距离非常长,且是无接触式的,所以不会损伤检测物体,也不受检测物体的影响。
(2)几乎不受检测物体的制约
由于是采用对检测对象的表面进行反射及光透过方式,不像接近开关只能对金属,还能对玻璃、塑料、木制物体、液体等各种物质进行检测。
(3)响应速度快
和接近开关同样,由于无机械运动,所以能对高速运动的物体进行检测。
(4)镜头容易受有机尘土等的影响
镜头免受污染后,光会散射或被遮光,所以在有活水蒸汽、尘土等较多的环境下使用的场合,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 计数器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)