- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 粮库专用防雀网.pdf VIP
- 2025年重庆辅警招聘考试题库及答案.docx VIP
- 给药的基本知识—口服给药法(护理技能课件).pptx
- 第2.1课 求职和应聘(撰写求职信和应聘书)-【中职专用】高二语文高效课堂(高教版2023·职业模块).pptx VIP
- 2025年重庆辅警招聘考试题库及答案.docx VIP
- 2024年北京师范大学海口附属学校招聘事业编制人员真题.docx VIP
- 重庆辅警考试题库及答案.doc VIP
- 重庆辅警考试题库及答案.docx VIP
- 室外离心风机箱出口自由端防雨、防护及防虫网做法示意图.pdf VIP
- 重庆邮电大学801信号与系统2009-2022年考研真题.pdf VIP
文档评论(0)