基于单片机的毕业设计(精选8篇)
1.基于单片机的毕业设计 篇一
智能小车的设计与制作
摘要:本课题组设计制作了一款具有智能判断功能的小车,功能强大。小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;计算并显示所走的路程和行走的时间,并可发声发光。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。
作品以两电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元AT89S52单片机,处理数据后完成相应动作,以达到自身控制。电机驱动电路采用高电压,高电流,四通道驱动集成芯片L293D。其中避障采用红外线收发来完成;铁片检测部分采用电感式接近开关LJ18A3-8-Z/BX检测;黑带检测采用红外线接收二极管完成;趋光部分通过3路光敏二极管对光源信号的采集,再经过ADC0809转化为数字信号送单片机处理判别方向。由控制单元处理数据后完成相应动作,实现了无人控制即可完成一系列动作,相当于简易机器人。
关键字:智能控制 蔽障 红外线收发 寻迹行驶 趋光行驶
1.总体方案论证与比较
方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,黑带检测信号,铁片检测信号,各路趋光信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。
方案二:采用ATM89S52单片机来作为整机的控制单元。红外线探头采用市面上通用的发射管与及接收头,经过单片机调制后发射。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,黑带采用光敏二极管对光源信号采集,再经过ADC0809转化为数字信号送到单片机系统处理。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能很好地
满足题目的要求。
比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目的设计要求,因此采用方案二来实现。方案二的基本原理如图1所示。
图1 智能车运行基本原理图框图
避障部分采用红外线发射和接受原理。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,产生的高低电平信号经过处理后,完成相应的记录数目,驱动蜂鸣器发声。黑带寻迹依靠安装在车底部左右两个光敏二极管对管来对地面反射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ADC0809转化为数字信号送到MCU处理。记程通过在车轮上安装小磁块,再用霍尔管感应产生计数脉冲。记时由软件实现,显示采用普通七段LED。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现。
2.模块电路设计与比较 1)避障方案选择
方案一:采用超声波避障,超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。
方案二:采用红外线避障,利用单片机来产生38KHz信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。外界对红外信号的干扰比较小,且易于实现,价格也比较便宜,故采用方案二。
红外线发射接受电路原理图如图2所示。
采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。接收管输出TTL电平,有利于单片机对信号的处理。采用红外线发射与接收原理。利用单片机产生38KHz信号对红外线发射管进行调制发射,发射距离远近由RW调节,本设计调节为10CM左右。发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。利用单片机的中断系统,在遇障碍物时控制电机并使小车转弯。由于只采用了一组红外线收发对管,在避障转弯方向上,程序采用遇障碍物往左拐方式。如果要求小车正确判断左转还是右转,需在小车侧边加多一组对管。外界对红外信号的干扰比较小,性价比高。调试时主要是调制发射频率为接收头能接收的频率,采用单片机程序解决。发射信号强弱的调节,由可调精密电阻调节。
图2 红外线发射接受电路原理图
2)检测铁片方案选择
方案一:采用电涡流原理自制的传感器,取才方便,但难以调试,输出信号也不可靠,成功率比较低,难以准确输出传感信息。
方案二:采用市面易购的电感式接近开关,本系统采用市面比较通用LJ18A3-8-Z/BX来完成铁片检测的任务。虽然电感式接近开关占的体积大,对本是可以接受,且输出信号较可靠,稳定性好,受外界的干扰小,故采用方案二。
检测铁片电路原理图如图3所示。
图3 检测铁片电路原理图
3)声音提示
方案一:采用单片机产生不同的频率信号来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性比较差,但在一定程度上能满足要求,而且易于实现,成本也不高,我们出自经费方面考虑,采用方案一。
方案二:采用DS1420可分段录放音模块,能够给人以直观的提示,但DS1420录放音模块价格比较高,也可以采用此方案来处理,但方案二性价比不如方案一。4)黑带检测方案选择
方案一:采用发光二极管发光,用光敏二极管接收。由于光敏二极管受可见光的影响较大,稳定性差。
方案二:利用红外线发射管发射红外线,红外线二极管进行接收。采用红外线发射,外面可见光对接收信号的影响较小,再用射极输出器对信号进行隔离。本方案也易于实现,比较可靠,因此采用方案二。黑带检测电路图如图4所示。
输出信号进入74LS02。稳定性能得到提升。当小车低部的某边红外线收发对管遇到黑带时输入电平为高电平,反之为低电平。结合中断查询方式,通过程序控制小车往哪个方向行走。电路中的可调电阻可调节灵敏度,以满足小车在不同光度的环境光中能够寻迹。由于接收对管装在车底,发射距离的远近较难控制,调节可调电阻,发现灵敏度总是不尽人意,最后采用在对管上套一塑料管,屏蔽外界光的影响,灵敏度大幅提升。再是转弯的时间延迟短长控制。
图4 黑带检测电路图 3)计量路程方案
方案一:利用红外线对射方式,在小车的车轮开一些透光孔来计量车轮转过圈数,从而间接地测量路程。
方案二:利用霍尔元件来对转过的车轮圈数来计程,在车轮子上装小磁片,霍尔元件靠近磁片一次计程为车轮周长。此方案传感的信号强,电路简单,但精度不高。
如果想达到一定的计量精度,用霍尔传感元件比较难以实现,因为在车轮上装一定量的小磁片会相互影响,而利用红外线对射方式不会影响各自的脉冲,可达到厘米的精度,因此采用方案一来实现。计量路程示意图见图5。
通过计算车轮的转数间接测量距离,利用了霍尔元件感应磁块产生脉冲的原理,再对脉冲进行计数。另可采用红外线原理提高记程精度,其方法为在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来,小孔越多,计数越精密。
图 5 计量路程示意图
3)智能车驱动电路
方案一:采用分立元件组成的平衡式驱动电路,这种电路可以由单片机直接对其进行操作,但由于分立元件占用的空间比较大,还要配上两个继电器,考虑到小车的空间问题,此方案不够理想。
方案二:因为小车电机装有减速齿轮组,考虑不需调速功能,采用市面易购的电机驱动芯片L293D,该芯片是利用TTL电平进行控制,对电机的操作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转操作,很方便单片机的操作,亦能满足直流减速电机的要求。智能车驱动电路实现如图6所示。
图6 智能车驱动电路
小车电机为直流减速电机,带有齿轮组,考虑不需调速功能,采用电机驱动芯片L293D。L293D是著名的SGS公司的产品。为单块集成电路,高电压,高电流,四通道驱动,设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达),和开关电源晶体管。内部包含4通道逻辑驱动电路。其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V,经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。表1是其使能、输入引脚和输出引脚的逻辑关系。
表1 引脚和输出引脚的逻辑关系
EN A(B)IN1(IN3)IN2(IN4)电机运行情况
H H L 正转
H L H 反转
H 同IN2(IN4)同IN1(IN3)快速停止
L X X 停止
L293D可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作,调试通过。3)寻找光源功能
方案一:在小车前面装上几个光电开关,通过不同方向射来的光使光电开关工作,从而对小车行驶方向进行控制,根据光电开关特性,只有当光达到一定强度时才能够导通,因此带有一定的局限性。
方案二:在小车前面装上参数一致的光敏二极管或者光敏电阻,再通过A/D转换电路转换成数字量送入单片机,单片机再对读入的几路数据进行存储、比较,然后发出命令对外围进操作。对方案一、二进行比较,方案二硬件稍为复杂,但能够对不同强度的光进行采集以及比较,操作灵活,所以采用方案二。
寻找光源电路图如图7所示。
图7 寻找光源电路图
3)显示部分
方案一:采用LCD显示,用单片机可实现显示数据,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵。
方案二:采用LED七段数码管,采用经典电路译码和驱动,电路结构简单,并且可以实现单片机I/O口的并用,显示效果直观,明亮,调试容易。故采用LED数码管显示。
4)显示电路如图8所示。
图8 显示电路
3.系统原理及理论分析 1)单片机最小系统组成
单片机系统是整个智能系统的核心部分,它对各路传感信号的采集、处理、分析及对各部分整体调整。主要是组成是:单片机AT89S52、模数转换芯片ADC0809、小车驱动系统芯片L293D、数码管显示的译码芯片74LS47、74LS138及各路的传感器件。2)避障原理
采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。接收管输出TTL电平,有利于单片机对信号的处理。3)计程原理
通过计算车轮的转数间接测量距离,在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来。4)黑带检测原理
利用光的反射原理,当光线照射在白纸上,反射量比较大,反之,照在黑色物体上,由于黑色对光的吸收,反射回去的量比较少,这样就可以判断黑带轨道的走向。由于各路传感器会对单片机产生一定的干扰,使信号发生错误。因此,采用一级射极输出方式对信号进行隔离,这样系统对信号的判断就比较准确。4.系统程序设计
用单片机定时器T0产生38KHz的方波,再用定时器T1产生250Hz的方波对38KHz方波进行调制。为了提高小车反应灵敏度,对红外线接收信号及黑带检测信号都采用中断法来处理。用定时方法对铁片检测、计量路程、倒车、拐弯及数码管动态扫描进行处理。
主程序流程图见图9,各子程序图见图
10、图
11、图12。
图9 主程序流程图
图 10 外部中断0服务子程序
图 11 外部中断1服务子程序
图12 定时器1中断子程序
6.调试及性能分析
整机焊接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行调试。首先写入电机控制小程序,控制其正反转,停机均正常。加入避障子程序,小车运转正常,调整灵敏度达最佳效果。加入显示时间子程序,显示正常。铁片检测依靠接近开关,对检测信号进行处理并实时显示和发出声光信息,无异常状况。路程显示部分是对霍尔管脉冲进行计数,为了尽量达到精确,车轮加装小磁片。接着对黑带检测模块调试,发现有时小车会跑出黑带,经判断是因为红外线收发对管灵敏度不高,调整灵敏度后仍然达不到满意效果,疑是受环境光影响,利用塑料套包围红外线收发后问题解决。趋光电路主要由三个光敏电阻构成,调整三个光敏电阻的角度同时测试软件,以最佳效果完成趋光功能。
整机综合调试,上电后对系统进行初始化,接着控制电机使小车向前行驶,突然发现系统即刻进入外部中断1,重复多次测试,结果都是自动进入该中断。推断是由刚上电时电机起动所引起,为了避免上电瞬间的影响,在启动小车后延时几毫秒,再开外部中断,结果问题解决。允许的话应采用双电源供电,即电机和电路应分开供电,L293D与单片机之间采用隔离信号控制。这样就不会出现小车启动时程序出错和数码管显示闪动的问题。在计程精度上,可用红外线原理获得较高精度。7.结论
通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化,智能小车能够完成各项功能到达车库。8.参考文献
《单片机应用技术》 《周立功单片机》 《单片机原理与应用》
《8051单片机程序设计与实例》 《MCS-51单片机实验指导》
2.基于单片机的毕业设计 篇二
现如今,往往由于某些特殊原因可能会给我们的生活或工作带来一些困挠和遗憾。比如:许多球迷或新闻爱好者因错过了开电视机的时间因而与精彩球赛或新闻擦肩而过;农民可能由于工作繁忙而忘记给自家水塔抽水,造成生活一时不便;学校的起床广播因值班人员睡过头而推迟播放等等。
针对以上情况,本文提出以单片机为控制核心加上固态继电器组成定时开关的设计思想,并且详细阐述了定时开关的设计过程,有效地解决了上述一些实际问题。
1 整体方案设计
基于单片机定时开关的系统构成框图如图一所示:
本系统采用单片机AT89C51做为本设计的核心控制器件,整个系统由显示器、报警器、定时时间设置按键、继电器、受控电器插座及受控电器几部分组成。各部分功能如下:显示器用于显示实时时间以及定时开关的定时时间;报警器用于定时报警,即当定时时间到时便发出10秒报警声,用以提示用户;而定时时间设置按键顾名思义是用来设置定时开关的定时时间;继电器、受控电器插座及受控电器组成一个执行机构,当定时时间到时,单片机向继电器输出一个高电平使继电器工作,继电器常开触点闭合接通受控电器插座,使受控电器通电加以工作,从而完成定时开关电器的功能。
2 硬件系统设计
定时开关的硬件电路如图二所示。采用单片机直接驱动共阳数码管,数码管采用动态显示,数码管的7个笔画直接接单片机的P0.0~P0.7,数码管显示供电由单片机的P2.0、P2.1、P2.2和P2.3所接三极管9012控制,通过三极管推动电路,使四个数码管循环得电,在数码管供电的同时7位笔画数据驱动脚给予不同数字的驱动,便显示出不同的数字。根据人眼的视觉暂留的特点,故所观察到时间数字是稳定的数字。定时时间设置由键盘控制,分别由K1、K2、K3、K4四个按键组成。电路上电后,D1秒显示开始闪烁,此时是从00:00开始计时的。我们可以按动K4,进入校时状态后,按K3校正时钟,按K2校正分钟,按K1退出校时状态。若要设置定时时间,按K2校正定时分钟,按K3校正时钟,按K1退出校时状态。需要关闭定时功能请按K1,听到鸣响一声为关闭,鸣响三声为开启。查询定时时间按K3。
从图二中可以看到,用P0口和P2口就可以实现四个数码管的显示控制。其中,P2口中的P2.0、P2.1、P2.2、P2.3用作位控制,即控制哪个(位)数码管显示。对于图二中标出的共阳极数码管,当位控制码某位为低电平时,三极管9012导通,便控制相应数码管可以显示数据。但具体显示什么数据,则由另一个端口P0口即段控制端口决定。因此当P0口送出一个显示代码时,各数码管阴极都收到了此代码,但只有位控制码中为低电平的位对应的数码管才得到导通而显示数字,其它数码管并不发光。
由上述可知,只要CPU通过段控制端口送出段显示代码,然后通过位控制端口送出位显示代码,指定的数码管便显示相应的数字。如果CPU顺序地输出段码和位码,依次让每个数码管显示数字,并不断地重复显示,利用眼睛的视觉惯性,当重复频率达到一定程度,从四个数码管上便可以看到相当稳定的数字显示。
本设计中采用了单相固体继电器,如果要使用定时开关控制电视机定时收看17:00的新闻联播时,控制过程如下:当定时时间没到时,P3.5输出高电平,使三极管Q6截止,继电器的输入电流为零,继电器不工作;定时时间指向17:00时,P3.5输出低电平,使三极管Q6导通,继电器的输入电流大至继电器工作,向电视机插座供电,从而开启电视收看17:00的新闻联播。
此款定时开关还具有报警功能:当开关定时时间没到时,P3.4输出高电平,三极管Q5截止,蜂鸣器不工作;当定时时间到时,P3.4输出低电平,三极管Q5导通,蜂鸣器有电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声,提醒定时时间到。
3 软件系统
软件程序流程如图三所示。序初始化后,设置定时器T0工作在方式1用于定时,同时设置开关定时时间,调用显示子程序。当定时启动后,系统不断查询定时时间到否。定时时间到时,P3,5=0,继电器闭合,受控电器工作,同时P3.4=0,蜂鸣器报警;定时时间没到时则查询功能按键,视按键按下情况执行相应功能。
4 结束语
针对家庭小电器、农家抽水系统、校园广播系统的定时开关经过实验测试证明该系统定时准确,操作方便,能较好地满足用户要求。
参考文献
[1]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.
[2]蔡美琴,张为民,沈新群,张荣娟.MCS—51系列单片机系统及其应用[M].北京:高等教育出版社,1992.
[3]楼然苗,李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.
3.基于单片机的电子时钟设计概述 篇三
前言
目前,单片机在各种领域都得到了广泛的认可和应用,尤其是在智能仪表中的应用更是家常便饭,即引起了單片机的产品变革,又在很大程度上促进了设计理念的革新。智能仪表是智能系统的重要组成部分之一,其正常工作的关键在于单片机的设计。如今,设计单片机系统逐渐成为电子设计专家和设计爱好者的关注焦点。
一、电子时钟的功能
在设计电子时钟时,对电子时钟功能的最基本要求是电子时钟必须具备运行和调整两种状态:第一,运行状态。在此种状态下,需要设计K1、K2两个有效按键,在按下K1键时,电子时钟可以进入调整状态;第二,调整状态。在这种状态下,需要设计K3、K4两个有效按键,当按K1键进入调整状态后按下K3键能够对电子时钟的数字位置进行调节,按下K4将会调节闹钟开关并分别对时分秒数字加一,继续按K3则离开调节状态而进入运行状态。
1.1电子时钟的计时方案
通过计数器中断定时或AT89C51单片机内部定时,合理结合软件延时来对时分秒进行计时。这种电子时钟的设计方案能够节省硬件成本,还能通过定时提醒读者需要做的重要事情。其设计思路不仅可以刺激计数器在程序设计、使用及中断等方面的提高,还能加深对单片机指令系统的掌握,进而实现单片机技术的使用和推广。虽然单片机相比现在的嵌入式等会略逊一筹,但其目前还是应用最广泛的设计芯片。
1.2电子时钟设计原理
电子时钟的主要构成部件是译码显示器、校时电路、时分秒计数器、报时电路与振荡器,主电路系统包括时分秒计数器、校时电路、显示器、整点报时电路、译码器和秒信号发生器。其中,秒信号发生器作为整个系统时基信号,可以直接决定计时系统精确度,通常借助分频器和石英晶体振荡器的相互作用来完成。把标准秒信号输入60进制的“秒计数器”,因而每相隔60秒就会发出“分脉冲”信号,这个信号即为“分计数器”时钟脉冲。“时计数器”应该采用24进制的计时器,这样就能进行每天24小时的计时。电子时钟通常由1601液晶、89C52组成,其驱动电路为晶振电路。电路中的唯一控制键K1具有中断电路的功能,按下K1键后再按设置键K3能够对时分秒、闹钟开关和时分秒位置进行设定,继续按调节键K4可以对时分秒、闹钟开关、闹钟设定的时分秒进行加一调节[1]。
二、电子时钟的硬件与软件设计
2.1电子时钟的硬件设计
电子时钟的核心部分采用51系列单片机,硬件电路包括按键电路、AT89C51单片机、LED显示电路、音乐报时电路。其中,按键电路能够通过按键来切换电子秒表功能和电子时钟,设定电子时钟的时间对时、显示内容、闹钟定时功能,控制电子秒表计时、暂停、继续计时、清零功能。AT89C51单片机片中置有存储器为4K的E2PROM程序,不需要对程序存储器进行外扩,在单片机外侧接入上电复位电路和12MHz晶振电路。LED显示电路选择红色共阳极数码管,通过动态扫描方式显示数据,在段选控制处接限流电阻,在位选控制处利用三极管进行驱动,通过1m/s定时中断服务程序动态扫描显示各个部位。电子时钟的功能时显示按照位次依次显示星期、小时、分钟、秒、十分之一秒、百分之一秒,并且可以通过控制按键切换年月日显示[2]。音乐报时电路的设计需要选取两个不同的HL9300E音乐集成片,便于分别进行定时音乐报时和整点音乐报时。定时音乐报时和整点音乐报时需要接入不同的触发控制端,二者互相切换,进而避免两个音乐集成芯片同步放乐的干扰。在GND与5V电源的AT89C51之间设计加入470uF的电解电容,可在其旁边多并联接几个小的瓷片电容,可改善音质。音乐集成片输出端接扬声器或蜂鸣器,这样可以有效防止因继电器触点吸合而造成的系统复位,从而使由按键清除闹钟定时时间的报时音乐声。
2.2电子时钟的软件设计
把AT89C51内部定时和计数器设置为定时器工作模式是电子秒表和电子时钟的计时基准.时针定时器的中断信号为10m/s,即每经过100次中断,时钟秒位加一,秒位经60次加一后向时位进位,当时间为23时59分59秒时,秒位再加一后变为00时00分00秒。当按键切换为电子秒表功能时,秒针定时器每产生一次中断,十毫秒单元加一,其经过10次加一后,百毫秒单元加一,依次进位可实现最长为9小时59分59秒999毫秒的秒表计时,可达到分辩10m/s的计时精度。
通过K1~K4按键可对时钟加以对时,当第一次按下K1键时,显示数码管第一位闪烁,继续按键时,下一位闪烁。当某一位闪烁时,按下K2按键能够使闪烁位加一。在正常时钟显示方式下,按下K2键可以转换年、月、日的显示。按下K3键能够进入秒表状态,按下K4键能够显示闹钟定时时间[3]。
三、电子时钟的键盘设计
本设计使用单键盘的方式设计,功能较为完备,既能减少对硬盘资源的损耗,又能调节和控制时分秒,使其转换为省电模式。在按键又松开后通过屏蔽数码管显示功能达到省电目的;在按键不松开时能够累加时分秒数字,按键一次累加一分钟;在连续按键两次时,能够调节时针,同样是累加一次为一小时,在达到时间调节目的后,延缓一段时间来判断并确保按下此键,然后对键值和处理程序进行保存。
总结
综上所述,本文设计的电子时钟具有功能齐全、性价比高、电路简单、制作成本低等优点,只要接入单电源即可供电,方便于在办公室和家庭等场所使用。简单的时钟设计对增强电子专业学生的动手能力及独立设计思考能力都会有很大的提高,本片的设计思想可作为市场产品加以推广也可作为电子专业学生设计电子时钟的参考,希望本文对读者有些许帮助。
参考文献
[1]王丹丹,郑宽磊.一种新的基于层次化模式实现的SOC时钟设计方法[J].微电子学与计算机,2011,11(04):89-93.
[2]陈媛媛.基于无线网络的GPS时钟同步与信息发布系统[J].科学中国人,2014,08(23):2.
[3]牛国锋,朱苗苗.基于瑞萨微控制器的LED电子时钟设计与实现[J].常熟理工学院学报,2012,02(18):120-124.
(作者单位:西北师范大学)
作者简介
4.基于单片机的频率计设计12 篇四
摘要
数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,而且会产生比较大的延时,造成测量误差、可靠性差。传统的数字频率计一般是由分离元件搭接而成,随着单片机的大规模的应用,单片机在频率测量方面也越来越多的被使用。在本课题中使用的AT89S51 这种低功耗,高性能CMOS 8位单片机系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是要通过以AT89S51单片机为控制核心,实现对信号频率进行准确计数的设计。
单片机是将微型计算机的基本功能部件全部集成在一块半导体电路芯片上,具有功能强、体积小、价格低、稳定可靠、研制周期短等优点,具有广阔的应用前景。本次毕业设计以ATMEL公司的AT89S51单片机为核心,实现频率计数功能。频率计装置由单片机系统模块,LED显示模块、MAX232串口通信模块组成,实现对频率进行测试并在LED显示出来。
本次毕业设计基于AT89S51单片机的频率计装置,设计sch电路原理图,并根据原理图完成硬件部分的制作,采用KEIL-51单片机应用系统编制C语言系统程序,最后通过综合调试,能实现所有要求的功能,完全满足本次毕业设计的要求。
关键词:频率计;单片机;LED显示;MAX232;定时器/计数器基于AT89S51单片机的频率计的设计装置原理图及其设计思路
2单片机系统模块原理设计
2.1 AT89S51芯片介绍 2.2 AT89S51芯片管脚介绍 2.3 AT89S51复位电路原理2.4 AT89S51的时钟
2.5.1 P0口介绍2.5.2 P1口介绍2.5.3 P2口介绍2.5.4 P3口介绍
2.5.5端口的负载能力和输入/输出操作 2.5.6串行端口的基本特点
2.5.7串行端口的工作方式2.5.8串行端口的控制寄存器
2.6 定时器/计数器2.6.1定时器/计数器结构 2.6.2定时器/计数器控制寄存器
2.6.3定时器/计数器工作模式 2.6.4定时器/计数器的初始化
2.7 中断系统 2.7.1中断系统的结构 2.7.2中断系统的控制寄存器2.7.3中断的响应过程3 硬件设计 3.1 LED显示模块设计原理3.1.1 LED发光原理 3.1.2种类和符号
3.1.3 LED的特性3.2 LED数码管介绍 3.2.1 LED数码管原理结构3.2.2 LED数码管工作方式
3.2.3静态显示方式 3.2.4动态显示方式 3.2.5 LED显示控制原理 3.3 MAX232芯片介绍4 软件设计
基于51单片机频率计的设计与制作
论文摘要: 本毕业论文代写随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。本设计介绍了以8051单片机为核心的频率测量技术, 给出了通过单片机系统的外部中断和定时器/计数器, 并采用测周法和测频法来实现信号频率测量以及通过扩展键盘和显示设备对现场频率进行测量的设计方法。
关键词:频率 单片机 分频器
引言
随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域发挥非常重要的作用,极大的提高了这些领域的技术水平和自动化程度。51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在后继很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。为此, 本文给出了一种以单片机为核心的频率测量系统的设计方法。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。概述
测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法), 常用于频率粗测, 精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频, 常用于低频测量, 误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象, 然后通过检测零差现象进行测频, 常用于高频测量, 误差在± 20 Hz左右。以上方法在测量范围和精度上都有一定的不足, 而电子计数法主要通过单片机进行控制。由于单片机的较强控制与运算功能, 电子计数法的测量频率范围宽, 精度高, 易于实现。2 系统硬件设计
2.1 系统硬件框图
频率计的组成框图如图2-1所示,它是以单片机作为核心控制电路,主要有放大电路、整形电路、分频电路、键盘和显示组成,完成频率的测量功能。
当频率输入后经放大电路放大后进入整形电路进行整形,再由分频器进行分频,再送入单片机中进行处理,最后有数码管显示频率。
2.2 单片机最小系统
本设计用STC89C51代替了以往使用的AT89C51,功能更强,速度更快,寿命更长,价格更低。STC89C51可以完成ISP在线编程功能,而AT89C51则不能。
STC89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
STC89C51是一块高性能单片机,它内含128×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。AT24C02具有PDIP、MSOP/TSSOP及SOIC等三种封装形式,以适应不同产品的需求。
最小系统是维持单片机,由于晶振、开关等器件无法集成到51芯片内部,由这些器件构成的晶振电路和复位电路是单片机工作的所必须的两个基本电路,对于8051内由RAM、EPROM的系统来讲,单片机与晶振电路及开关、电阻、电容等构成的复位电路组成最小系统。对于8031机型来说,片内不含有程序存储器,所以除以上基本的配置外,必须外扩片外的程序存储器,再用到地址锁存器,才能构成最小系统。所以我们选用8051,这用的最小系统简单可靠。
8051单片机中,XTALl、XTAL2 为片内振荡器的反相放大器的输入和输出端,如图2-3示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动 STC89C51,时钟信号从 XTAL1 输入,XTAL2 应悬空。由于输入到内部电路是经过一个 2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。
复位电路的基本功能是:系统上电时提供复位信号直至系统电源稳定后撤销复位信号,为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。系统
2.3 频率测量电路
本设计就是采用单片机电子计数法来测量频率, 其系统硬件原理框图如下
为了提高测量的精度, 拓展单片机的测频范围, 本设计采取了对信号进行分频的方法。设计中采用两片同步十进制加法计数器74LS160来组成一个100分频器。该100分频器由两个同步十进制加法计数器74LS160和一个与非门74LS00共同设计而成。由于一个74LS160可以分频十的一次方, 而当第一片74LS160工作时, 如果有进位,输出端TC便有进位信号送进第二片的CEP端, 同时CET也为高电平, 这
样两个工作状态控制端CET、CEP将同时为高电平, 此时第二片74LS160将开始工作。
2.4 显示电路
显示电路我选用共阴极数码管,是由一个四位数码管和二个一位数码管组成。显示主要包含了两部分:段选和位选。在设计时用74ls240来驱动。
段选的信号和位选的信号由P0和P2口提供,P0口的接74ls240,把单片机输出的十进制转换成数码管能显示的字型码。
3、数显频率计设计
以单片机为主要控制器件,配合外围电路,测量10MHZ以内的周期信号频率,并用LE
5.基于单片机的数字钟课程设计程序 篇五
uchar num;
void delayms(uint z){ uint x,y;for(x=z;x>0;x--)
for(y=110;y>0;y--);}
void write_com(uchar com){ lcdrs=0;P0=com;delayms(5);lcden=0;}
void write_data(uchar date){ lcdrs=1;P0=date;delayms(5);lcden=1;delayms(5);lcden=0;}
void init(){ lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}
void main()
//定义使能端、命令选择端
//延时函数
//写入命令函数
//写入数据 //初始化LCD
{
6.基于单片机的毕业设计 篇六
一、设计目的
本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。
二、设计要求
1、能显示时时—分分—秒秒。
2、能够设定定时时间,并修改定时时间。
3、定时时间到能发出警报声。
目 录
1.绪论..........................................................................................................1 2.方案论证..................................................................................................1 3.方案说明..................................................................................................2 4.硬件方案设计.........................................................................................2 4.1单片机STC89C52.........................................................................2 4.2 时钟电路.......................................................................................4 4.3数码管显示电路............................................................................4 4.4键盘电路........................................................................................6 4.5报警电路........................................................................................7 5.软件方案设计.........................................................................................7 5.1系统软件设计................................................................................7 5.2键盘程序........................................................................................7 5.3 LED.................................................................................................8 5.4音响报警电路................................................................................8 5.5 程序流程图...................................................................................8 6.调试..........................................................................................................9 7.小结........................................................................................................10 8.参考文献................................................................................................11 9.附录:定时闹钟源程序.......................................................................12 1.绪论
系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。
外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。
在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。
2.方案论证
单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。
本系统采用单片机STC89C52作为本设计的核心元件,利用两个4位7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,蜂鸣器发出报警声,提示预先设定时间到。
电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示、报警电路,芯片选用STC89C52单片机。
系统基本框图如图2.1所示: 时钟电路数码显示STC89C52键盘电路报警电路
图2.1 系统基本框图
3.方案说明
此设计主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。
系统总体方案及硬件设计是本设计的重要组成部分,在这部分详细介绍了时钟原理,硬件设计,数码管LED,以及在设计过程中考虑到技术指标,机型的选择,器件的选择等一系列问题。
硬件设计的主要任务是根据总体设计要求,以及在所选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然后设计出系统的电路原理图。
合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充分重视。在本设计中采用应用广泛的C语言。用Proteus软件仿真检查设计是否合理。
4.硬件方案设计
4.1单片机STC89C52 STC89C52是一个低电压,高性能CMOS型8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器(ROM)和512B的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的STC89C52提供了高性价比的解决方案。其引脚图如下图4.1所示:
P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST940VCC***2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.010P3.111P3.212P3.313P3.414P3.515P3.616P3.717XTAL218XTAL119GND20STC89C523***2524232221
图4.1 STS89C52 STC89C52具体介绍如下: 1)主电源引脚(2根)
VCC(40):电源输入,接+5V电源
GND(20):接地线 2)外接晶振引脚(2根)
XTAL1(19):片内振荡电路的输入端
XTAL2(18):片内振荡电路的输出端 3)控制引脚(4根)
RST/VPP(9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(30):地址锁存允许信号
PSEN(29):外部存储器读选通信号
EA/VPP(31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。4)可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(39~32):8位双向I/O口线,名称为P0.0~P0.7
P1口(1~8):8位准双向I/O口线,名称为P1.0~P1.7
P2口(21~28):8位准双向I/O口线,名称为P2.0~P2.7
P3口(10~17):8位准双向I/O口线,名称为P3.0~P3.7 4.2 时钟电路
单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。
本系统中STC89C52单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。STC89C52单片机的时钟电路如图4.2所示。
XTAL230pF12MHzSTC89C5230pFXTAL1
图4.2 时钟电路
4.3数码管显示电路
单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,如:“米”字型显示器,点阵显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器。
LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管 的连接形式不同,LED有共阴极和共阳极两种,如图4.3.1所示为4为7段共阴数码管的引脚图。
A1afA2A3beddpcgA4
图4.3.1 4段共阴数码管引脚图
采用高亮共阴型s位数码管,为示区别,显示秒的两个数码管个头较小,另外4个较大。共阴数码管连接线路如下:一般用7个发光二极管构成显示数字和符号,另外还用一段发光二极管显示小数点。这种显示器一般分为两种,共阳极显示器和共阴极显示器,共阳极显示器是把每个二极管的正端连在一起,共阴极显示器是把每个二极管的阴极连在一起。一只显示器是有8个发光二极管构成,当把某段加正向电压时,则该段所对应的笔划亮,不加正向电压则暗,为了保护各段不受损坏需要加限流电阻,无论是共阳极显示器还是共阴极显示器,它的8段排列顺序都是一样的:A段、B段、C段、D段、E段、F段、G段和DP段。在单片机中通常使用7段LED。数码管的显示电路如下图4.3.2所示:
图4.3.2 数码管的显示电路 数码管中二极管电流的计算
二极管本身有2V的电压降,一般二极管电流取10mA,则需添加的电阻为
R=(U-ULed)/ILed,代入相关数值,即为300Ω。
本设计中,选用的电阻为470Ω,则电流为
I=(U-ULed)/R´, 代入实际数值,即为6.4mA,能够满足显示效果。
4.4键盘电路
设计方案中使用的是3个开关键组成的键盘电路,如下图4.4所示:
图4.4 键盘电路图 4.5报警电路
设计方案中,采用的是蜂鸣器和PNP型三极管组成的报警电路。如下图4.5所示:
图4.5 报警电路
5.软件方案设计
5.1系统软件设计
该系统软件主要有主程序模块,定时中断服务程序,中断等待服务程序,键盘程序,显示子程序服务程序等六大模块组成,因为C语言容易理解和记忆,所以我们用C语言来写此程序。
5.2键盘程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有键按下,便转向相应的子程序处理,处理结束后再返回。5.3 LED 七段LED由七个发光二极管按日字排开,所有发光二极管的阳极连在一起成共阳极,阴极连在一块称共阴极接法。当采用芯片驱动时不需要加限流电阻,其他情况下一般应外接限流电阻。动态显示电路有显示块,字形码封锁驱动器,字位锁存驱动器三部分组成。
5.4音响报警电路
在STC89C52外围的一个管口上加蜂鸣器,通过软件与硬件的结合可实现定时闹钟功能。
5.5 程序流程图
开始初始化判断闹钟时间是否到调用显示程序否P1.0是否按下是P1.1和P1.2调节时间和闹钟图5.5 程序流程图
6.调试
设几个按键从左往右为K1,K2,K3。K1与P1.0相连,K2与P1.1相连,K3与P1.2相连。
按一下启动开关,显示为时间显示。按一下K1,进入时间显示的小时设定状态;按两下K1,进入时间显示的分钟设定状态;按三下K1,进入定时的小时设定状态;按四下K1,进入定时的分钟设定状态;按五下K1,退出设定,进入当前时间显示状态;K2和K3分别是对当前设定值的加和减。如下图6.1和6.2所示。
图6.1 调时仿真效果图
图6.2 定时仿真效果图
7.小结
在做课程设计的过程中,我进一步认识到全面专业知识以及逻辑思考方式对研究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。
经过不断的努力,我终于完成了这次课程设计,总的来说,我学到了不少的东西,知道了理论联系实际的重要性。在设计过程中我遇到了很多的困难,但没放弃,查阅了许多相关的书籍,自己独立思考和借鉴了前人的许多优秀成果,并与所学的知识紧密的结合了起来。我相信这过程对我今后的学习和工作有着积极的影响,并搭好了平台。
通过这次设计,我对这门课有了更好的理解,尤其结合了这几年学的相关的专业知识,对各门课都有了一个较全面的理解。这必将对我以后的学习和工作有很大的帮助。本次课程设计的定时闹钟电路,可以满足人们的基本要求,但因为知识水平有限,此电路中存在一定的问题,虽可以通过增加电路解决,但过于复杂和现有水平有限,本次设计就未深入涉及,想要更好的改进电路,需要进一步的努力,如果有好的意见,希望老师给予支持指导。8.参考文献
[1] 何立民.单片机应用技术选编10.北京:北京航空航天大学出版社 [2] 林立.单片机原理及应用.北京:电子工业出版社
[3] 沙占友等.单片机外围电路设计.西安:电子工业出版社
[4] 江力.蔡骏.王艳春.董泽芳.单片机原理与应用技术.北京,清华大学出版社 [5] 潘永红.柳殊.单片机原理与应用.西安,西安电子科技大学出版社 9.附录:定时闹钟源程序
#include
9、横杠、全灭 unsigned char a[8];
unsigned char second=0,minute=0,hour=1;unsigned char minute1=0,hour1=0;unsigned char b[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//扫描 unsigned char k=0;unsigned int temp;// 记录毫秒为秒的变量
unsigned char M,S_flag;//M是模式,更新时间的种模式加上正常模式 S_flag闪烁标志 sbit K1=P1^0;sbit K2=P1^1;sbit K3=P1^2;sbit BEEP=P3^3;void delay(unsigned n)//0.2毫秒 { int x,y;for(x=0;x void time1()interrupt 3 //定时器中断函数 { TH1=0xfc; //定时ms TL1=0x18;temp++;if(temp==1000)//配合定时器定时s { temp=0;second++;} if(second==59){ second=0;if(minute<59)minute++;else { minute=0; hour++; hour%=24; } } if(hour1==hour&&minute1==minute&&second<10){ if(M==0)BEEP=!BEEP;} if(temp%250==0)//每ms S_flag=!S_flag;//闪烁标志位取反 if(k==8)k=0;P0=a[k]; P2=b[k++];delay(1); P2=0xff; } void display(){ switch(M){ case 0: { a[0]=led[hour/10]; a[1]=led[hour%10]; a[2]=led[10]; a[3]=led[minute/10]; a[4]=led[minute%10]; a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10]; }break;case 1: { if(S_flag==1) { a[0]=led[hour/10]; a[1]=led[hour%10]; } else { //闹钟时间到 a[0]=led[11]; a[1]=led[11]; } a[2]=led[10]; a[3]=led[minute/10]; a[4]=led[minute%10]; a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10];}break;case 2: { a[0]=led[hour/10]; a[1]=led[hour%10]; a[2]=led[10]; if(S_flag==1) { a[3]=led[minute/10]; a[4]=led[minute%10]; } else { a[3]=led[11]; a[4]=led[11]; } a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10];}break;case 3: { if(S_flag==1) { a[0]=led[hour1/10]; a[1]=led[hour1%10]; } else { a[0]=led[11]; a[1]=led[11]; } a[2]=led[10]; a[3]=led[minute1/10]; a[4]=led[minute1%10]; a[5]=led[11]; a[6]=led[11]; a[7]=led[11]; }break;case 4: { a[0]=led[hour1/10]; a[1]=led[hour1%10]; a[2]=led[10]; if(S_flag==1) { a[3]=led[minute1/10]; a[4]=led[minute1%10]; } else { a[3]=led[11]; a[4]=led[11]; } a[5]=led[11]; a[6]=led[11]; a[7]=led[11]; } } } void key_prc(){ if(K1==0) { delay(10);//延时去抖 if(K1==0)//按K1进行模式切换 { M++; if(M==5)M=0; } while(!K1);//等待按键释放 } if(M!=0){ switch(M){ case 1: //模式--调时 { if(K2==0) { delay(10);//延时去抖 if(K2==0)//加键按下 { if(hour<23)hour++; else hour=0; } while(!K2);//等待按键释放 } if(K3==0) { delay(10); if(K3==0) { if(hour> 0)hour--; else hour=23; } while(!K3); } } break; case 2: //模式--调分 { if(K2==0) { delay(10); if(K2==0) { if(minute<59)minute++; else minute=0; } while(!K2); } if(K3==0) { delay(10); if(K3==0) { if(minute>0)minute--; else minute=59; } while(!K3);} } break;case 3: //模式--闹钟调时 { if(K2==0) { delay(10); if(K2==0) { if(hour1<23) hour1++; else hour1=0; } while(!K2); } if(K3==0) { delay(10); if(K3==0) { if(hour1>0)hour1--; else hour1=23;} while(!K3); } } break; case 4: //模式--闹钟调分 { if(K2==0) { delay(10); if(K2==0) { if(minute1<59) minute1++; else minute1=0; } while(!K2); } if(K3==0) { delay(10);//延时去抖 if(K3==0)//减键按下 { if(minute1>0) minute1--; else minute1=59; } while(!K3); } } break; } } } void main(){ M=0;S_flag=0;//闪烁标志位 TMOD=0x10;//定时器以方式定时 TL1=0x18;EA=1;//打开总中断 ET1=1;//允许定时器中断 TR1=1;//开启定时器(开始定时计数)while(1){ key_prc(); 目前医院普遍使用的是人工监控点滴输液装置器, 将液体容器挂在一定高度, 利用势差将液体输入病人体内, 用软管夹对软管夹紧和放松控制滴速, 医护人员按药剂特性对滴速进行控制。如何使这种手工操作走向自动化或半自动化, 让护理人员监控病人打点滴的进程时间得到充分利用, 使能自理的病人自己能掌握点滴的速度, 这就要求医疗器械加速自动化与半自动化进程, 提高医护质量。本文介绍了一种操作方便、显示直观、具有报警功能的智能型液体点滴速度控制器。 2 系统总体设计 输液监控系统以AT89C51单片机为中心, 单片机需要电源电路、复位电路、振荡电路来保证其正常工作。系统的默认速度设定值为60滴/min, 可以通过键盘来修改设定值。采集装置通过光电开关传感器对速度进行检测, 并以电信号的形式传给单片机, 经运算、分析、处理后单片机将数据传给LCD显示模块, 实现输液速度的显示。通过对设定值的比较来控制电动机的正、反转, 从而带动输液器上的控制齿轮上升下降, 达到控制输液速度的目的。另外, 当采集装置通过光电开关传感器检测到的速度值过高或过低时, 直接启动报警装置。若声报警持续1min后无人复位, 则由单片机发出信号控制电动机, 是输液器上的小滑轮处于无液滴滴出的状态, 这样可以大大提高输液的安全性。系统的组成如图1所示。 3 系统设计与实现 3.1 单片机的最小系统 监控系统使用一个单片机最小应用系统, 系统中有一些功能器件无法集成到芯片内部, 如晶振、复位电路等, 需要在片外加上相应的辅助电路。对于片内无ROM的单片机, 还应该配置篇外程序存储器。这里是选用AT89C51和AT892051, 都带内置的ROM, 只需外加电源、振荡电路。复位电路等。 3.2 键盘方案 采用独立式按键, 每个按键单独展有一根I/O口线, 每个I/O口的工作状态互不影响, 此类键盘采用端口直接扫描方式。其缺点为当按键较多时占用单片机的I/O口数目较多, 优点是电路设计简单, 编程相对容易一些。综合考虑, 由于除去复位键, 只需要扩展3个功能键。 3.3 数据采集电路设计 在设计中由于是近距离检测, 所以数据采集采用发光二级管和光敏三极管组合, 其价格便宜, 便于批量生产。这里选用的是H2210, 每次有液滴通过时, 就会产生一个电脉冲, 当第一滴通过时打开定时-计算器, 第二滴通过时停止定时-计数器, 查出相隔时间, 经计算即可得到滴液速度 (滴/s) , 如图2所示。 3.4 电机的选择 本设计选用步进电机作为电机驱动控制电路, 步进电机是一种用电脉冲进行控制, 将电脉冲信号转换成相应角位移或线位移的电动机。步进电机每输入一个脉冲信号, 转子就转动一个角度或前进一步, 其输出的角位移或线位移与输入的脉冲数成正比, 转速与脉冲频率成正比。用单片机控制步进电机, 控制信号为数字信号, 不再需要数/模转换, 具有快速启/停能力, 可在一刹那间实现启动或停止, 且步距角降低小, 延时短, 定位准确, 精度高, 可操作性强。 3.5 点滴速度方案 控制液滴下落速度采用通过步进电机和滑轮系统控制储液瓶的高度, 来达到控制液滴流速的目的, 通过步进电机可方便地实现对储液瓶高度的调节, 从而达到控制液滴流速的目的。 3.6 传输方式 采用USB接口, 虽然数据传输的可靠性高, 但不便于扩展。而采用无线通信方式不但便于扩展而且使用便捷, 适用于大容量。 3.7 报警显示模块 当点滴的速度低于20滴/min或高于150滴/min时, 单片机发出控制信号, 触发蜂鸣器报警。如有人按报警按钮, 与单片机相连的I/O口输入高电平, 也触发蜂鸣器报警, 提醒医护人员和输液病人采取相应措施, 避免事故发生。如10s后仍然无人处理, 则关闭输液器, 以保证病人的安全。显示模块选用的是LCM103。 3.8 软件设计与实现 单片机和监控电脑的连接采用的是无线通信方式, 监控电脑能检测并设定输液器的输液速度, 实现远距离的监控。而本系统采用光电开关采集信号, 当有液滴通时P2.7产生一个脉冲, 这样就可以记录两滴液体间的时间, 经运算就可以得到液滴的速度。实际检测值和设定值已经被转换成BCD码存在30H到35H单元, 其中30H到32H是实际值从低到高位, 33H到35H是设定值的从低到高位。电动机的控制就是将实际值和设定值相比较, 若果在误差许范围, 电动机无动作, 如果实际值小于设定值且差值大于误差许范围, 则电动机正传, 反之电动机反转。 4 结束语 由于医用输液控制器充分利用了单片机, 硬件控制电路简单, 系统体积小, 调试和维护方便;软件部分可根据具体情况修改程序中的参数, 能通过键盘进行人机交互;最重要的是它价格便宜, 能够推动医疗器械加速自动化与半自动化进程, 提高医护质量。 参考文献 [1]张桂香.机电类专业毕业设计指南[M].北京:机械工业出版社, 2005. [2]江思敏, 陈明.protel电路设计教程[M].北京:清华大学出版社, 2006. [3]康华光.电子技术基础数字部分 (第五版) [M].北京:高等教育出版社, 2006. 关键词:RS-485;75176芯片 中图分类号:TP273文献标识码:A文章编号:1007-9599 (2011) 07-0000-01 MCU-based RS-485 Communication Design Chen Yong1,Guo Aiping2,Qin Yue1 (1.Artillery Command College,Information Department,Xuanhua075100,China;2.Staff Communication Training Base,Xuanhua075100,China) Abstract:This paper discusses the rs-five 485 hardware circuit basic structure.Introduces the use of 75176 chip,analyzes the basic principle, the circuit for the rs-five 485 control side DE described the design.This paper introduced the selection and use of serial card,and finally presents the basic method of RS485 software design flow general. Keywords:RS-485;75176 chips 一、功能介绍 在许多工业过程控制中,需要用最少的信号线来完成通讯任务。目前广泛应用的RS-485串行接口总线就是为了适应这种需要而产生的。它实际上就是RS-422总线的变形。两者不同之处在于:RS-422为全双工,而RS-485为半双工;RS-422采用两对平衡差分信号线,RS-485只需其中的一对。RS-485更适合多站互连。在MCU之间中长距离通信的诸多方案中,RS-485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS-485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。 RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等。这些优点使其成为首选的串行接口。因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。 在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络。这种通信接口可以十分方便地将许多设备组成一个控制网络。本文讨论了基于单片机RS-485通讯的相关技术细节。 二、基于单片机RS-485通讯的设计 (一)支持RS485通讯的核心芯片75176简要介绍 75176差分总线收发器是用于多点总线传输的双向数据通信的单片集成电路。它是为平衡传输线而设计的,符合EIA RS-422/RS-485规范,将三态输出的差分线驱动器和差分输入线接收器合为一体,其差分输出和差分输入内连成差分输入、输出总线I/O口,而且驱动器和接收器均具备有源的外接控制端,以适应其分时享用公共总线和双向传输信息之用。其总线口具有很宽的正、负共模电压范围。 驱动器吸收或供给电流可达60mA,具有很强的负载能力,而且具有正负电流限制和热断路保护,以防止线路故障,热断路在结温150摄氏度时发生。 (二)电路基本原理 光电耦合器TLP521让单片机与75176之间完全无电连接,提高了工作可靠性。当单片机P1.3=0时,光电耦合器的发光二极管发光,光敏三极管导通,输出高电平(+5V),选中RS485接口芯片的DE端,允许发送。当单片机P1.3=1时,光电耦合器的发光二极管不发光,光敏三极管不导通,输出低电压(0V),选中RS485接口芯片的RE端,允许接收。75176的R端(接收端)和D端(发送端)的原理与上述类似。 为了进一步提高系统的抗干扰性,还在发射端配置了匹配电阻和稳压管。其中,匹配电阻可以防止远距离通讯时阻抗不匹配时发生的反射现象。稳压管则可以去掉信号的高频干扰,对器件有保护作用。 (三)RS485串口的扩展 一般一台计算机有两个或者一个串口,而对于一台播控计算机需要控制的设备远远不止两台设备,我们需要同时控制视频服务器,录像机、切换台、字幕机等各种设备。所以就需要对串口进行扩展,我们可以使用串口扩展卡对串口进行扩展,比如我们在播控系统中使用的串口扩展卡MOXA CI-134。 MOXA CI-134是专为工业环境通信应用设计的RS-422/485四串口卡。它支持4个独立的RS-422/485串口,在一对多点的通信应用下,最多可控制128个设备。为使RS-485 2线半双工操作变得更加简单,每片CI-134卡都具有数据流向自动控制(ADDC),不需软件操作。因此,在Windows应用下不需额外的编码就能控制RS-485半双工协议。为达到工业环境对高可靠性产品的要求,本系列产品提供可选择的光电隔离(2KV)和浪涌保护(25KV ESD)功能。 (四)件部分设计 【基于单片机的毕业设计】推荐阅读: 基于单片机的频率计设计07-01 基于51单片机的智能小车设计08-31 基于51单片机恒压供水系统设计06-27 基于单片机的数字PID控制直流电机PWM调压调速器系统09-12 单片机课程设计实验06-23 51单片机课程设计作业08-11 《单片机与外围电路设计》课程设计大纲10-27 单片机设计实训报告08-08 单片机电子钟毕业论文08-047.基于单片机的输液系统的设计 篇七
8.基于单片机的毕业设计 篇八