




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录引言1一 总体设计方案1.设计思路12.功能13.工作原理2二硬件方案1.电源模块3(1)基本原理3(2)电源变压器3(3)整流滤波电路3(4)三端集成稳压器32.主机模块 3(1)AT89S52简介3(2)AT89S52引脚功能4(3)AT89S52 最小系统53.时钟模块7(1)时钟芯片7(2)DS1302的结构及工作原理8(3) DS1302的应用104.显示模块13(1)液晶显示器的结构与特点13(2)液晶显示器的分类14(3)液晶显示器的应用145.总图18三软件方案1.流程图192.程序19(1)主程序19(2)液晶显示子程序22(3)ds1302子程序233.仿真图23四 论文小结24五 参考文献24摘要在广泛的自动控制领域中,需要有类似微型计算机功能的支持,但常常又不可能把微型计算机安装在设备里面。因此微型控制器的一个重要分支(单片机)应运而生。随着单片机技术的发展,有许多新一代的单片机已经在片内集成了多路A/D转换通道,大大简化了连接电路和编程工作。单片机以其稳定可靠、体积小、功耗低、价格低廉的特点广泛应用于多种计算机控制功能的现场控制领域和实时控单片机控制系统。目前企业和学校较多的采用微机控制技术,广泛应用于各种自动控制、检测技术、测量技术等领域。关键词:单片机、A/D转换、时钟芯片、温度传感器、液晶引言在我们生活的世界到处都可以看见各种各样的钟表。而我在学校上课时也做过时钟但是那只能单一的显示时间,至于其他就不能显示了。所以我就萌发了做一个完整的时钟系统。最初我本想只用一个单片机和液晶做一个时钟,但是那样就会出现许多的问题。例如,时间不准确,断电后时钟就停止了运行。于是我想到了时钟集成电路,并最终选择了DS1302时钟集成电路。虽然从来没有用过时钟芯片但是那也是对自己的一种考验吧!至于温度显示我看到了许多钟表上都有所以自己也就尝试做了一个。一 总体设计方案1设计思路用单片机读取DS1302的时钟数据,并在液晶上显示读出的时钟数据。通过按键可以调整时间,并把调整的时间数据写入DS1302。在采用LM35温度传感器进行温度的测量。最后用模数装换芯片转换成数字量并在液晶上显示。2功能通过单片机的控制,在液晶显示器上显示日期,星期,时间,以及温度,带有闹钟功能。有闰年补偿的功能。可以通过按键调整日期,星期,时间,并可以设定闹钟时间,按键K1为调整时间的按键按一下选择年份调整 ,两下选择月份调整,三下选择天数调整,四下选择小时调整,五下选择分钟调整,六下选择时钟调整。按键K2是对选择的日期,星期,时间,闹钟进行调整。K3一下打开闹钟同时进行闹钟的小时设定,两下进行分钟设定,三确认设定的时间,四下退出闹钟模式。当闹钟定时时间到蜂鸣器会进行半秒响半秒停,并且持续一分钟如果当中按下退出闹钟模式蜂鸣器将停止。3工作原理本电路由89S52单片机,时钟集成电路DS1302,12864液晶,温度传感器LM35,模/数装换芯片ADC0809,三端稳压集成电路 LM7805及电阻,电容等外围器件组成。电路用7805三端稳压集成块作为电源输出直流+5V。DS1302时钟集成块为单片机提供当前的日期,时间等信息。温度由温度传感器LM35采集使温度的变化变成电压的变化,然后通过模数装换集成电路adc0804装换成数字量送入单片机处理。最后由单片机把信息通过液晶显示出来。原理框图:二硬件方案1 电源模块(1)基本原理直流稳压电源一般由电源变压器T、整流滤波电路及稳压电路所组成,基本框图如下。各部分的作用:(2)电源变压器作用是将电网220V的交流电压变换成整流滤波电路所需要的交流电压。(3)整流滤波电路:整流电路将交流电压变换成脉动的直流电压。再经滤波电路滤除较大的纹波成分,输出纹波较小的直流电压。(4)三端集成稳压器:常用的集成稳压器有固定式三端稳压器与可调式三端稳压器。常用固定式集成稳压器有LM7805,它们的输出电压+5V。其芯片内有过渡、过热和安全工作区保护,最大输出电流为1.5A。电路如图2主机模块 (1)简介功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案(2)引脚功能MCS单片机都采用40引脚的双列直插封装方式。下图为引脚功能图 AT89S52引脚排列图VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。(3)最小系统时钟电路AT89S52 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2 可以不接,而从XTAL1 接入,如图12 所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图 11 内部振荡电路连接图 图12 外部振荡电路连接图复位和复位电路MCS-51单片机的复位电路如图所示。在RESET(图中表示为RST )输入端出现高电平时实现复位和初始化。 (a) (b) 复位电路在振荡运行的情况下,要实现复位操作,必须使RES 引脚至少保持两个机器周期(24个振荡器周期)的高电平。CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RES端电平变低。复位期间不产生ALE及PSEN信号。内部复位操作使堆栈指示器SP为07H,各端口都为1(P0-P3口的内容均匀0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。当RES引脚返回低电平以后,CPU从0地址开始执行程序。复位电路(a)为加电自动复位电路。复位电路(b)为人工复位电路。最小系统就是由AT89S52以及时钟电路和复位电路,如图最小系统3时钟模块(1)时钟芯片现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。 该芯片具有以下特点. 时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。年计数可达到2100 年。 有31*8 位的额外数据暂存寄存器 最少I/O 引脚传输,通过三引脚控制 工作电压:2.0-5.5V 工作电流小于320 纳安(2.0V) 读写时钟寄存器或内部RAM(31*8 位的额外数据暂存寄存)可以采用单字节模式和突发模式 备用电源可采用电池或者超级电容(0.1F以上),可以用老式电脑主板上的3.6V 充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F 就可以保证1小时的正常走时。DS1302 在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。(2) DS1302的结构及工作原理 DS1302 包括时钟/日历寄存器和31 字节(8 位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口。实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,可选择12 小时制和24 小时制,可以设置AM、PM。只通过三根线进行数据的控制和传递。通过备用电源可以让芯片在小于1MW 的功率下运作。引脚功能 图示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 工作原理主要工作原理图如Figure 1 所示:移位寄存器,控制逻辑,晶振,时钟和RAM。在进行任何数据传输时,必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK 上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现(也是一个字节),通过8 个脉冲便可读取一个字节从而实现串行输入与输出。最初通过8 个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,连续的8 个时钟脉冲可以进行8 位数据的写和8 位数据的读操作,SCLK 时钟的上升沿时,数据被写入DS1302,SCLK 脉冲的下降沿读出DS1302 的数据。8 个脉冲便可读写一个字节。在突发模式,通过连续的脉冲一次性读写完7 个字节的时钟/日历寄存器(注意时钟/日历寄存器要读写完),也可以一次性读写8328 位RAM 数据(可按实际情况读写一定数量的位,不必全部读写,两者的区别)。 DS1302的控制字节 控制指令:控制指令(8 位)如Figure2 所示:每个字节的传输是有控制字节指定的,控制字节的最高位Bit7 必须是1,如果是0,写入将被禁止,因此我们如果将这位置一,可以禁止写入。bit6 为0则指定对时钟/日历寄存器控制读写操作,为1则为RAM 区数据的控制读写操作,bir1bit5 指定相关寄存器待进行输入输出操作,最低位bit0 指定是输入还是输出,为0则为输入,相反则输入有效,输入输出根据脉冲的上升沿和下降沿串行进行(前面已经提到)。复位以及时钟控制:所有的数据传输在置一时进行(反复强调), 输入信号有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传送被初始化,允许对DS1302 进行操作。如果在传送过程中RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在Vcc2.5V 之前,RST 必须保持低电平。只有在SCLK 为低电平时,才能将RST 置为高电平。I/O 为串行数据输入输出端(双向)。SCLK 始终是输入端。 DS1302的寄存器突发模式:上面已经提到过的突发模式可以指定为任何时钟/日历或RAM 的寄存器,与以前一样,位6 指定时钟或RAM,位0 指定读或写。读取或写入的突发模式开始在位0 地址0 。对于DS1202 来说,在突发模式下写时钟寄存器,起始的8 个寄存器用来写入相关数据,必须写完。然而,在突发模式下写RAM 数据时,没有必要全部写完。每个字节都将被写入而不论31 字节是否写完。(3) DS1302的应用如图4.显示模块液晶显示器(LCD)是一种低功耗的显示器件,它广泛应用于工业控制消费电子及便携式电子产品中.它不仅省电,而且能够显示大量的信息,如文字、曲线、图形、动画等,其显示功能比数码管强大了许多.(1)液晶显示器结构与特点结构不同的应用领域中液晶显示器的性能和结构可能会有一些差别,但其基本形状和结构却是大同小异.不同类型的液晶显示器件组成可能会有不同,但是所有液晶显示器件都可以认为是由两片透明导电电极和它们中间所夹的一个液晶层构成.在电极外表面还可能贴装上偏振片.特点 低压低功耗:工作电压为3V5V,工作电流只有几个A/cm. 被动显示:液晶本身不发光,而是靠调制外界光进行显示.因此适合人的视觉习惯,不易使人眼睛疲劳. 显示信息量大:LDC显示器的像素可以做得很小,相同面积上可容纳更多信息. 没有电磁辐射:在显示期间不会产生电磁辐射,对环境无污染,有利于人体健康. 寿命长:LCD器件本身无老化问题,寿命很长.(2)液晶显示器的分类液晶显示器按显示图案的不同通常可分为笔段型LDC、字符型LCD和点阵图形LCD3种.笔段型笔段型是以长条状作为基本显示单元显示.该类型主要用于数字显示,也可用于显示西文字符或某些字符.字符型字符型液晶显示器模块是专门用来显示英文和其他拉丁文字母、数字、符号等的点阵型液晶显示模块.点阵图形型 点阵图形型是在一平板上排列多行多列的矩阵形式的晶格点,点的大小可根据显示的清晰度来设计.它根据要求基本可以显示所有能显示的字母、数字、符号、汉字、图形、甚至是动画.(3)12864液晶显示器的应用DM12864J是一种图形点阵液晶显示器。它主要采用动态驱动原理由行驱动控制器和列驱动器两部分组成了128(列)64(行)的全点阵液晶显示。如图所示此显示器采用了COB的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。特性工作电压为+5V10%,可自带驱动LCD所需的负电压。全屏幕点阵,点阵数为128(列)64(行),可显示8(/行)4(行)个(1616点阵)汉字,也可完成图形,字符的显示。据读/写等指令。 管脚号功能电平说明1VSS0V逻辑电源地。2VDD5.0V逻辑电源正。3V0LCD驱动电压,应用时在VEE与V0之间加2K可调电阻。4D/IH/L数据指令选择,高电平:数据将送入显示RAM;低电平:数据将送入指令寄存器执行。5R/WH/L读写选择,高电平:读数据;低电平:写数据。6EH.H/L读写使能,高电平有效,下降沿锁定数据。7DB0H/L数据输入输出引脚。8DB1H/L数据输入输出引脚。9DB2H/L数据输入输出引脚。10DB3H/L数据输入输出引脚。11DB4H/L数据输入输出引脚。12DB5H/L数据输入输出引脚。13DB6H/L数据输入输出引脚。14DB7H/L数据输入输出引脚。15CS1H/L片选择信号,低电平时选择前64列。16CS2H/L片选择信号,低电平时选择后64列。17RETL复位信号,低电平有效。18VEE-10VLCD驱动电源。控制1) 读状态字Busy0On/offrst0000状态字是MPU了解LCM(液晶显示模块)当前状态,或LCM向MPU提供其内部状态的唯一的信息渠道。2)显示开关设置0011111D该指令设置显示开/关触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示屏上的显示状态。3)显示起始行设置11L5L4L3L2L1L0该指令设置了显示起始行寄存器的内容。LCM通过CS的选择分别具有64行显示的管理能力,该指令中L5L0为显示起始行的地址,取值在03FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。4)页面地址设置10111P2P1P0该指令设置了页面地址X地址寄存器的内容。LCM将显示存储器分成8页,指令代码中P2P0就是要确定当前所要选择的页面地址,取值范围为07H,代表第18页。该指令规定了以后的读/写操作将在哪一个页面上进行5)列地址设置01C5C4C3C2C1C0该指令设置了Y地址数计数器的内容,LCM通过CS的选择分别具有64列显示的管理能力,C50=3FH(164)代表某一页面上的某一单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,Y地址计数器不必每次都设置一次。6)写显示数据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加一。页面地址的设置和列地址的设置将显示存储器单元唯一地确定下来,为后来的显示数据的读/写作了地址的选通。 接口电路5.总图(1)原理图(2)PCB图三软件方案1.流程图2程序(1)主程序#include#includehead.h/定义变量和子程序#include_12864.h/12864显示#includeds1302.h/ds1302时钟/*主函数*/main()Init1302(); InitLCD();Inti_main();while(1)adc();donetime(); ShowTime();key(); Showniao();show();/*按键处理*/void key()/*时间调整*/ if(k1=0&(num=0|num=3) k1_time+;if(k1_time=10|k1_time%80=0)vlu=(vlu+1)%7;switch (vlu)case 0:flag_WEE=0;break;case 1:flag_YEA=1;break;case 2:flag_MON=1;flag_YEA=0;break;case 3:flag_DAY=1;flag_MON=0;break;case 4:flag_HOU=1;flag_DAY=0;break;case 5:flag_MIN=1;flag_HOU=0;break;case 6:flag_WEE=1;flag_MIN=0;break;default:break; else k1_time=0;/*时间+*/ if(k2=0) k2_time+;if(k2_time=8|k2_time%10=0) if(vlu!=0)switch (vlu)case 1:year+;if(year=100)year=0;break;case 2:month+;if(month=13)month=0;break;case 3:day+;if(runnian()=0&day=ping_tianmonth)day=0; if(runnian()=1&day=run_tianmonth)day=0; break;case 4:hour+;if(hour=24)hour=0;break;case 5:minute+;if(minute=60)minute=0;break;case 6:week+;if(week=8)week=1;break;default:break; SetTime();if(num!=0&num!=3)switch(num)case 1:shi+;if(shi=24)shi=0;break;case 2:fen+;if(fen=60)fen=0;break; else k2_time=0;/*时间显示*/void ShowTime()ShowSecond();ShowMinute();ShowHour();Showweek();ShowDay();ShowMonth();ShowYear();/*闹钟显示*/void Showniao()if(!flag_SHI|half_s)&flag_NIAO)ShowASC(6,64,shi/10+0x30);ShowASC(6,72,shi%10+0x30);elseShowASC(6,64,0x3a);ShowASC(6,72,0x3a); if(!flag_FEN|half_s)&flag_NIAO)ShowASC(6,88,fen/10+0x30);ShowASC(6,96,fen%10+0x30);elseShowASC(6,88,0x3a);ShowASC(6,96,0x3a); /*判断2000-2099中的闰年*/bit runnian(void) if(year%4=0)flag_run=1;elseflag_run=0;return flag_run;/*温度显示*/void adc(void)uint adc_data;adc_data=P1;adc_data=adc_data*10/51;ShowASC(0,80,adc_data/10+0x30);ShowASC(0,88,adc_data%10+0x30);/*初始化*/void Inti_main(void)EA=1;TMOD=0x01;TH0=-50000/256;TL0=-50000%256;ET0=1;TR0=1; /*闹钟铃声*/void show(void)if(hour=shi&minute=fen&Ms50=9&niao_hao)LING=0;if(hour=shi&minute=fen&niao_hao)ShowASC(6,120,0x3d);if(Ms50=10)Ms50=0;half_s=!half_s;if(Ms50=0)LING=1;ShowASC(6,120,0x3a); /*timer0中断处理*/void time0() interrupt 1 TH0=-50000/256;TL0=-50000%256;Ms50+;(2)液晶显示子程序#ifndef _LCM12864_2009_4_1_#define _LCM12864_2009_4_1_/*选择屏幕*/void SelectScreE(uchar screE) switch(screE) case 0:CS1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全培训软件课件
- 应急与安全培训演练总结课件
- 秋季腹泻自然病程规律与预后影响因素
- 购买电子产品合同(标准版)
- 中策职业学校钱塘学校钱塘校区设备项目网络攻防实训室项目(一期)招标文件
- 2025年法律硕士测试卷含完整答案详解【名师系列】
- 住宅专项维修资金管理基础信息数据标准
- 养老院事故灾难应急预案范文(35篇)
- 2025年海绵城市建设与城市生态修复研究报告
- 2025年工业互联网平台安全多方计算技术深度分析与市场前景展望报告001
- 制药企业GMP生产质量管理培训资料
- 4.1.2+无理数指数幂及其运算性质课件-2025-2026学年高一上学期数学人教A版必修第一册
- 工程用工实名管理方案(3篇)
- 2025兴业银行福建总行国际业务部交易银行部招聘若干人备考考试题库附答案解析
- 1.3 几和第几(课件)数学苏教版一年级上册(新教材)
- 1.3加与减①(课件)数学沪教版二年级上册(新教材)
- (2025秋新版)苏教版三年级数学上册全册教案
- 2025年秋期人教版五年级上册数学全册核心素养教案(教学反思有内容+二次备课版)
- 《清华大学介绍》课件
- 自悯量表中文版
- DB32∕T 2975-2016 水运工程建设管理用表
评论
0/150
提交评论