单片机课程设计之60度全方位无差别无死角立体式最终版.docxVIP

单片机课程设计之60度全方位无差别无死角立体式最终版.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计之60度全方位无差别无死角立体式最终版

PAGE1 / NUMPAGES16 单片机课程设计报告 ——带蜂鸣器闹钟的七段数码时间显示表 专业:通信工程 指导老师:陈麟 小组成员:任浩然 季平 王慧丽 马元 索引 一.前言…………………………………………….3 二.设计功能……………………………………….3 三.电路原理图的组成部分……………………3 四.设计过程(附图片)………………………….4 五.程序代码………………………………………..6 六.问题及解决……………………………………15 七.设计分工………………………………………16 八.总结与感想……………………………………16 前言: 这个学期我们学习了《单片机原理及接口技术》这门课,由于这门课对实践操作能力有更高的要求,所以陈老师在开课的时候就告诉我们考察的方式将以小组完成设计来呈现。这次小组设计的过程,不仅仅是对我们所学习单片机的知识的检验,教会我们如何从理论到实践,更培养了我们如何计划一件事情,如何合作完成一件事情的能力。在整个设计过程中,大家分工设计,相互探讨,相互监督,学会了互相合作,互相宽容,学会了互相理解,在经历了几个晚上的努力,我们终于完成了我们最后的设计。 设计功能: 一个带有蜂鸣器闹钟的七段数码时间显示表 电路原理图的组成部分:(从左往右,从上往下) USB:供电 1117-3.3:变压器(把5V电压转化为3.3V) LED灯:检测是否通电(没有用)(两个) 蜂鸣器:闹钟提醒(一个) Header10X2:程序输入端口 NRST:电路板复位(恢复出厂设置) LED灯:装饰(闹钟响的时候亮)(四个) 开关:S1:切换闹钟,时间,星期 S2:设置时切换前两位和后两位 S3;改变数值 S4:关屏显屏 PCF8563:时钟芯片 STM32F103:单片机 七段数码管(四位) 程序实现软件: Keil: 编写程序 Alitum: 电路板的实现 设计过程: 电路原理图 电路板软件图正面 完成后的实体电路板正面 电路板软件图背面 完成后的实体电路板背面 焊好CPU后的板 程序实现(部分主程序) #includestm32f10x.h #includePCF8563.h #includeBasic_configuration.h #includeDigital_tube.h #define time 1 #define alarm 2 void normal_show(void); void min_flicker(int time_alarm); void hur_flicker(int time_alarm); void time_menu(void); void alarm_show(void); void alarm_open(void); void alarm_menu(void); static u32 RTC_VAR_Hour=12,RTC_VAR_Minute=0;//实时时钟小时和分钟静态变量 static u32 Alarm_VAR_Hour=12,Alarm_VAR_Minute=1;//闹铃小时和分钟静态变量 int function_var=1;//按键功能变量 1代表function 2代表minute_hour_select 3代表screen_off 4代表alarm u8 bit_sel=0,temporary_min,temporary_hou,menu=1,temporary_min_1,temporary_hou_1; static u16 RTC_VAR_SEC=0; int flag=0,flag_1=0,distance_hou=0,distance_min=0,alarm_flag=0; int main() { gpio_configuration(); RTC_configuration(); GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15); NVIC_EnableIRQ(EXTI9_5_IRQn); NVIC_EnableIRQ(EXTI15_10_IRQn); //EXTI_GenerateSWInterrupt(EXTI_Line8); while (1) { time_menu(); } } void RTC_IRQHandler() { RTC_VAR_SEC++; if(RTC_VAR_SEC59) { RTC_VAR_Minute++; if((RTC_VAR_Minute==Alarm_VAR_Minute)(RTC_VAR_Hour==Alarm_VAR_Hour)) a

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档