多功能时钟设计报告免费1Word格式.docx
- 文档编号:19503507
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:24
- 大小:168.17KB
多功能时钟设计报告免费1Word格式.docx
《多功能时钟设计报告免费1Word格式.docx》由会员分享,可在线阅读,更多相关《多功能时钟设计报告免费1Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
关键字:
STC89C52RC单片机、LCD液晶显示、双电源供电、温度采集、非易失定时闹铃、生日提醒、重要节日提醒、整点报时
1、任务设计
(1)具有时间设置(小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。
(2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。
(3)利用键盘或其它方式切换,数字显示年、月、日、周次。
(4)利用手势或其它任意方式非接触停止闹钟。
(1)220VAC供电,具有测量、显示电网频率、电压有效值功能。
(2)产生0-100k方波,频率10Hz步进可调,峰峰值〉20V(100欧姆负载),频率可以键盘控制。
(3)断电后,可保存电压、频率测量值,断电时间,闹钟设置值等参数,可自动保存20次,系统来电后,无需手动设置,即可恢复正常工作。
(4)遥控设置闹钟、时间等参数。
2、方案论证
1)显示部分:
显示部分是本次设计的重要部分,一般有以下两种方案:
方案一:
采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。
而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。
方案二:
采用LCD显示。
LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。
鉴于上述原因,我们采用方案二。
数字时钟是本设计的核心的部分。
根据需要可采用以下两种方案实现:
方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;
若秒值达到60,则将其清零,并将相应的分字节值加1;
若分值达到60,则清零分字节,并将时字节值加1;
若时值达到24,则将时字节清零。
该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。
而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
方案采用Dallas公司的专用时钟芯片DS1302。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
3)闹铃部分
一般的时钟都带有闹铃,实现闹铃方式可采用以下两种:
方案一:
将闹钟信息存放在单片机自带的存储器中。
该方案成本低而且易于实现,但是一但掉电会造成之前信息的丢失。
方案二:
将闹钟信息存放在非易失储存器AT24C02中。
该方案即使在完全的掉电的情况下也不会造成闹钟信息的丢失,可避免方案一带来的麻烦。
4)电源模块
采用干电池作为系统电源。
但需经常换电池,不符合节约型社会的要求。
采用直流稳压电源作为系统主电源,干电池作为辅助电源。
不仅不需要经常更换电源,并且当市电停止时能够采用干电池做为系统电源,使用更加安全可靠。
基于以上分析,我们决定采用方案二
3、总体方案
1)工作原理:
本设计采用STC89C52RC单片机作为本系统的控制模块。
单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。
以LCD液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
2)总体设计:
总体框架图如图1
设
图1总体框架
4、系统硬件设计(单元电路设计及分析)
1)STC89C52RC单片机最小系统:
最小系统包括晶体振荡电路、复位开关和电源部分。
图2为STC89C52RC单片机的最小系统。
图2最小系统电路图
2)时钟模块:
时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:
RST复位、I/O数据线、SCLK串行时钟。
时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW,其接线电路如3
图3时钟电路
3)存储器模块:
存储器采用Atmel公司的AT24C02芯片。
该芯片带有2KB的串行COMSEEPROM,内部含有256个8位字节,可通过I2C总线对其接口进行读写操作,而且带有写保护功能。
其接线图如图4所示。
图4AT24C02存储器电路
4)LCD液晶显示模块:
LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。
通过编程实现自动关闭屏幕能够更有效的降低功耗。
LCD1602分两行显示,每行可显示多达16个字符。
LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。
其接线如图5
图5LCD显示电路
5)系统电源:
双电源设计是本设计的重点。
220V交流转5V直流稳压电源会更加安全、实用。
当没有交流电时,系统采用干电池供电;
当接通交流电时,则电路自动切换到交流电供电,并且对干电池进行慢性充电。
电路图如图6:
图6电源电路
5、单片机程序部分
BUFF_KEYEQU21H;
键盘键
BUFF_LED1EQU22H;
数码管显示缓存
BUFF_LED2EQU23H
BUFF_LED3EQU24H
BUFF_LED4EQU25H
BUFF_LED5EQU26H
BUFF_LED6EQU27H
BUFF_LED_LPEQU28H;
T0键盘显示扫描缓存
HOREQU30H;
小时值缓存
MINEQU31H;
分钟值缓存
SECEQU32H;
秒值缓存
F_BEEPBIT01H
LED_PORTEQUP0
DIG_PORTEQUP2
KEY_PORTEQUP2
SW1BITP2.7
SW2BITP2.6
SW3BITP2.5
SW4BITP2.4
SW5BITP2.3
SW6BITP2.2
BEEPBITP2.0
KEYBITP3.3
org000h
JMPmain
ORG00BH
JMPT0_INT
ORG100H
MAIN:
MOVSP,#40H
MOVPSW,#00H
MOVR0,#7FH;
初始化RAM区,
CLR_RAM:
MOVA,#00H
MOV@R0,A
DJNZR0,CLR_RAM
MOVP1,0FFH;
INIT
MOVP2,0FFH
MOVP0,0FFH
MOVP3,0FFH
MOVTMOD,#21h
MOVTH0,#240;
T0=4MS
MOVTL0,#96
SETBTR0
SETBET0
SETBEA
WAIT_KEY:
JBKEY,$;
等候按键!
JNBSW1,SW1_OK
JNBSW2,SW2_OK
JNBSW3,SW3_OK
JNBSW4,SW4_OK
JNBSW5,SW5_OKA
JNBSW6,SW6_OKA
JMPWAIT_KEY
SW5_OKA:
JMPSW5_OK
SW6_OKA:
JMPSW6_OK
SW1_OK:
MOVA,HOR
CJNEA,#24,SW1_OVER
MOVHOR,#00H
SETBF_BEEP
CLRBEEP
LCALLDEL
SETBBEEP
CLRF_BEEP
SW1_OVER:
INCHOR;
时加1
SETBF_BEEP
SW2_OK:
CJNEA,#00,SW2_OVER
MOVHOR,#23
SW2_OVER:
DECHOR;
时减1
SW3_OK:
MOVA,MIN
CJNEA,#59,SW3_OVER
MOVMIN,#00H
SW3_OVER:
INCMIN;
分加1
SW4_OK:
CJNEA,#00,SW4_OVER
MOVMIN,#59
SW4_OVER:
DECMIN;
分减1
SW5_OK:
MOVA,SEC
CJNEA,#59,SW5_OVER
MOVSEC,#00H
SW5_OVER:
INCSEC;
秒加1
SW6_OK:
CJNEA,#00,SW6_OVER
MOVHOR,#59
SW6_OVER:
DECSEC;
DEL:
MOVR5,#02;
为演示方便,人为插入的延时
DEL01:
MOVR6,#200
DEL02:
MOVR7,#200
DJNZR7,$
DJNZR6,DEL02
DJNZR5,DEL01
RET
BIN_BCD:
MOVB,#10
DIVAB
;
-------------T0INTRRUPT数码管扫描定时中断---------------------------
T0_INT:
PUSHACC
PUSHPSW
INCBUFF_LED_LP
MOVA,BUFF_LED_LP
CJNEA,#250,CONT_SCAN;
250*4MS=1S
MOVBUFF_LED_LP,#00H
INCSEC
CJNEA,#60,CONT_SCAN
INCMIN
INCHOR
CJNEA,#24,CONT_SCAN
clrbeep
clrp1.0
lcalldel
setbbeep
setbp1.0
CONT_SCAN:
MOVA,SEC
LCALLBIN_BCD
MOVBUFF_LED6,B
MOVBUFF_LED5,A
MOVBUFF_LED4,B
MOVBUFF_LED3,A
MOVBUFF_LED2,B
MOVBUFF_LED1,A
MOVB,#06
MOVA,B
RLA
MOVDPTR,#TAB_SCAN
JMP@A+DPTR
TAB_SCAN:
AJMPSCAN_L1
AJMPSCAN_L2
AJMPSCAN_L3
AJMPSCAN_L4
AJMPSCAN_L5
AJMPSCAN_L6
SCAN_L1:
MOVDIG_PORT,#01111111B
MOVA,BUFF_LED1
JMPEND_SCAN
SCAN_L2:
MOVDIG_PORT,#10111111B
MOVA,BUFF_LED2
SCAN_L3:
MOVDIG_PORT,#11011111B
MOVA,BUFF_LED3
SCAN_L4:
MOVDIG_PORT,#11101111B
MOVA,BUFF_LED4
SCAN_L5:
MOVDIG_PORT,#11110111B
MOVA,BUFF_LED5
SCAN_L6:
MOVDIG_PORT,#11111011B
MOVA,BUFF_LED6
END_SCAN:
MOVDPTR,#TAB_LED
MOVCA,@A+DPTR
MOVLED_PORT,A
JNBF_BEEP,EXIT_T0
EXIT_T0:
POPPSW
POPACC
RETI
TAB_LED:
DB0C0H,0F9H,0A4H,0B0H,99H,92H;
数码管显示字型表
DB82H,0F8H,80H,90H,88H,83H,0A7H
DB0A1H,86H,8EH
END
实验中6位数码管,分别为小时的十位,个位.分钟的十位,个位.秒的十位,个位.6个键盘分别对时秒分进行加一或减一.P0口控制数码管的ABCDEFGDP.P2.2--P2.7分别为数码管123456的驱动脚.P2.2为SW1P2.3为SW2,P2.4为SW3,P2.5为SW4,P2.6为SW5,P2.7为SW6.LED共阳极相连,低电平亮.BUFF_KEYEQU21H;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 时钟 设计 报告 免费