- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM8单片机课程设计报告(闹钟定时器).doc
课程设计p、j容与要求
课程设计目的:
1、 巩固和加深对单片机原理知识的理解和运用。
2、 进一步提高学生综合运用所学知识的能力。
3、 培养学生综合分析问题、发现问题和解决问题的能力
基本要求:
显示时间和曰期
可设置多个闹钟
可以调整时间
扩展功能:
按键复用共有六个按键,每个按键在不同模式下有不同的功能。
秒表功能进入秒表界面后,再按一下就秒表开始计时,再按一下秒表停止。
省电模式在每天00:00会自动进入省电模式,8个数码管会自动关闭,至U 5:00吋 会自动退出省电模式;也可以手动进入和退出省电模式。
查看/删除闹钟查看闹钟时间为五秒,五秒内按键无动作则自动退出。
器件介绍
本次设计主要用到的硬件有:
1、 51实验板1块
2、 s tm8sl05c6 开发板 1 快
51实验板:
主要用到实验板上的硬件有:
两个四位一体的共阴LED数码管,电路图如下:
-7620 0114300
2 )两个74HC573的锁存芯片:
3) 8个独立按键,用了其中6个
1 5906753429 0
—个蜂鸣器:
Stm 8sl05c6 开发板:
总共有48个引脚,本设计共用引脚20个引脚。PB0?PB7和PE6?PE7用于数码管显示 控制,PD 0?PD5用于键盘输入,PD6、PE0、PE3用于LED指示灯控制。PD7用于蜂鸣器 控制。
设汁方案
本次设计采川51实验板和stm8sl05 c6开发板来完成,没有做实物。显示电路采用8
个共阳数码管显示;控制按键采用六个独立按键,每一个按键都有复用功能;闹钟提醒采 用蜂鸣器;外加四个不同颜色的LED发光二极管,当进入相应功能模式时对应的指示灯就 会亮。
噓设计:
噓设计:
在键盘电路屮,使用的是6个独立键盘。键盘在源程序屮的功能安排如下:
1) 当扫描到有键盘按下时,设罝相应标志位,然后延时一定时间消抖。
2) 键盘的设置键盘表面如图:
t
TOC \o 1-5 \h \z — Ok —?
[ Esc
HYPERLINK \l bookmark7 \o Current Document \h 其中各键设罝为: | | |
(待机状态:正常的时间显示模式)
| 待机状态下是“设置闹钟”,在其他模式下是“递增功能” j 待机状态下是“调整时间”,在其他模式下是“递减功能”。
机状态下是“秒表功能”,在其他模式下是“左移功能”。
待桃状态下是“查看/删除闹钟”,在其他模式下是“右移功能”
0K待机状态下是“切换显示”,在省电模式下是“退出功能”,在其他模式下是“确认功
能”
Esc 待机状态下是“省电模式”,在查看/删除闹钟模式下是“删除功能”,在其他模式
下是“退出功能”
2、 数码管显示:采用按位扫描的动态显示方式。
3、 其他设计:
定时器使用stm 8sl05c6屮的T im2定时器,每lm s产生一次溢出屮断。
闹铃响的时间为15秒。
查看/删除闹钟模式下,5s内键盘无动作则自动退出。
每次按键按下后,会延时240 ms,此时间内不会再对键盘进行扫描。
在每天00:00会自动进入省电模式,8个数码管会自动关闭,到5:00时会自动退出省
电模式;也可以手动进入和退出省电模式。
4、 设计思路:
开始
初始化引脚和Tim2定时器
5、以下是部分程序:
//
木氺木氺本氺木木木木木木木木
标志位
木木木木氺氺氺木氺本氺本
//
Bool off;//省电模式
Bo ol tab;//切换显示模
Bool run;//控制秒表
Bool lef t;//左移
Boo I right;//右移
Bool se t;//设置闹钟
B ool adjust;//调整时间
Bo ol ok;//确定
Bool esc;//取消或删除
Bo ol duan @P E_ODR:7;//PE6 作为段锁存 Bool wei @PE_ODR:6;//PE7 作为位锁存 Bool se t_c @PE_OD R:3;
Bool adjust_t @PE_ODR:0;
Bool check _clock @PD _ODR:6; Bo ol c_alarm @PD_ODR:7 ;
//*
本******本*本******#g%$i*本** ******本*木**本**
*//
unsig ned charm onth_day[]={31,28,31,30,31,30,31,31,30,3 1,30,31}; u nsigned ch ar wei_ma[]={0xfe,0x fdOxfbOx f7,0xef,0x df,0xbf,0x 7f};//显示位码 unsigned c har duan_m a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x
文档评论(0)