- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE27 / NUMPAGES27 单片机课程设计 题目:多功能定时装置 日期:2011年6月 设计要求: 1)选择LED或LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日、节气等 (根据实际情况,选择部分或全部功能实现) 2)会使用实时钟芯片 3)选择蜂鸣器电路,实现闹钟设置和报警功能 4)选择按键功能,设计实现时钟校正功能 5)整点报时功能 6)上电或RESET后能自动显示当前时间(时:分:秒):首次上电复位显示0时0分0秒,以后每次RESET均显示正确的当前时间 附加实现功能: 1)可以显示0.1—100s的秒表,最小单位为0.1秒 2)通过按键控制秒表清零、暂停、继续、退出等功能 3)秒表可以分组存储(最多10组),批量显示 4)具有倒计时功能 所使用的硬件 ADUC848管脚图 ADUC848管脚图如图1所示。 图1 ADUC848管脚 2. 电源模块 电源模块原理图如图2所示。 图2 电源模块 3. 数码管 该模块原理如图3所示。 图3 数码管驱动电路 4. RS232串口 串口连接原理图如图4所示。 图4 RS232串口模块 5. 蜂鸣器 该模块原理图如图5所示。 图5 蜂鸣器 6. 按键输入 该模块原理如图6所示。 图6 按键模块 程序流程图 1)主流程图如图8所示: 当前时间是否等于闹钟设置时间 en=0x55?(无键)或en=0x80?(无效键) 开始 读取当前时间 读取键值,键值为en 开启闹钟 Y N Y en=1? en=2? en=3? en=4? en=8? en=9? en=13? en=14? 显示年月日星期 显示时分秒 秒表正计时子程序 秒表倒计时子程序 显示正计时的记录值 设置北京时间 关闹钟1 设置闹钟1 en=0? 设置闹钟2 继续当前显示 闹钟1开? 开闹钟1 en=13? 关闹钟2 闹钟2开? 开闹钟2 Y Y Y Y Y Y Y Y Y Y Y N N N N N N N N N N N 图8 主程序流程图 2)秒表正计时子程序流程图如图9所示: 正计时子程序 启动定时器 扫描键值,键值等于5? 扫描键值,键值等于6? 扫描键值,键值等于7? 返回 是否记录了十组值? 记录当前时间 显示当前时间 Y N Y Y Y N N N Y 图9 秒表正计时流程图 秒表倒计时子程序 输入时间初值 启动定时器 蜂鸣报警,关定时器 返回 扫描键值,键值等于5? 当前时间等于0? Y N Y N 显示当前时间 3)秒表倒计时子程序流程图如图10所示 图10 秒表倒计时流程图 程序 1. 主程序(miao_biao.c)如下: #includeaduc848.h #includekeypp.h #includeiic.h #define uchar unsigned char #define uint unsigned int unsigned char b[7]={45,59,11,2,7,6,11},clock1[2]={12,0},clock2[2]={12,1}; code unsigned char tab[]= {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x19,0x00}; //共阴数码管 0-9 显示 code unsignedchar tab2[]={0x39,0xff}; // 、全灭 void delay(unsigned int cnt); //延时子程序 unsigned char getkey1(); unsigned char getkey2(); //读键盘 void tim(void); //中断 void KeyDelay(unsigned int KeyJsTime); //键盘扫描延时 void display(uchar bit7,uchar bit6,uchar bit5,uchar bit4, uchar bit3,uchar bit2,uchar bit1,uchar bit0); //显示子程序 void ReadTime(unsigned char TIME[7]); //DS1307读时间 void SetTime(unsigned char TIME[7]); //设置时间初值 void SwitchRTC(unsigned char SWITCH); void iicdelay(unsigned int times); void iicstart(void); void ii
您可能关注的文档
最近下载
- 基层煤矿党支部书记个人工作总结.docx VIP
- 保安员资格考试100题(含答案).pdf VIP
- 土方外运施工方案.docx VIP
- 基坑支护内支撑梁拆除施工方案.docx VIP
- 必威体育精装版人教版一年级上册《数学游戏》课件(整套)教学PPT(2024年秋-新教材).pptx VIP
- 必威体育精装版人教版一年级数学上册《数学游戏》教学课件(整套)PPT(2024秋-新教材).pptx VIP
- GBT6058-2005 纤维缠绕压力容器制备和内压试验方法.pdf
- GB╱T 23711.1-2009 氟塑料衬里压力容器电火花试验方法.pdf
- 7m焦炉推焦车的结构特征.pdf
- 研发领料单模板.docx VIP
文档评论(0)