多功能计时器湖南大学资料.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计 多功能计时装置 专 业:电气工程及其自动化 班 级: 电自1109 姓 名: Liu Yue 学 号: 20110901227 同组成员: LuJ ia 指导老师: 王亚 2014年6月 目录 1 任务及设计要求 2 1.1 设计任务 2 1.2 附加实现功能 2 2 系统原理框图 3 3 硬件原理图 3 3.1 元件清单 4 3.2 ADUC848管脚图 4 3.3 电源模块 4 3.4 数码管 5 3.5 RS232串口 6 3.6 IIC总线(RTC时钟和EEPROM) 6 3.7 蜂鸣器 7 3.8 按键输入 7 4 源程序及注解 8 4.1 源程序 8 4.1.1 主程序部分: 8 4.1.2 键盘扫描部分程序(keypp.h): 33 4.1.3 总线部分程序(iic.h): 37 4.2 相关程序流程图 42 5 使用说明书 45 5.1 显示北京时间 45 5.2 用于正计时,并可连续取多组数值(最多十组) 45 5.3 用于倒计时 46 5.4 设置北京时间 46 5.5 闹钟设置 47 5.6 按键说明: 48 6 心得体会 48 任务及设计要求 设计任务 选择LED显示,可显示年、月、日、时、分、秒、星期、农历日期、节日、节气等(根据实际情况,选择部分或全部功能实现) 会使用实时钟芯片DS1307 选择蜂鸣器电路,实现闹钟设置和报警功能 选择按键功能,设计实现时钟校正功能 整点报时功能 上电或RESET后能自动显示当前时间(时:分:秒):首次上电复位显示0时0分0秒,以后每次RESET均显示正确的当前时间 附加实现功能 可以显示0.1~100s的秒表,最小单位为0.1秒 通过按键控制秒表清零、暂停、继续、退出等功能 秒表可以分组存储(最多10组),批量显示 具有倒计时功能 系统原理框图 硬件原理图 元件清单 ADUC848芯片、电源、数码管、RS232串口、IIC总线(RTC时钟和EEPROM)、蜂鸣器、按键输入 ADUC848管脚图 ADUC848管脚图如图2所示。 图2 ADUC848管脚 电源模块 电源模块原理图如图3所示。 图3 电源模块 数码管 该模块原理如图4所示。 图4 数码管驱动电路 RS232串口 串口连接原理图如图5所示。 图5 RS232串口模块 IIC总线(RTC时钟和EEPROM) DS1307时钟芯片和IIC总线原理如图6 图6 DS1307时钟芯片和IIC总线原理如图5 蜂鸣器 该模块原理图如图7所示。 图7 蜂鸣器 按键输入 该模块原理如图8所示。 图8 按键模块 源程序及注解 源程序 主程序部分: //============================================================================ //头文件、宏定义、变量定义、函数声明等 #includeaduc848.h #includekeypp.h #includeiic.h #define uchar unsigned char #define uint unsigned int unsigned char b[7]={49,59,23,3,28,2,14},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 unsigned char tab2[]={0x39,0xff}; // 闹钟示意 、全灭代码 void delay(unsigned int cnt); void kaishizhong(); void display(uchar bit7,uchar bit6,uchar bit5,uchar bit4,uchar bit3,uchar bit2,uchar bit1,uchar bit0); void ReadTime( uchar []); void SetTime( uchar [] ); unsigned char TIME[7]; uchar tt; uchar dis_num_h; uchar dis_num_l; uchar dis_min_h; uchar dis_min_l; uchar dis_sec_h; uchar dis_sec

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档