1、方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。综上所述,选择采用AT89S52作为主控制系统更适合设计。AT89S52 单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准 的80C51指令集兼容。片内程序存储器允许
2、重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位 CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。AT89S52的主要特性如下:1、兼容MCS51产品2、8K字节可擦写1000次的在线可编程ISP 闪存3、4.0V到5.5V的工作电源范围4、全静态工作:0Hz 24MHz5、3级程序存储器加密6、256字节内部RAM7、32条可编程I/O线8、3个16位定时器/计数器9、8个中断源10、UART串行通道11、低功耗空闲方式和掉电方式12、通过中断
3、终止掉电方式13、看门狗定时器14、双数据指针15、灵活的在线编程(字节和页模式) 1.2 显示模块选择方案方案一:采用LED数码管动态扫描,虽然LED数码管价格适中,对于显示数字也比较合适,然而需要显示多位数字和字母时,编程就会变得很复杂,而且占用的单片机口线多。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用LCD液晶显示屏, LCD液晶显示屏尽管价格比较贵,但它的显示功能强大,可显示大量字符,显示多样,清晰可见, ,需要的接口线少。所以综合考虑,采用方案三的LC
4、D液晶显示屏作为显示更适合本设计。 1.3 时钟芯片的选择方案直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.综上所述,为显示时间更准确,实现功能更多,本设计采用DS1302时钟芯片提供时钟。 1.4 温度传感器的选择方案使用热敏电阻作为传感器,用热敏电阻与一个相
5、应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。为提高测量精度,降低成本,所以本设计采用数字式温度传感器DS18B20测量温度。 1.5 电路设计最终方案综上各方案所述,对此次作品的方案选定: 采用AT89S52作
6、为主控制系统; DS1302提供时钟;数字式温度传感器;LCD液晶显示屏作为显示模块。2 系统设计说明2.1 硬件模块图系统的硬件模块图如图2.1所示。DS1302时钟模块(89S52)主控模块键盘输入电路显示电路峰鸣器闹铃模块DS18B20温度模块图2.1 系统硬件模块图模块说明:1、DS1302时钟模块可以输出其当前日期、时间及星期2、键盘输入电路可以调整日期,时间及公农历的转换3、DS18B20温度模块可以测量当前室内的温度4、峰鸣器闹铃模块可以做整点报时5、显示电路则显示当前的系统运行情况 2.2 系统原理本系统是由AT89C51单片机为控制核心;时钟电路由DS1302提供,它可以对年
7、、月、日、周日、时、分、秒进行计时,具有闰年补偿功能;温度的采集由DS18B20构成;LCD1602用来显示数据;键盘输入电路可以调整日期,时间及公农历的转换。通过用C语言1编程,从DS1302寄存器中读取年、月、日、周日、时、分、秒等数据信息;从DS18B20寄存器中读取温度信息,再编程将以上信息送到LCD1602显示出来。同时,通过键扫描,编程实现调整日期,时间及公农历的转换。2.3 系统的软件流程图系统的软件流程图如图2.2所示。开始初始化读、写日期、时间和温度分离日期时间温度显示值键扫描子程序显示子程序闹铃子程序结束图2.2 软件流程图3 系统单元模块设计 3.1 主控模块(AT89S
8、52模块)目前,在我国比较流行的就是美国ATMEL公司的89C51它是一种带Flash ROM的单片机,事实上,89C51目前正在用89S52代替。本系统就是以AT89S52作为主控芯片。图3.1 AT89S52封装图AT89S52采用40Pin封装的双列直接DIP结构,图4.1是它的封装图,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:1、Pin20:接地脚。2、Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。3、Pin19:时钟XTAL1脚,片内振荡电路的输入端。4、
9、Pin18:时钟XTAL2脚,片内振荡电路的输出端。时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。输入输出(I/O)引脚:Pin32-Pin39为P0.0-P0.7输入输出脚,Pin1-Pin8为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚,这些输入输出脚的功能阐述如下:P0口(32脚39脚):是双向8位三态I/O口,在外接存储器时,与地址总
10、线的低8位及数据总线复用,能以吸收电流的方式驱动8个TTL负载。P1口(1脚8脚):是8位准双向I/O口。由于这种借口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个TTL负载。P2口(21脚28脚):访问外部存储器时,它可以作为高8位地址总线送出高8位地址。P2可以驱动(吸收或输出电流)4个TTL负载。P3口(10脚17脚):是8位准双向I/O口,P3口能驱动(吸收或输出电流)4个TTL负载。P3口除了作为一般的准双向通用I/O口使用外,每个引脚还有第二功能。P3口的8条线都定义有第二功能6,如表4.1所列。表3.1 P3口的第二功能表引脚第二功
11、能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断0请求输入端,低电平有效)P3.4T0(定时器/计数器0的技数脉冲输入端)P3.5T1(定时器/计数器0的技数脉冲输入端)P3.6WR(片外数据存储器写选通信号输出端,低电平有效)P3.7RD(片外数据存储器写选通信号输出端,低电平有效) Pin9:RESET/Vpd复位信号复用脚,当单片机通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟
12、写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,单片机复位后的状态如下:P0P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断,串行通讯的波 特率不加倍;PSW=00H,当前工作寄存器为0组。 Pin30:ALE/PROG当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于
13、识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,PROG将用于输入编程脉冲。Pin29:PESN当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储
14、器指令。显然,对内部无程序存储器的8031,EA端必须接地。3.2 DS1302时钟模块3.2.1 DS1302简介DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM。通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒分时日月年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线。1.RES复位,2.I/O数据线,3.SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作
15、时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由DS1202改进而来,增加了以下特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器,备份电源可由大容量电容(1F)替代。它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。主要性能如下:1、时钟具有能计算2100年之前的秒,分,时,日,星期,月,年的能力,还有闰年调整的能力。2、31*8位暂存数据存储RAM3、串行I/O口方式使得管脚数量最少4、宽范围工作电压:2.0V5.5V5、工作电流:2.0V时,小于300nA6、读/写时钟或RAM时,有两种传送方式:单字节传送和多字节传送
16、(字符组方式)7、8脚DIP封装或可选的8脚SOIC封装8、简单的3线串行I/O接口9、与TTL/COMS兼容(VCC=5V时)10、可选工业级温度范围:-40oC+85oC3.2.2 DS1302结构与工作原理3.2.2.1 引脚及功能表1、DS1302的脚功能如表3.2所示,引脚如图3.2所示引脚号引脚名称功能1Vcc2主电源引脚2,3X1,X2振荡源,外接32.768KHz晶振4RST接地5GND复位/片选端6I/O串行数据输入/输出端(双向)7SCLK串行时钟输入端8Vcc1备用电源表3.2 引脚功能图3.2 DS1302的引脚图3.2.2.2 工作原理串行时钟芯片主要由寄存器、控制寄
17、存器、振荡器、实时时钟以及RAM组成。为了对任何数据传送进行初始化,需要将RST 置为高电平且将具有地址和控制信息的8位数据(控制字节)装入移位寄存器。数据在SCLK的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。时钟脉冲的个数在单字节方式下为8加8(8位地址加8位数据),在多字节突发模式方式下为8加最多可达248的数据。 3.2.3 控制命令字节与寄存器1、控制命令字节控制命令字节的格式如表3.3表3.3 控制命令字节的格式表D7 D6 D5 D4D3D2 D1D0RAM/CKA4A3A2A1A0RD/ W控制字节的最高有效
18、位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。2、寄存器(1)历、时钟寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据为BCD码形式。其日历、时间寄存器及其控制字如表3.5所示。寄存器的选择由命令字而定,日历,时钟各个寄存器与控制字对照表如表3.4所示。最后一位RD/W为0表示要进行写操作,为1表示进行读操作。表3.5为主要寄存器命令字、取值范围以及各位内容对
19、照表。表3.4 日历、时钟寄存器与控制字对照表寄存器名称D7D6D5D2 RD/W秒寄存器分寄存器小时寄存器日寄存器月寄存器星期寄存器年寄存器写保护寄存器慢充电寄存器时钟突发寄存器表3.5 DS1302的日历、时钟寄存器表命令字 取值范围各位内容写操作读操作3080H81H0059CH10SECSEC82H83H10MINMIN84H85H0112或002312/2410A/PHR86H87H0128,29,30,3110DATEDATE88H89H011210MMONTH8AH8BH0107DAY8CH8DH010910YEARYEAR写保护寄存器8EH8FHWP慢充电90H91HTCSDS
20、RS时钟突发BEHBFH特殊位的说明:CH:时钟暂停位。当此位设置为1时,振荡器停止,DS1302处于低功耗空闲状态,这时芯片消耗电流将小于100NA;当此位为0时,振荡器启动,时钟开始启动。12/24:12或24小时方式选择位。为1时选择12小时方式,在12小时方式下,位5是AM/PM选择位,此位为1时表示PM。为0时选择24小时方式,在24小时方式下,位5是第2个小时位(2023时)。WP:写保护位。写保护寄存器的开始7位(06)置为0,在读操作时总是读出0。在对时钟或RAM进行写操作之前,位7(WP)必须为0,当它为高电平时,写保护位防止对任何其他寄存器进行写操作。TCS:控制慢充电的选择,为了防止偶然因素使DS1302工作,只有1010模式才能使慢速充电。DS:二极管选择位。如果DS为01,那么选择一个二极管;如果DS为10,则选择两个二极管;如果DS为11或00,那么充电器被禁止,与TCS无关。RS:选择连接在VCC2与VCC1之间的电阻,如果RS为00,那么充电器被禁止,与TCS无
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1