多功能定时装置.doc

多功能定时装置.doc

ID:59210649

大小:394.50 KB

页数:26页

时间:2020-09-10

多功能定时装置.doc_第1页
多功能定时装置.doc_第2页
多功能定时装置.doc_第3页
多功能定时装置.doc_第4页
多功能定时装置.doc_第5页
资源描述:

《多功能定时装置.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机课程设计题目:多功能定时装置日期:2011年6月一、设计要求:1)选择LED或LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日、节气等(根据实际情况,选择部分或全部功能实现)2)会使用实时钟芯片3)选择蜂鸣器电路,实现闹钟设置和报警功能4)选择按键功能,设计实现时钟校正功能5)整点报时功能6)上电或RESET后能自动显示当前时间(时:分:秒):首次上电复位显示0时0分0秒,以后每次RESET均显示正确的当前时间附加实现功能:1)可以显示0.1—100s的秒表,最小单位为0.1秒2)通过按键控制秒表清零、暂停、继续、退出等功能3)秒表

2、可以分组存储(最多10组),批量显示4)具有倒计时功能二、所使用的硬件1.ADUC848管脚图ADUC848管脚图如图1所示。图1ADUC848管脚2.电源模块电源模块原理图如图2所示。图2电源模块3.数码管该模块原理如图3所示。图3数码管驱动电路4.RS232串口串口连接原理图如图4所示。图4RS232串口模块5.蜂鸣器该模块原理图如图5所示。图5蜂鸣器6.按键输入该模块原理如图6所示。图6按键模块一、程序流程图1)主流程图如图8所示:当前时间是否等于闹钟设置时间en=0x55?(无键)或en=0x80?(无效键)开始读取当前时间读取键值,键值为en

3、开启闹钟YNYen=1?en=2?en=3?en=4?en=8?en=9?en=13?en=14?显示年月日星期显示时分秒秒表正计时子程序秒表倒计时子程序显示正计时的记录值设置北京时间关闹钟1设置闹钟1en=0?设置闹钟2继续当前显示闹钟1开?开闹钟1en=13?关闹钟2闹钟2开?开闹钟2YYYYYYYYYYYNNNNNNNNNNN图8主程序流程图2)秒表正计时子程序流程图如图9所示:正计时子程序启动定时器扫描键值,键值等于5?扫描键值,键值等于6?扫描键值,键值等于7?返回是否记录了十组值?记录当前时间显示当前时间YNYYYNNNY图9秒表正计时流程

4、图秒表倒计时子程序输入时间初值启动定时器蜂鸣报警,关定时器返回扫描键值,键值等于5?当前时间等于0?YNYN显示当前时间3)秒表倒计时子程序流程图如图10所示图10秒表倒计时流程图一、程序1.主程序(miao_biao.c)如下:#include#include"keypp.h"#include"iic.h"#defineucharunsignedchar#defineuintunsignedintunsignedcharb[7]={45,59,11,2,7,6,11},clock1[2]={12,0},clock2[2]={12

5、,1};codeunsignedchartab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x19,0x00};//共阴数码管0-9显示codeunsignedchartab2[]={0x39,0xff};//、全灭voiddelay(unsignedintcnt);//延时子程序unsignedchargetkey1();unsignedchargetkey2();//读键盘voidtim(void);//中断voidKeyDelay(unsignedintKeyJsTime);//键盘扫描延时v

6、oiddisplay(ucharbit7,ucharbit6,ucharbit5,ucharbit4,ucharbit3,ucharbit2,ucharbit1,ucharbit0);//显示子程序voidReadTime(unsignedcharTIME[7]);//DS1307读时间voidSetTime(unsignedcharTIME[7]);//设置时间初值voidSwitchRTC(unsignedcharSWITCH);voidiicdelay(unsignedinttimes);voidiicstart(void);voidiicsto

7、p(void);voidiicack(void);bitiicreadack();voidiicnack();voidiicwriteda(unsignedcharda);unsignedchariicreadda();voidiicdelay(unsignedintt);uchardis_num_h;//显示记录数据的组别十位uchardis_num_l;//显示记录数据的组别个位uchardis_min_h;//要显示的分的十位;uchardis_min_l;//要显示的分的个位;uchardis_sec_h;//要显示的秒的十位;uchardis

8、_sec_l;//要显示的秒的个位;uchardis_dsec;//要显示的0.1秒;ucha

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。