欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    数字万用表的设计_单片机自动打铃系统论文.doc

    • 资源ID:3936496       资源大小:1.66MB        全文页数:40页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字万用表的设计_单片机自动打铃系统论文.doc

    钦州学院课程设计报告书钦 州学院 电子电路课程设计报告 数字万用表的设计 院 系 物理与电子工程学院 专 业 自动化 学 生 班 级 自动本101班 姓 名 _韦永强_ 指导教师单位 钦州学院 指导教师姓名 申康 指导教师职称 讲 师 2013年10月摘要在现如今快节奏的生活中,人们对于时间的要求越来越苛刻,很多时候都需要对时间进行规划,然后到时间点就要有时间提醒,这就必须用到时钟提醒装置,亦可称为打铃装置。打铃装置有很多种,比如手机的打铃系统,闹钟的机械打铃装置,广播打铃系统等等,但是日常生活中见得最多的还是校园的自动打铃系统。在学校生活中,每天上下课都离不开打铃系统的使用。打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排,同时,也可作为一个提醒学生们作息时间的时间表,让老师和学生都能有一个规律和科学的时间安排。因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以AT89C52单片机为控制器,以ISD4004时钟芯片为系统提供时间,并在液晶显示器上显示,通过按键可以设定定时打铃时间和打铃的时间间隔。系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。本文提出的设计方法电路简单、成本低廉、实用性强。关键字:打铃器、AT89C52单片机、ISD4004、液晶显示器II目录1 前言11.1 选题目的及意义11.2 论文内容12 方案设计22.1 方案比较与选择22.1.1 系统方案选择22.1.2 时钟芯片选择22.1.3 显示器件选择32.2 设计方案33 系统硬件设计43.1 硬件电路图43.2 时钟电路43.2.1 时钟电路设计43.3 按键电路53.4 单片机电路63.4.1 单片机简介63.4.2 单片机最小系统电路93.5 显示电路103.6 打铃电路114 系统软件设计124.1 软件设计流程图124.2 读取ISD4004时间程序设计134.3 显示程序设计144.4 按键设定程序设计175 系统调试185.1 元件清单185.2 调试过程186 总结与展望20心得体会20参考文献21附录221 前言1.1 选题目的及意义随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。而且自动打铃系统不断影响着我们的学习和生活,它已被广泛应用于各个学校中,它能够实现学校的办公自动化,便于学校的管理。用单片机控制的自动打铃器,充分发挥了体积小,价格便宜,功耗低可靠性好等特点,而且具有可改性,用于学校作息,方便了广大师生。目前自动打铃系统的研究和使用已经非常普及,之所以选这个课题就是看在他的成熟性和普遍性。打铃器可以为上下课的学生和老师们提供时间提醒,同时,也可作为一个提醒学生们作息时间的时间表,让大家有一个时间意识,形成规律的生物钟,对自身的健康也有很大的好处的。对于那些上课精力过于集中、知识面拓展比较广的老师的拖堂现象也给了一个下课时间提醒,以免耽误学生们下一节课的上课时间。打铃器作为一个提醒人们时间的设备,自然离不开提供时间的系统,最原始的打铃器是人工根据时间通过敲钟来提醒,随着技术的发展,开始有了机械时打铃器。随着二十世纪电子技术的发展和二十一世纪半导体技术和集成电路的发展,电子技术开始渗入到各行各业,以电子表为主要基础提供时间基准的打铃器自然也是更新换代的更快,现在各种功能更多、使用更先进的打铃器层出不穷,有的还可以以音乐响铃代替传统的“呤呤”声,打铃器更多的向着智能型转变。设备的智能化离不开单片机的使用。单片机简单的说就是一款微型的计算机,包含中央处理器CUP、随机存取存储器RAM、只读存储器ROM、I/O口、串行口等部分,可以作为一个系统的主控制器,将其他部分电路整合到一起组成一个系统,为控制提供智能化。基于以上原因,本课题设计了一款基于单片机的自动打铃系统,使用简单方便、功能齐全。本次的设计重点在于实现自动打铃系统的基本功能之外,争取设计出亮点,出新意,对我本身是个不小的挑战,因此对这个课题的研究不管是对于我本身还是对此项目在科技方面的发展都是有很重要的意义1.2 论文内容本设计是以AT89C52单片机为核心的一款自动打铃系统,以时钟芯片来实现计时功能,然后单片机负责将时间送入显示电路显示,整个系统不是很复杂,其设计主要包括单片机控制模块、时钟电路和显示电路三个模块的设计,在设计前本人在学校图书馆看了很多关于单片机方面的书,也在网上查了不少资料,也查阅过跟此设计相似的论文或者期刊,得到了不少启发和经验,对本人的设计工作有很大的帮助,能很好的把握设计的整体方向和细节。2 方案设计2.1 方案比较与选择2.1.1 系统方案选择方案一:采用数字电路来搭建,利用555时基电路构成振荡器产生100Hz频率的振荡电路,再通过分频器得到1Hz频率,即产生1秒计时时间,显示部分通过锁存器和驱动芯片将计时时间送入数码管显示。设计框图如图2-1所示。这种方案电路结构比较复杂,芯片使用比较多,灵活性不高,而且准确度不够精确,不利于系统的扩展。而且这种电路中需要使用独立式的数码管,每一个数码管都需要连接一个数据锁存器和数码管驱动芯片,连接线比较多,制作的过程中很容易出错。NE555时基电路分频器100Hz信号数据锁存器1Hz信号数码管驱动数码管显示图2-1 方案一设计框图方案二:采用AT89S51单片机作为系统控制单元,通过时钟芯片来实现计时功能,单片机负责将时间送入显示电路显示。设计框图如图2-2所示。这种方案电路设计简单,时间精确,使用方便。而且单片机的强大功能使得系统方便扩展,有利于提高智能性。时钟芯片秒计时单片机液晶显示器显示计时时间图2-2 方案二设计框图综上所述,本设计选用第二种设计方案。2.1.2 时钟芯片选择方案一:因为本文设计的数字钟只需要显示分钟和秒,因此可以直接采用单片机定时计数器提供秒信号,使用程序实现分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,硬件就比较复杂,稳定性低,而且不易控制。所以不采用此方案。方案二:采用ISD4004时钟芯片实现时钟。ISD4004,它是I2C总线接口实时时钟芯片,可以独立于CPU工作,不受CPU主晶振及其电容的影响,且计时准确,月累积误差一般小于10秒。芯片还具有主电源掉电情况下的时钟保护电路,ISD4004的时钟靠后备电池维持工作,拒绝CPU对其读出和写入访问。同时还具有备用电源自动切换控制电路,因而可在主电源掉电和其它一些恶劣环境场合中保证系统时钟的定时准确性。同时,ISD4004芯片内部还集成有一定容量、具有掉电保护特性的静态RAM,可用于保存一些关键数据。所以采用ISD4004作为时钟芯片。2.1.3 显示器件选择为了能以十进制数码直观地显示数字系统的运行数据,目前广泛使用了七段字符显示器,或称做七段数码管。这种字符显示器由七段可发光的线段拼合而成。常见的七段字符显示器有半导体数码管和液晶显示器两种。半导体数码管的每个线段都是一个发光二极管(Light Emitting Diode,简称LED),因而也把它叫作LED数码管或LED七段显示器。半导体数码管不仅具有工作电压低、体积小、寿命长、可靠性高等优点,而且响应时间短(一般不超过0.1us),亮度也比较高,但是只能显示数字,显示内容比较受到限制,又过多的占用单片机的I/O口。液晶显示器简称LCD,液晶是一种既具有液体的流动性又具有光学特性的有机化合物,它的透明度和呈现的颜色受外加电场的影响,利用这一特点便可以做成字符显示器。液晶显示器最大的优点是功耗极小,每平方厘米的功耗在1uW以下。它的工作电压也很低,在1V以下仍能工作。而且显示内容比数码管要丰富。因此,液晶显示器在电子表以及各种小型、便携式仪器、仪表中得到了广泛的应用。综上所述,本设计中选用液晶显示器作为显示单元器件。2.2 设计方案本设计系统框图如图2-3所示。系统以AT89C52单片机为控制器,通过ISD4004来为系统提供标准时间,单片机读取ISD4004时间后送液晶显示器显示,通过按键来设置打铃时间。当打铃时间到时,系统实现蜂鸣器和LED灯声光提示。系统设计框图如下:时钟电路按键设定打铃时间单片机控制显示电路打铃电路3 系统硬件设计3.1 硬件电路图根据系统设计框图,本设计硬件电路主要由时钟电路、按键设定电路、单片机电路、显示电路和打铃电路组成,电路原理图见附录一所示。系统工作原理:系统时间由时钟芯片ISD4004来提供,单片机通过P3口读取了ISD4004的时间数据后,经过处理得到时间显示模式的时钟数据,并通过P2口送液晶显示器显示出来。再通过扫描P1口是否有按键按下,有按键按下时,通过液晶显示器显示来设置定时时间、打铃时间间隔,通过设定、移位、加数来实现。当到达打铃时间时,单片机引脚启动蜂鸣器和LED灯电路工作以声光形式实现打铃功能。3.2 时钟电路3.2.1 时钟电路设计 时钟电路如图3-2所示。时钟芯片的SCL引脚和SDA引脚分别由单片机的P3.1和P3.2引脚控制,单片机只需按照ISD4004的工作时序来控制DS1307即可实现时间的写入和读取,其中ISD4004的时钟端与数据端需外接上拉电阻,本设计选用5针排阻来充当上拉电阻。图3-1 时钟电路3.3 按键电路键盘是单片机应用中常用的一种输入器件,键盘的按键有触点式和非触点式之分,按接口原理有编码键盘和非编码键盘之分。编码键盘主要用硬件来实现对按键的识别,非编码键盘是由软件来实现键盘的定义与识别。常用的按键一般为触点式按键,根据按键所连接的单片机引脚的电平高低来判断其是否按下。按功能分,键盘有独立按键和矩阵按键之分,独立按键每一路按键就占用单片机的一个控制引脚,单片机直接获取其信息;矩阵按键将按键排成由行和列组成的行列式,通过确认按键的行号和列号来确定每一路按键,利用少的单片机引脚控制更多的按键。本设计中按键电路如图3-2所示,由单片机的P1口控制按键电路。本设计中按键用于设定定时时间、打铃时间间隔,所以只需4路按键即可实现所需功能,采用独立式按键即可。由于按键是机械式触点,所以在断开或闭合时,一般都有抖动产生,虽然这个抖动时间在我们看来非常短,但是单片机执行指令的速度为微秒级别,很容易会读取这个时间而将其判断为真正的工作状态,从而引起误判。因此,在设计中必须考虑到按键抖动的影响。常用的去抖动的方法有两种:硬件方法和软件方法。硬件方法一般是加电容或者RS触发器;软件方法是在单片机在检测引脚所连接的按键的工作状态时加一个延时程序再次确认,通过2次的确认就可以确保按键的工作状态不受机械抖动的影响了。图3-2 按键电路3.4 单片机电路3.4.1 单片机简介单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的CPU、RAM、ROM、多种I/O口、中断系统和定时器/计时器功能集成到一块芯片上的完善的计算机系统,它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,为使更多的业内人士、学生和爱好者学习掌握这门技术,产生了单片机开发板。早期的单片机是8位或4位的,其中最成功的是INTEL的8031单片机,因简单可靠而获得了很大的好评。此后,在8031的基础上发展出了MCS51系列单片机,基于这一系统的单片机一直到现在还广泛应用着。随着工业控制领域要求的提高,开始出现了16位的单片机,因性价比不好并未得到广泛的应用。90年代后期随着消费电子产品的大发展,单片机技术得到了很大的提高,32位机迅速代替了16位机进入主流市场,传统的8位机的处理速度也提高了数百倍,而且价格也降低了很多,得到了广泛的应用。现在人们生活中几乎每个电子产品或机械产品都或多或少带有单片机控制系统,智能仪器仪表、医疗器械、家用电器、儿童玩具等等,汽车电子中单片机的应用也是非常广泛,一般汽车上配备有接近40多个单片机系统。AT89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失性存储器制造技术,与工业标准的MCS-51指令集和输出管脚相兼容。主要特性:与MCS-51产品指令系统完全兼容;4K字节在系统编程(ISP)Flash闪速存储器;1000次擦鞋周期;4.0-5.5V的电压工作范围;全静态工作模式:0Hz-33MHz;三级程序加密锁;128*8字节内部RAM;32个可编程I/O口线(P1、P2、P3、P4);2个16位定时/计数器,可通过编程实现4种工作方式;1个具有6个中断源、4个优先级的中断潜嵌套结构;全双工UART通道;低功耗空闲和掉电模式;中断可从空闲模式唤醒系统;看门狗(WDT)及双数据指针;掉电标识和快速编程特性;灵活的在系统编程(ISP字节或页写模式)。AT89C52单片机内部主要由9个部件组成:1个8位中央处理器;4KBFlash存储器;128B的数据存储器;32条I/O口线;2个定时器/计数器;1个具有6个中断源、4个优先级的中断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存器;1个片内振荡器和时钟电路。AT89S51系列单片机完全继承了MCS-51的指令系统,共有111条指令,按其功能可分为五大类:数据传送类指令、算术运算类指令、逻辑运算类指令、控制转移类指令、布尔操作。中断技术是计算机中的重要技术之一,它既和硬件相关,也和软件相关,正因为有了“中断”才使得计算机的工作更加灵活、效率更高。所谓中断实际是一个处理时间的过程,这一过程一般是由计算机内部或外部某种紧急事件引起并向主机发出请求处理的信号,主机在允许情况下相应请求,暂停正在执行的程序,保存好“断点”处的现场,转去执行中断处理程序,处理完后自动返回到原断点处,继续执行原程序。引起中断的原因,或是能发出中断申请的来源,称为中断源。AT89C52提供5个中断源,即:外部中断源/INT0:由P3.2输入;外部中断源/INT1:由P3.3输入,I/O设备中断请求信号,或掉电故障异常事件中断请求信号都可以作为外部中断源连/INT0、/INT1。定时器/计数器T0溢出中断:TF0做标志,由P3.4输出;定时器/计数器T1溢出中断:TF1做标志,由P3.5输出;片内串行口产生的中断:RX、TX。I/O口分配:P0口(P0.0P0.7)为双向8位三态I/O口,当作为I/O口使用时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时服用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线口使用。P1口(P1.0P1.7)的每一位都可以分别定义为输入线和输出线(做输入时,锁存器必须置1),可驱动4个TTL负载。P1口常用作通用I/O口,它是一个标准的准双向口。P2口(P2.0P2.7)为8位准双向I/O口,当作为I/O口使用时,可直接连接外部I/O设备。它是地址总线的高8位复用,可驱动4个TTL负载。一般作为扩展地址总线的高8为使用。P3口(P3.0P3.7)为8位准双向I/O口,是双功能复用口,可驱动4个TTL负载,能够实现第一功能,可作为通用I/O口。P3口的第二功能定义如表3-1所示:表3-1 P3口第二功能定义引脚定义功能引脚定义功能P3.0-RXD串行输入口P3.1-TXD串行输出口P3.2-外部中断0P3.3-外部中断1P3.4-T0计时器0外部输入P3.5-T1计时器1外部输入P3.6-外部数据存储器写选通P3.7-外部数据存储器读选通RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许信号输出。在CPU访问外部程序存储器或外部数据存储器时,ALE提供一个地址锁存信号,将低8位地址锁存在片外锁存器中。在与Flash并行编程/校验期间,该引脚也是编程负脉冲的输入端。在正常操作状态下,该引脚端口输出恒定频率的脉冲。其频率为晶振频率的1/6,可用作外部定时或其他触发信号。如果需要,可通过SFR的第0位置禁止ALE操作,但ALE的禁止位不影响对外部存储器的访问。:片外程序存储器选通信号,低电平有效。当AT89S51执行来自外部程序存储器的指令代码时,PSEN/每个机器周期两次有效。在访问外部数据存储器时,PSEN/无效。:片外程序存储器访问允许信号,低电平有效。当接地时,CPU只执行片外存储器中的程序;当接Vcc时,CPU首先执行片内程序存储器中的程序(0000H0FFFH),然后自动转向执行片外程序存储器中的程序(1000HFFFFH)。如果程序锁定位LB1被编程(P),那么值将在复位时由片内锁存。在与Flash并行编程/校验期间,该引脚施加12V的编程电压VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S51引脚图如图3-3所示3.4.2 单片机最小系统电路单片机最小系统由晶振电路和复位电路组成。电路如图3-5所示。晶振电路用于产生单片机工作时所需要的时钟信号,单片机的指令必须在时钟信号下按照时序执行。晶振电路通常用两种设计方式:内部振荡方式和外部振荡方式。内部振荡方式是在单片机的XTAL1和XTAL2引脚外接一个晶体振荡器,与单片机内部的振荡器组成时钟信号;外部振荡方式是在外部将已有的脉冲信号引入单片机内,一般用于使单片机的时钟与外部信号保持同步。本设计选用内部振荡方式,在XTAL1和XTAL2引脚之间连接一个12MHz的晶振,再分别外接30p的对地电容。单片机在启动时需要复位,使系统各器件处于初始状态。复位引脚为RST,当系统上电后晶振电路稳定后,RST引脚有一个高电平且持续2个机器周期以上,单片机系统就可以实现复位功能。复位一般有手动复位和上电复位功能。手动复位是在RST引脚设置按键,当按键按下时,RST引脚会有高电平,即可实现复位功能;上电复位是在RST引脚连接一个电解电容接至电源,再接一个电阻接地,系统上电时,电容充电,只要电源的上升时间不超过1ms,就可以实现复位功能。本设计选用按键复位。图3-4 单片机最小系统电路3.5 显示电路LCD1602为字符型液晶显示器,分为带背光和不带背光两种,主要技术参数:显示容量,16×2个字符;芯片工作电压,4.5V-5.5V;工作电流,2.0mA;模块最佳工作电压,5V;字符尺寸,2.95×4.35mm。LCD1602共有16个引脚,引脚说明如下:1脚,VSS,电源地;2脚,VDD,电源正极,接+5V;3脚,VL,液晶显示偏压,接正电源时对比度较弱,接地时对比度最高;4脚,RS,数据/命令选择,高电平时选择数据寄存器,低电平时选择指令寄存器;5脚,R/W,读/写选择,高电平时进行读操作,低电平时进行写操作,当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据;6脚,E,使能信号,当E端由高电平跳变为低电平时,液晶块执行命令;7-14脚,D0-D7,8位双向数据线;15脚,BLA,背光源正极;16脚,BLK,背光源负极。单片机的P2口作为LCD1602的数据线端口,P3口控制LCD1602的使能端。单片机读取数据后,通过控制LCD1602的读写端、复位端和使能端将其设置为写入数据状态,再将数据通过P2口送入LCD1602实现显示功能。3.6 打铃电路 打铃电路一般用声音或音乐作为提醒,本设计选用蜂鸣器和LED灯实现声光双重打铃功能,电路如图3-7所示。打铃时间到时,单片机P3.3引脚置高,三极管9013导通,继而蜂鸣器和LED灯导通,实现蜂鸣和灯亮打铃功能。图3-5 打铃电路4 系统软件设计4.1 软件设计流程图 系统软件设计流程图如图4-1所示。图4-1 软件设计流程图 程序设计过程:首先要定义单片机的引脚,然后初始化器件,再利用ISD4004的读写时序读取时间数据。再利用按键进入时间设定状态,设定完时间后单片机通过比较时间是否到达设定的时间来确定是否到打铃时间,如果达到打铃时间,则控制蜂鸣器响LED灯亮。4.2 读取ISD4004时间程序设计ISD4004中的时间寄存器地址编码为00H-07H,而具有掉电保护的RAM寄存器的地址编码为08H-3FH。当地址指针指向RAM的最后一个地址3FH时,若进行多字节操作,则地址指针将会复位而指向00H,这样原来存在00H的数据将会丢失。DS1307的各类时间数据均以BCD码的格式存储在相应的时间寄存器中,具体分配如表4-1所示:表4-1 ISD4004寄存器分配00H01H02H03H04H05H06H07H秒分小时星期日期月年控制字单片机通过读取ISD4004相应的寄存器字节,可以获取时钟和日历信息。时钟和日历信息以BCD码的形式存放在寄存器中,寄存器0的第7位为时钟停止位,振荡器停止工作。由于在初次上电时,所有寄存器的状态是不确定的,所以在初始化时必须将寄存器0中的第7位设为0。ISD4004可运行在12/24小时模式下,并由时间控制器中的相应位来进行控制。根据小时寄存器的第6位是0还是1,置为1时,是工作于12小时模式下,此时,小时寄存器的第5位为AM/PM标志。在24小时模式中,小时寄存器的第5位和第4位共同组成小时的十位数。时钟模块设计流程:单片机按如下顺序将数据写入到ISD4004 寄存器或内部RAM 中:1、START 信号2、写SLA+W(0xd0)字节,DS1307 应答(ACK);3、写1 字节内存地址(在以下第四步写入的第一字节将存入到DS1307 内该地址处,DS1307应答);4、写数据(可写多个字节,每一字节写入后DS1307 内部地址计数器加一,ISD4004应答);5、STOP 信号单片机读取ISD4004子程序流程图如图4-2所示:图4-2 单片机读取DS1307子程序流程图4.3 显示程序设计LCD1602的基本操作时序:读状态:输入:RS=L,RW=H,E=H;输出:D0-D7=状态字。写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲;输出:无。读数据:输入:RS=H,RW=H,E=H;输出:D0-D7=数据。写数据:输入:RS=H,RW=L,D0-D7=数据,E=高脉冲;输出:无。LCD1602初始化过程:延时15ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号);以后每次写指令、读/写数据操作均需要检测忙信号;写指令38H,显示模式设置;写指令08H,显示关闭;写指令01H,显示清屏;写指令06H,显示光标移动设置;写指令0CH,显示开及光标设置。LCD有11条控制指令,如表4-2所示。表4-2LCD1602控制指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存储器地址0001字符发生存储器地址8置数据存储器地址001显示数据存储器地址9读忙标志或地址01BF计数器地址10向CGRAM或DDRAM写数10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容LCD1602内部自带有80×8位的RAM缓冲区,RAM地址映射如表4-3所示。表4-3 LCD1602的RAM地址映射表00010203040506070809404142434445464748490A0B0C0D0E0F10274A4B4C4D4E4F5067LCD1602写操作时序如图4-3所示。图4-3 LCD1602写操作时序向LCD1602写数据程序子程序流程图如图4-4所示:图4-4 向LCD1602写数据程序子程序流程图4.4 按键设定程序设计单片机读取按键的方式有2种:查询方式和中断方式。查询方式是利用单片机引脚不断查询是否有按键按下,如果有按键按下,利用延时程序去除抖动再次确认后,进入该按键对应的子程序执行命令。中断方式是利用单片机的外部中断功能来检测是否有按键按下。利用中断功能可以不用在主程序中不断的执行查询命令,有中断产生即有按键按下时,再进入中断子程序中进行处理。本设计选用查询方式处理按键设定程序。每个独立式按键直接接至单片机引脚,每个按键的键值与单片机端口的8个引脚的8位二进制码相对应。本设计为P1.0-P1.3引脚控制4路按键。单片机控制按键子程序流程图如图4-5所示:图4-5 单片机控制按键子程序流程图5 系统调试5.1 元件清单本设计中的硬件制作中所用元器件如表5-1所示。表5-1 元件清单元器件名称个数元器件名称个数AT89S51单片机1DS13071LCD1602132.768KHz晶振11N4148二极管15.1K电阻29013三极管1蜂鸣器1发光二极管112MHz晶振122P电容210U电解电容110K电阻210K电位器147电阻1按键45针排阻1万用板15.2 调试过程 制作调试过程中所用仪器有:数字万用表、电烙铁,焊锡丝、焊锡膏、剥线钳、尖嘴钳、圆口钳、镊子,吸锡器等,另外准备尽量多的导线。制作与调试过程如下:1、按照元器件清单准备好所需要用到的元器件。2、按照电路原理图焊接硬件电路板,先焊接芯片的底座,再焊接其外围电路。实物电路图如图5-1所示:图5-1 实物电路图3、当定时时间到时,蜂鸣器响,LED灯亮。4、每隔设置的打铃时间间隔,蜂鸣器响,LED灯亮,实现打铃功能。经上述调试,系统工作正常,实现设计要求的功能。6 总结与展望经过这段时间的努力,毕业设计也接近了尾声。本文从选题目的及意义开始,介绍了系统的方案设计,其中提供了两种设计方案,经过互相之间的比较后选择了简单易行的一种方案,后面还列出了其他两种模块的设计方案,并经比较后选择了合适的方案,然后对系统的硬件设计进行了阐述,包括电路图和元器件的介绍,对它们实现的功能和内部结构都进行了说明,接着是软件部分的设计,这也是此设计的关键部分,有很详细的说明。本设计是针对学校的作息时间而设计的一种自动打铃系统,但是它同样可以用于其他的场所,如工厂,生厂车间等等,它能很好的起到时钟提醒的作用,方便了人们的日常生活。在硬件设计部分,显示器件选的是液晶显示器,它具有功耗和工作电压低的特点,而且它的显示质量高,可视面积大,能很好的达到设计要求,还降低了软件的编程难度。本设计的自动打铃系统还存在不足和缺点,主要表现在这些方面:虽然系统能够很好的实现打铃的要求,但是能够设定的打铃时间只有六个,这是因为想降低编程时的难度,在不影响其功能的前提下,降低了要求;还有就是其扩展性不强,后续的发展比较困难,制约了系统的升级,在商品竞争中没什么优势,需要进一步的研究和开发。通过此次毕业设计,我对所学专业的知识有了很好的回顾和实践,提高了自己的动手和思考能力,这对我自身的发展有很大的帮助,同时在此期间我查阅了很多的书籍和资料,从中学到了很多课本上没有的知识,拓展了自己的知识面,如果没有前期的准备工作是没法很好的完成此次设计的,所以多学、多看、多想、多动手才是学好知识的必要素质,这对我未来的发展和进步有着至关重要的作用。心得体会回顾这次设计的过程,感慨良多,收获颇丰,首先要感谢我的导师,成凌飞老师。在这段时间里成老师经常给提醒我们在做毕业设计过程中应当注意的事项,并在百忙之中特地抽出时间为我们讲课,讲解论文的排版及写作技巧,使我们受益不浅,还不忘督促我们按步骤完成每一项内容,可以说从毕业设计的开始到完成都能看见老师的身影,没有老师的辛勤辅导和对学生的责任心就没有我现在这样一篇毕业论文。同时我还要感谢大学四年所有教导过我的老师,是他们的谆谆教诲给了我大学四年的专业知识,在学习的道路上,他们就是我的领路人,真的非常感谢,还要感谢陪伴了我四年的每一个同学,因为他们,我的大学才不苍白,因为他们,我的大学才精彩,也是因为他们,我的大学才有意义。毕业设计告一段落了,但是我的人生却迎来了另一个出发点,毕业并不意味着结束,它同时是一个新的开始,我会带着老师们的希冀,朋友们的祝福和友谊走得更远、更高、更坚定,谢谢,谢谢你们!参考文献1 张凤言.电子电路基础.北京高等教育出版社,1995.2 戴佳,戴卫恒,刘博文等.51单片机C语言应用程序设计实例精讲.电子工业出版社,2008.3 孙江宏等. Protel 99 电路设计与应用.机械工业出版社,2001.4 阎石.数字电子技术基础.高等教育出版社,1998.5 范风强,兰婵丽.单片机语言C51应用实战集锦.电子工业出版社,2001. 6张萌,和湘,姜斌等.单片机应用系统开发综合实例.清华大学出版社,2007.7 张义和.例说51单片机(C语言版),人民邮电出版社,2010. 10 徐福成.一款人性化的打铃器.电子制作,2008,(2):36-37.附录源程序#include <reg52.h>#include"YUYIN3.H"/#include"match.H"#define uchar unsigned char#define uint unsigned int#define keyinc 0xfb / P32#define keydec 0xf7 / P33/#define flaginc 0xfe /P30/#define flagdec 0xfd/P31/ uchar num;sbit rw=P06;sbit lcdrs=P07;sbit lcden=P05;sbit sda=P04;sbit scl=P03;sbit warming=P00;/报警中断/*sbit k1= P30;/加sbit k2= P31;/sbit k3= P32; /加sbit k4= P33;/ 加sbit k5= P34;/ jiansbit k6= P35;/ jian*/ sbit k7= P01; /fensbit k8= P02;/ jian sbit LED= P10;/ jianuint year;uchar s,hour,min,sec,week,mon,day,r,x=1,p=0,d=0,m;uchar flag=0;uchar code table='0','1','2','3','4','5','6','7','8','9',':','-'/uint code table1="Mon","Tue","Wed","Thu","Fri","Sat","Sun"uchar code table1='S','u','n','M','o','n','T','u','e','W','e','d','T','h','u','F','r','i','S','a','t'uchar code table2="flag"uchar code fen=0x10,0x11,0x15,0x20,0x25,0x30,0x35,0x40,0x45,0x50,0x55; /fendingshiuchar code shi=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,0x22,0x23; /fendingshivoid delayus();void write_add(uchar address,uchar date);delay(uint t)/延时函数uint i,j;for(i=

    注意事项

    本文(数字万用表的设计_单片机自动打铃系统论文.doc)为本站会员(韩长文)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开