毕业设计电子万年历设计

上传人:1777****777 文档编号:37276641 上传时间:2021-11-02 格式:DOC 页数:33 大小:504.51KB
收藏 版权申诉 举报 下载
毕业设计电子万年历设计_第1页
第1页 / 共33页
毕业设计电子万年历设计_第2页
第2页 / 共33页
毕业设计电子万年历设计_第3页
第3页 / 共33页
资源描述:

《毕业设计电子万年历设计》由会员分享,可在线阅读,更多相关《毕业设计电子万年历设计(33页珍藏版)》请在装配图网上搜索。

1、绪 论近年来,电子技术和计算机应用领域不断扩大,电子产品已应用到各个行业,电子产品也逐步人性化。在电子产品的设计中单片机技术已经成为电子技术领域中广泛应用,引领这科技的发展浪潮。随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控,尖端武器和日用家电等领域更是因为有了单片机而生辉增色,不少设备、仪器已把单片机作为核心部分。单片微型计算机的诞生是计算机发展史上的一个新的里程牌。单片机不仅体积小、成本低、可靠性高,而且单片机还易于扩展,控制功能很强,使用灵活,很容易构成各种规模的应用系统,目前单片机在各个领域中都得到了广泛的应用。MCS-51系列单片机以其优越

2、的性能,成熟的技术及高可靠性和性能价格比迅速占领了工业测控和智能化等领域,成为国内单片机应用的主流。 电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,可以将芯片与单片机结合起来,通过单片机对芯片的控制可以使走时更加的准确,也可以直接通过单片机的编写达到以上效果。对于设计者来说采用单片机来实现万年历的各种功能主要是因为单片机集成度体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大高了单片机的可靠性与抗干扰能力。液晶显示器(LCD)英文全称为Liquid Crystal Di

3、splay,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象,是一种采用了液晶控制透光度技术来实现色彩的显示器,在袖珍中应用越来越广泛。液晶显示技术近几年来发展很快,各种规格的LCD显示班名目繁多,其专用驱动芯片也都相互配套,使LCD在控制和议表系统中广泛应用提供了极大的方便。在经过二十多年的研究、竞争、发展,平板显示器已进入角色,成为新世纪显示器的主流产品。第1章 设计思想及要求1.1 设计总体要求本次设计的液晶显示万年历,整个系统的要求主要是以AT89S51单片机为控制中心。通过软件编程循环检测实时读取温度和时间,并送给1602液晶显示模块显示;通过按键扫描程序,

4、进行时间校正,设置定时时间和温度上、下限报警;通过红外接收模块实现遥控控制;实现整点报时。实现的功能:(1)利用液晶显示年、月、日、星期、时、分、秒、温度。(2)利用按键进行调时。(3)利用按键进行定时时间设定。(4)利用按键进行温度上、下限报警值设定。(5)利用红外遥控进行时间调整。(6)利用蜂鸣器进行定时报警;温度上、下限报警;整点报时。1.2 系统方案设计该系统仍采用MCS-51系列单片机AT89S51作为控制核心。温度检测仍采用DS18B20温度传感器;采用实时时钟芯片DS12C887计时,由于其内部自带锂电池,断电后内部计数器仍在工作,可以防止突然断电,并且可以自动进行闰年调整和设置

5、定时时间。显示采用液晶显示模块1602,其体积小,集成度高,耗电量小。电路连线比较简单,并且制作产品体积小,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。软件控制程序主要有主控程序、万年历电子钟的时间控制程序、还有室内温度采集程序组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序和温度采集程序是万年历电子表中比较重要的部分。时间控制程序体现了年、月、日、小时、分钟、秒及星期的计算方法。而温度采集程序主要是DS18B20对室内温度的采集以及电流/电压与数字间的转换。第2章 万年历的最小应用系统万

6、年历电子表的最小应用系统包括AT89S51芯片处理器、DS12887时钟芯片、1602液晶显示模块、18B20.2.1 芯片处理器AT89S518051单片机的外形采用40条引脚双列直插封装(DIP)或LCC/QFP封装. DIP的引脚和逻辑符号如图2-1所示:图2-1 单片机的引脚和逻辑符号2.1.1 主要特性(1) 与MCS-51 兼容(2) 4K字节可编程闪烁存储器。寿命:1000写/擦循环数据保留时间:10年(3) 全静态工作:0Hz-24Hz(4) 三级程序存储器锁定(5) 128*8位内部RAM(6) 32可编程I/O线(7) 两个16位定时器/计数器(8) 5个中断源(9) 可编

7、程串行通道(10) 低功耗的闲置和掉电模式(11) 片内振荡器和时钟电路 2.1.2 管脚说明 VCC:供电电压。GND:接地。P0口有三个功能:(1)外部扩充存储器时,当作数据总线(D0D7)。(2)外部扩充存储器时,当作地址总线(A0A7)。(3)不扩充时,可做一般I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用,其内部有上拉电阻。P2口有两个功能:(1)扩充外部存储器时,当作地址总线(A8A15)使用。(2)做一般I/O使用。其内部有上拉电阻。P3有两种功能:除了作为I/O使用外(内部有上拉电阻),还有一些特殊功能,如表2-1所示,由特殊寄存器来设

8、置。表2-1 端口引脚的特殊功能端口的引脚特 殊 功 能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断)P3.3/INT1(外部中断)P3.4T0(TIMER0的外部输入脚)P3.5T1(TIMER1的外部输入脚)P3.6/WR(外部数据存储器的写入控制信号)P3.7/RD(外部数据存储器的读取控制信号)端口1、2、3有内部上拉电路,当作输入时,其电位被拉高,若输入为低电平可提供电流源,其作为输出时可驱动4个LETTL。而端口0当作输入时,处在高阻抗的状态,其输出缓冲器可驱动8个LETTL(需要外部的上拉电阻)。RST:复位输入。当振荡器复位器件时,要保持

9、RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每

10、个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 2.1.3 定时器/计数器方式控制寄存器TMOD特殊功能寄存器TMOD 用来确定定时器/计数器0和1的工作方式,其低4位用于定时器/计数器0,

11、高4位用于定时器/计数器1,TMOD的格式如表2-2:表2-2TMOD的格式 D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0(1) 定时器/计数器功能选择位C/T。C/T=“1”为计数器方式,C/T=“0”为定时器方式。(2) 定时器/计数器工作方式选择位M0,M1 。定时器/计数器4种工作方式的选择由M1,M0的值决定,见表2-3所示:表2-3定时器/计数器4种工作方式M1 M0 工作方式0 0方式013位定时器/计数器0 1方式116位定时器/计数器1 0 方式2具有自动重装初值的8位定时器/计数器1 1方式3定时器/计数器0分为两个8位定时器/计数器,定时器

12、/计数器在此无意义。(3)门控制位GATE如果GATE=“1”,定时器/计数器0的工作受芯片引脚INT0(P3.2)控制,定时器/计数器1的工作受芯片引脚INT1(P3.3)控制;如果GATE=“0”,定时器/计数器的工作与引脚INT0,INT1无关。复位时GATE=“0”2.1.4 定时器/计数器控制寄存器TCON TCON高4位用于控制定时器0,1的运行,其D7,D6两位用于定时器/计数器1,D5,D4两位用于定时器/计数器0;低4位用于控制外部中断,与定时器/计数器无关。TCON的格式如 表2-4:表2-4 TCON的格式D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT

13、1IE0IT0 (1)定时器/计数器运行控制位TR0 ,TR1。TRi=“1”时。启动定时器/计数器工作。TRi=“0”,停止定时器/计数器工作。TRi由软件置“1”或清“0”。(2) 定时器/计数器1溢出中断标志TF0,TF1。定时器/计数器计满溢出时,由硬件自动置TFi=“1”。在允许中断的条件下,向CPU发出定时器/计数器的中断请求信号:CPU响应中断,转入中断服务程序时,TFi由硬件自动清零。在中断屏蔽条件下,TFi作为查询测试用,但是需要用程序清“0”。 在工作方式1时,计数器的计数初值由公式2-1求出: N=216-X= 65536-X (公式2-1)式子中X为计数次数,范围为16

14、5536。定时器的定时时间由公式2-2求出: T=(65536-X)Tc (公式2-2)如果fosc=12MHz,那么定时范围为1s 65536s。2.1.5 复位 8051片内的复位电路复位引脚RST/Vpd通过片内施密特触发器(滤除噪声)与片内复位电路相连。复位电路在每一个机器周期的S5P2去采样施密特触发器的输出。欲使单片机可靠复位,要求RST/Vpd复位保持两个机器周期(24个时钟周期)以上的高点平。复位不影响内部RAM中数据。复位后,PC=0000指向程序存储器0000H 地址单元,使CPU从首地址0000H单元开始重新执行程序,所以单片机系统在运行出错或进入死循环时,可以按复位键重

15、新启动。2.1.6 中断源定时脉冲中断源又称为定时器中断源,是由定时脉冲电路或定时器产生。定时脉冲中断源用于产生定时器中断。定时器中断有内部和外部之分,内部定时器中断由单片机内部的定时器/计数器溢出时自动产生,故又称为内部定时器溢出中断;外部定时器中断通常由外部定时电路的定时脉冲通过CPU的中断请求输入线引起。不论是内部定时器中断还是外部定时器中断都可以使CPU进行计时处理,以便达到时间控制的目的。2.1.7 掉电模式为了进一步降低功耗通过软件可实现掉电模式,该模式中振荡器停振并且在最后一条指令执行进入掉电模式降到2.0 伏时片内RAM 和SFR 保持原值在退出掉电模式之前Vcc 必须升至规定

16、的最低操作电压。硬件复位或外部中断均可结束掉电模式硬件复位使SFR 值重新设置但不改变片内RAM 的值外部中断允许SFR 和片内RAM 都保持原值。要正确退出掉电模式在Vcc 恢复到正常操作电压范围之前复位或外部中断不会被执行并且要保持足够长的时间 ( 通常不小于10ms ) 以使振荡器重新启动并稳定下来。使用外部中断时INT0 和INT1 必须使能且配置为电平触发将管脚电平拉低使振荡器重新启动退出掉电模式后将管脚恢复为高电平一旦中断被响应RETI 之后所执行的是进入掉电模式指令的后一条指令。2.2 DS12887时钟芯片 日历时钟芯片DS12887外部采用24个管脚的双列直插式封装,如图2-

17、2 : 图2-2 DS12887 的引脚和逻辑符号2.2.1 DS12887主要功能简介 (1) 管脚与日历时钟芯片MC146818B及DS1287兼容.(2) 在断电情况下,数据可保存10年不变。(3) 芯片内部具有时钟电路,可自动记录秒,分钟,小时,星期,日,月,年等数据,数据格式有两种,二进制和BCD码形式。小时数据方式可采用12小时形式或24小时形式记录。(4) 芯片内部还包含有114字节的NVSRAM区,14字节专用寄存器和时钟数据寄存器。(5) 具有总线兼容的中断信号IRQ, 3个独立的中断源.2.2.2 原理及引脚说明 DS12887内部由振荡电路,分频电路,周期中断/方波选择电

18、路,14字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。DS12887引脚分配如图1: Vcc:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当Vcc低于4.25V,读写被禁止,计时功能仍继续;当Vcc下降到3V以下时,RAM和计时器供电被切换到内部锂电池。 MOT(模式选择):MOT引脚接到Vcc时,选择MOTOROLA时序,当接到GND时,选择Intel时序。 SQW(方波信号输出):SQW引脚能从实时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。 AD0-

19、AD7(双向地址/数据复用线):总线接口,可与MOTOROLA.htm target=_blank title=Motorola货源和PDF资料Motorola微机系列和Intel微机系列接口。 AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。 DS(数据选通或读输入):DS/RD引脚有两种操作模式,取决于MOT引脚的电平,当使用MOTOROLA.htm target=_blank title=Motorola货源和PDF资料Motorola时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总线的时刻;在

20、写周期,DS的后沿使DS12887锁存写数据。选择Intel时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。 R/W(读/写输入):R/W引脚也有两种操作模式。选MOTOROLA.htm target=_blank title=Motorola货源和PDF资料Motorola时序时,R/W是低电平信号时,指示当前周期是读或写周期,DS为高电平时,R/W高电平指示读周期,R/W信号一低电平信号,称为WR。在此模式下,R/W引脚与通用RAM的写允许信号(WE)的含义相同。 CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低

21、电平有效,可作微处理的中断输入。没有中断的条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。 RESET(复位输出):当该脚保持低电平时间大于200ms,保证DS12887有效复位。 2.2.3 时钟、日历单元在芯片DS12887内部具有一个自动计时单元电路,它可以自动记录秒,分钟,小时等时钟数据,并将数据保存在相应的单元中,同时芯片内部还有一个100年日历,可自动记录日历数据.通过对寄存器的访问,便可获知时钟和日历数据.这10个寄存器的内容还可以由程序初始化,数据方式既可以是二进制码的形式,也可以是BCD码形式,但这10个字节数据的存储必须采取同种方式.当需要对这些字节

22、初始化时,首先确定数据的存储方式,然后将寄存器B中的数据方式位(DM)置为相应的格式,第三步,将寄存器B中的置位位(SET)置为1,接着把数据写入须初始化的单元,在数据写完后,必须将寄存器B中的置位位(SET)清0,以便时钟电路能够自动校正时钟和日历数据.(1) 定时单元的介绍在前10个时钟日历单元寄存器中,有3个定时单元,分别为秒定时,分钟定时以及小时定时.这3个定时单元有两种使用方法:第一:当在这3个单元中写入每天指定的时间后,若定时中断使能位为高电平,则在每天的指定时刻,均会发出中断信号.第二:当在这3个单元中写入00- FF之间的任意一个非定时数据时,则会产生如下情形:若在小时定时单元

23、中写入该范围的任意一个数据时,芯片在每小时会发出一次中断请求信号;若在小时定时单元和分钟定时单元写入该范围的数据,则芯片在每分钟发出一次中断信号;若在这3个定时单元中都写入该范围的数据,则芯片在每秒钟发出一次中断信号. (2) 中断为了使芯片的功能更加完善,DS12887内部设置了3个独立的中断源,包括定时中断,周期中断以及校准中断.对于这3个中断,寄存器B及寄存器C都有相应的控制位来分别控制这3个中断的产生。在寄存器B中,有3个中断使能位,当需要使用某个中断产生中断信号时,必须先将相应的中断使能位置1,芯片才能允许相应的中断信号从1RQ端输出,若在中断使能位写入0,则禁止相应的中断信号产生.

24、在寄存器c中,有3个中断标志位,与3个中断源是一一对应的.当某个中断发生时,相应的中断标志位被自动置1,须注意的是,这些中断标志位与对应的中断使能位的设置是不相关的,当中断使能位设置为0时,虽然不产生中断信号,但当中断的条件满足时,中断标志就会被置1。所以,中断标志位是一种状态位,用户可通过软件查询这些状态位,当某个中断标志位是1时,表示此中断已经产生了一次.每读取一次寄存器C的内容后,这些标志位都会被清0.当某个中断标志位及中断使能位都为有效时,才会使IRQ脚产生有效信号(低电平)。(3) 校准中断日历时钟芯片DS12887内部具有一个时钟电路,它在每秒钟都会产生一个校准信号来校准寄存器中的

25、日历和时钟数据。在校准周期中,同样会将定时单元中的数据与相应的时钟单元数据进行比较,若二者相同,则发出定时到的信号.在内部电路进行时钟校准时,不能对时钟及日期寄存器进行访问,否则会打乱寄存器中的数据.为了避免这种情况的产生,可以采取2种方法:第一种方法是采用校准中断.如果校准中断开放,则在每一个校正周期结束后都会发出中断信号,表明有多于999MS的时间可用于读取有效的时钟及日历数据.在中断响应完毕后,必须读取寄存器C,将中断标志清0.第二种方法是将寄存器A中的校准标志位UIP来判断校准周期是否正在进行中.在寄存器A中有一个校准进行标志位UIP,它是一个状态标志位,它在每秒针产生一个高电平.当它

26、为1时,表明校准周期马上要进行,此时不能读取时钟及日期数据;当它为0时,表明有244微秒的时间可用来读取数据,因此中断服务程序读取数据时应避免超过244微秒.2.3 1602液晶显示模块1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。2.3.1 原理及引脚说明VDD 接5V正电源VSS 地电源 V0 液晶显示器对比度调整端,接

27、正电源时对比度最弱,接地电源时对比最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E 端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。2.3.2 主要技术参数 1602的主要技术参数见表2-5:表2-5 1602液晶显示屏主要技术参数2.4 温度传感器DS18B20

28、2.4.1 DS18B20的主要特性(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0+5.5 V。(4)测温范围:-55 +125 。固有测温分辨率为0.5 。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温度。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2.4.2 DS18B20工作原理DS18B20的读写时

29、序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图2-3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固图2-3 测温原理图定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计

30、数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3-1中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。2.4.3 DS18B20有4个主要的数据部件 (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B2

31、0中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。(3)DS18B20温度传感器的存储器:DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 (4)配

32、置寄存器:该字节各位的意义如表2-6:表2-6 配置寄存器结构 低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式,还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率。2.4.4 DS18B20使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系

33、统程序设计时,对DS1820操作部分最好采用汇编语言实现。(2) 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波

34、形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。第3章 万年历电路工作原理该系统原理图可分为六个部分。分别是单片机最小系统外接模块、调时按键和指示模块、显示电路模块、定时报警模块、电源电路模块、温度传感器和红外接收模块、时钟芯片电路模块。如图3-1所示。图3-1 万年历原理框图单片

35、机最小系统外接模块:10UF电解电容C3,按键S6和R1组成复位电路。当S6按下时,R1上产生压降使单片机9脚产生高电位,使单片机复位。11.0592M晶振C3和C4组成晶振电路。调时按键和指示模块:指示模块本系统设置了5个功能选择键均采用独立式按键,在P1口作为调时按键输入口,在编程软件是采用查询方式。调时指示发光二极管阳极连在一起接5v电源,阴极经510限流电阻(保证流过发光二极管的电流在515mA范围内)接P12口。当有按键按下时,调时指示发光二极管亮,进入按键操作状态。时钟芯片电路模块:该系统中采用DS12C887,对年、月、日、时、分、秒进行计时,同时显示年、月、日、时、分、秒等信息

36、,还具有时间校准功能。地址数据复用口与单片机的P2口相连,其他功能控制引脚与单片机的P3口相应引脚相连。显示电路模块:该系统中采用液晶显示模块1602来显示时间、温度。单片机P0口与1602液晶显示模块的数据口相连,1602的读写使能端接地。功能控制端与单片机的P3口相应管脚相连。温度传感器:数据接口与单片机的P1.0相连红外接收模块:红外接收采用HRM0038红外接收器。它内部包含了红外光接收、电信号放大、整形、解调等电路,不需要任何外接元件,可独立完成从红外线接收到输出兼容TTL电平信号的所有工作,没有红外输入信号时为高电平,接收到红外信号时为低电平第1脚为GND,第2脚为5V,第3脚为O

37、UT输出。定时报警模块:该系统利用DS12C887的定时功能和单片机的外部中断1实现报时,当当前时间与设定的定时时间一致时,DS12C887的IRQ引脚输出脉冲,单片机外部中断1与IRQ引脚相连,就会响应外部中断,通过软件编程就可控制蜂鸣器报警。还可通过编程控制报警时间和整点报时等。蜂鸣器是一种采用直流电压供电的一体化结构的电子讯响器。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。当P1.1为“1”时蜂鸣器不响,当P1.1为“0”时蜂鸣器响。电源电路模块:V以上的电压经7805稳压块输出稳定的+5V电压,其中780

38、5三个管脚的功能是“1”进“2”地“3”出。输出后经10UF电解电容滤波,使+5V电压更加稳定可靠,R6,D2串联组成电源指示电路。第4章 硬件电路的设计4.1 电路板的绘制4.1.1电路板的绘制步骤(1) 电路原理图的设计:电路原理图的设计主要是Protel99se的原理图设计系统来绘制电路原理图。在这一过程中,要充分的利用Protel99se所提供的各种原理图绘图工具、各种编辑功能,来实现设计目的。(2)印制电路板的设计:印制电路板的设计主要是针对Protel99se的另一个重要的部分PCB而言的,在这个过程中,我们借助Protel99se提供的强大功能实现电路板的版面设计,完成高难度的工

39、作。4.1.2 电路板的绘制的注意事项(1)绘制原理图合理选用元件,管脚标号要与元件封装对应。(2)元件库和封装库中找不到元件要根据事物自定义元件。(3)进行电路布局时要考虑好特殊元件的位置。例如:按键和较高的元件不能布置在液晶屏下面,电位器和电源插头要靠边放置。(4)在手动布线时实在补偿不了就要用到飞线采用跳线(5)需要在元件引角之间走线时选用长短不对称的焊盘往往事半功倍。元件焊盘孔的大小要按元件引脚粗细分别编辑确定,原则是孔的尺寸比引脚直径大0.2-0.4毫米(6)大面积铺铜无论是做成网格或是铺实铜,要求距离板边大于0.5mm.对网格的无铜格点尺寸要求大于15mil15mil4.2电路板的

40、制作4.2.1电路板的制作过程(1)将电路图打印在转印纸上。(2)按设计好的尺寸切割好电路板。(3)将打印好的电路图紧贴在割好的电路板上,待转印机的温度上升到120度时进行热转印。(4)将电路板放入Fe2(So4)3溶剂里,腐蚀掉多余的铜,并将焊孔打通。4.2.2元件的检测(1)电阻:用万用表测量电阻的阻值,并与读数加以比较,检测其是否符合要求。(2)电容:用数字万用表测量电容电阻。其中,磁片电容的电阻必须为无穷大。电解电容的电阻要求在兆欧以上。(3)三级管:用万用表Hfe档测量电压放大系数。管脚顺时针方向依次为:EBC/BCE。(4)LED发光二极管: 用万用表测量到地电压(1.6V),而且

41、二极管亮灯。4.2.3电路板的焊接顺序(1)焊接电阻和跳线:在电阻焊好后,用斜口钳将电阻管脚剪下放好,用于跳线的焊接。焊接时,应对应pcb板图确保焊接正确无误。 (2)晶振、磁片电容和芯片底座的焊接。(3)安键和发光二极管的焊接:焊接前应先判断发光二极管的极性。(4)电解电容、电源插座、8550、ds18b20、蜂鸣器的焊接。 (5)红外接收模块HRM0038和稳压块7805的焊接。(6)液晶模块的焊接。4.2.4电路板的焊接的注意事项(1)为了使焊件和焊锡之间有良好的接触,焊件表面必须保持清洁。在焊接前必须把氧化膜清除干净,否则将无法保证焊接质量。(2)要使用合适的助焊剂。不同的焊接工艺应使

42、用不同的助焊剂。在焊接电子线路板等精密电子产品的时候,为了使焊接可靠稳定,通常采用松香作为助焊剂。一般使用酒精将松香溶解成松香水使用第5章 软件设计 本章在对设计软件时,要综合各模块的特点、原理等。特别是在读时间、调时间、定时、设温度、调温度、初始化、显示时间等要依据其芯片的时序、设置等。5.1 时钟芯片DS12887读写时序 时钟芯片DS12887读写时序如图5-1和图5-2所示:图5-1 DS12887读时序图图5-2 DS12887写时序图5.2 液晶显示模块16025.2.1基本操作时序如图5-3、5-4:读状态:输入:RS=L,RW=H,E=L 输出:D0D7=状态字写指令:输入:R

43、S=L,RW=L,D0D7=指令码,E=高脉冲 输出:无读数据:输入:RS= H,RW=H,E= H 输出:D0D7=数据写数据:输入:RS= H,RW=L,D0D7=数据,E=高脉冲 输出:无图5-3 1602的读操作时序图5-4 1602的写操作时序5.2.2 初始化设置(1) 显示模式的设置表5-1 显示模式指令设置(2)显示开关及光标设置表5-2 显示指令码功能5.3 DS18B20的时序图DS18B20操作顺序:初始化,ROM操作命令,暂存存储器操作命令;在ROM操作命令中可用:读ROM命令(33H)和搜索ROM命令(F0H)来获取传感器时序。(1) DS18B20的复位时序如图5-

44、5所示:图5-5 DS18B20的复位时序(2) DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。如图5-6所示:图5-6 DS18B20的读时序(3) DS18B20的写时序如图5-7所示:对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。图5-7 DS18B20的写时序第6章 设计流程图及程序6.1 按键子程序开始置位P3口结束显英语子程序显汉字子程序显数字子程序P3.5口是否为0P3.3口是否为0YYYNNNP3.4口是否为0按键子程序:首先,查询P3.3键是否按下,如果按下则转入相应的显示子程序,如果没有检查P3.4键是否按下,如果按下则转入

45、相应的显示子程序,如果没有检查P3.5键是否按下,如果按下则转入相应的显示子程序,如果没有则结束该按键子程序,返回。但由于JNB跳转指令的范围太短,故进行以下修改,让起先跳转到某处,再由该处进行长跳转。保证不出其范围。按键子程序流程图如图6-1所示:图6-1 按键子程序流程图由其流程图,得其子程序如下:anjian: JNB P3.3,xianshu ;按键子程序JNB P3.4,xianhanJNB P3.5,EnglishRETxianshu: LJMP xianshuzuoxianhan: LJMP xianhanzuoEnglish: LJMP Englishzuo6.2 延时子程序延

46、时子程序采用通用的一秒延时子程序。由于单片机选用的晶振为11.592,所以一个指令码大约为1u,所以一秒的时间大约是100 000次,即8250250。故得其子程序如下:DELAY: MOV R7,#8 ;延时子程序 DEL1: MOV R6,#250 DEL2: MOV R5,#250 DJNZ R5,$ DJNZ R6,DEL2 DJNZ R7,DEL1 RET 6.3 送指令子程序和送数据子程序在ACM12864模块中,指令放在以3800H为地址开始的一段存储区,数据放在以7800H为地址开始的一段存储区。故需将单片机发出的指令和数据分别送往其对应的寄存器地址。因而得其子程序如下: OU

47、TI: PUSH DPH ;送指令子程序 PUSH DPL MOV DPTR,#3800H MOVX DPTR,A POP DPL POP DPH RET OUTD: PUSH DPH ;送数据子程序 PUSH DPL MOV DPTR,#7800H MOVX DPTR,A POP DPL POP DPH RET6.4 半屏送一页数据代码子程序在ACM12864中,使用1616点阵字模,而字模由专门的字模提取程序而得。但每次传送8字节,所以又分为两个816。在ACM12864中,以8为列,16为行,每次一行送完再送下一行。整个显示屏又分左右两个半屏,每屏6464。综上所述,结合附录A原理图,得

48、其子程序流程图如图6-2所示: 开始设置送数次数在代码中依照次数查找对应的数,并将该数送入A调送数据子程序,送出A中数据次数加1余数是否为零次数除以16调延时子程序调按键子程序一页数据是否送完结束NYYN图6-2 半屏送一页数据代码子程序流程图结合流程图,得其程序如下:song1hang: PUSH ACC ;送一页数据子程序 MOV R1,#00H ;设置第0个代码号 XIAN1: MOV A,R1 MOVC A,A+DPTR ;查找对应的数码 LCALL OUTD ;送数码 NOP INC R1 ;准备下一轮查询 MOV B,#10H MOV A,R1 DIV AB JB B,XIAN2

49、;看是否够一个字的代码? LCALL DELAY LCALL anjian XIAN2: CJNE R1,#3EH,XIAN1 LCALL DELAY LCALL anjian POP ACC RET6.5 全屏显示子程序由于全屏显示数据或汉字或英语子程序的原理相同,只是字模不同,故共用一个子程序流程图,所以把它们列在一起一并说明,程序以送数据子程序为例。在设置好一页的起始行和起始列之后,调送一页代码子程序,将对应的显示字模送入显示屏。先送左半屏,后送右半屏。依此,得其流程图和送数据子程序流程图6-3:置左半屏显示起始页,调送指令子程序送该页代码首地址置该页显示起始行,调送指令程序置显示起始列

50、,调送指令子程序调送一页代码程序置下一页代码首地址页地址增1置该页显示起始行是否送够两页结 束开 始置右半屏显示起始页,调送指令子程序送该页代码首地址置该页显示起始行,调送指令子程序置显示起始列,调送指令子程序调送一页代码子程序置下一页代码首地址页地址增1置该页显示起始行是否送够两页YYNN图6-3 全屏显示数据或汉字或英语子程序xianshuzuo:MOV R2,#01H ;显数左半屏 MOV DPTR,#TAB1Z ;送代码首地址 MOV A,#0C8H ;置显示起始行 LCALL OUTI LCALL DELAYxianshuzuo0:MOV A,#41H ;置显示起始列 LCALL O

51、UTI LCALL DELAY LCALL song1hang INC R2 MOV DPTR,#TAB2Z ;送下一页代码首地址 MOV A,#0D0H ;置显示起始行 LCALL OUTI LCALL DELAY CJNE R2,#03H,xianshuzuo0 ;是否送完两页?是送右半屏,不是继续左屏xianshuyou:MOV R3,#01H ;送右半屏 MOV DPTR,#TAB1Y ;送首地址 MOV A,#0C8H ;置显示起始行 LCALL OUTI LCALL DELAYxianshuyou0:MOV A,#41H ;置显示起始列 LCALL OUTI LCALL DELAY

52、 LCALL song1hang ;调一页子程序 INC R3 MOV DPTR,#TAB2Y ;送下一页代码首地址 MOV A,#0D0H ;置显示起始行 LCALL OUTI LCALL DELAY CJNE R3,#03H,xianshuyou0 ;右半屏是否送完两页 LCALL DELAY LCALL DELAY LCALL anjian ;看有无按键 SJMP xianshuzuo ;无按键继续显示数 第7章 调试将程序写入单片机中,进行调试。如附录原理图,按键S7为复位键,按下该键时,系统复位。按键S4为校时开关,按下该键是进行校时。S5为校时前进开关,当校时开关S4按下时,按下S

53、5时可依次向前对年、月、日、时、分、秒位置的变化,与S6加一键和S1减一键一起可对年、月、日、时、分、秒的校准。S4为校时后退开关,当校时开关S4按下时,按下S2时可依次向后对年、月、日、时、分、秒位置的变化,与S6加一键和S1减一键一起可对年、月、日、时、分、秒的校准。按键S3为定时键,按下该键可对时间进行定时。按上述说明分别对校时,定时,整电报时进行调试,直到成功为止。结论/展望通过近三个月的设计过程,经过不懈努力,在老师和同学们的大力帮助下,我终于完成了这次毕业设计,并且成功制作出电子产品。但由于本人还有待于学习,无论是软件还是硬件,仍有许多需要改进和完善的地方,也有许多可以扩展的地方。

54、这次毕业设计给我的感受很深刻,总结起来有一下几个方面:通过对万年历的设计制作,我翻阅了大量的书籍,找与之相关的内容,使我学会了如何查找资料,找那些资料的能力,同时通过上网查找,使我找到了好多关于器件资料的网站,这样对以后的学习会有很大的帮助。系统全面的回顾了大学三年所学的课程.使我以前学过的理论知识应用在具体的电子产品制作上,锻炼了自己的实际动手能力,提高了自己分析,设计电路的能力。不仅如此,在这一过程中,我更加熟练运用Protel99se这一强大电路设计软件,为以后的学习和工作奠定了坚实的基础。同时我对单片机的知识也有了更进一步的学习和掌握。虽然这次的设计任务较简单,但真正做一个板子不是想象

55、中的那么简单,在实际设计过程中要考虑很多的因素。同时在设计原理图时我加上了可直接下载到板子上的下载器,使得89S51芯片不必反复插拔,从而起到保护89S51芯片的作用,也节约了使用者的方便。从对万年历的设计制作过程,使我明白了自己还有很多的不足,特别是实际运用能力还不是很强,这就要求自己在今后的工作和学习中加强这方面的练习,争取达到理论和实际的结合,为今后的工作打下坚实的基础。这些认识使我们在将来的工作和学习当中都会有很大的帮助。在往后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识补充最新的知识。毕业设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及严谨的作风,提高

56、了交流沟通和团体协作能力。这些对我以后的工作都非常有帮助的。作为一个即将就将步入社会的大学生来说,提高自己的动手能力是很重要的,相信在走进社会以后,经过我的不断努力,一定会使得自己的能力更加充实。致谢我很荣幸在大学的三年内老师们对我的帮助和关怀,他们教会我的不仅只是知识,更多的是做人,我感谢他们三年来对我的栽培。我也非常感谢老师在整个毕业设计过程给予我的支持和帮助。通过老师耐心的讲解使我对课题由逐步加深了解,并在老师的指导下写下了论文。老师用深入浅出的方法给我讲解,使我很快掌握了许多新的知识,更重要的是使我学到了许多进行科学研究的思想和方法。这些思想和方法将使我在以后的工作、生活中受益无穷。老师们那种对工作勤勤恳恳、认真负责,待人和蔼可亲的精神深深的感染了我。由衷的感谢老师们对我的帮助并祝老师们工作顺利。其次,感谢我的同学。他们能在我遇到困难时及时给予我真诚的帮助,为我解决难题。还要感谢参考文献中作者对著作的倾心编著,正是有了他们的著作,我的论文及电路制作才成功按时完成。本次设计实践过程中遇到了很多困难,我借鉴了一些网络上的优秀资源,在此表示感谢。参考文献1 张毅刚,彭喜元,姜守达,乔立岩.新编MCS51单片应用设计.2008.4,第3版2 赵晶 电路设计与制版Protel 99高级应用.2000.11,第1版3 张义和,王敏男,许宏昌,余春长.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!