资源描述:
《stm8单片机课程设计报告(闹钟定时器)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计p、j容与要求课程设计目的:1、巩固和加深对单片机原理知识的理解和运用。2、进一步提高学生综合运用所学知识的能力。3、培养学生综合分析问题、发现问题和解决问题的能力基本要求:1.显示时间和曰期2.可设置多个闹钟3.可以调整时间扩展功能:1.按键复用共有六个按键,每个按键在不同模式下有不同的功能。2.秒表功能进入秒表界面后,再按一下就秒表开始计时,再按一下秒表停止。3.省电模式在每天00:00会自动进入省电模式,8个数码管会自动关闭,至U5:00吋会自动退出省电模式;也可以手动进入和退出省电模式。4.查看/删除闹钟查看闹钟时间为五秒,五秒内按键无动作则自动退出。器件
2、介绍本次设计主要用到的硬件有:1、51实验板1块2、stm8sl05c6开发板1快51实验板:主要用到实验板上的硬件有:1.两个四位一体的共阴LED数码管,电路图如下:-762001143002)两个74HC573的锁存芯片:3)8个独立按键,用了其中6个1590675342901.—个蜂鸣器:Stm8sl05c6开发板:总共有48个引脚,本设计共用引脚20个引脚。PB0〜PB7和PE6〜PE7用于数码管显示控制,PD0〜PD5用于键盘输入,PD6、PE0、PE3用于LED指示灯控制。PD7用于蜂鸣器控制。设汁方案本次设计采川51实验板和stm8sl05c6开发板来完成,
3、没有做实物。显示电路采用8个共阳数码管显示;控制按键采用六个独立按键,每一个按键都有复用功能;闹钟提醒采用蜂鸣器;外加四个不同颜色的LED发光二极管,当进入相应功能模式时对应的指示灯就会亮。噓设计:在键盘电路屮,使用的是6个独立键盘。键盘在源程序屮的功能安排如下:1)当扫描到有键盘按下时,设罝相应标志位,然后延时一定时间消抖。2)键盘的设置键盘表面如图:t—Ok—►[Esc其中各键设罝为:
4、
5、
6、(待机状态:正常的时间显示模式)
7、待机状态下是“设置闹钟”,在其他模式下是“递增功能”j待机状态下是“调整时间”,在其他模式下是“递减功能”。机状态下是“秒表功能”,在其他模式下是
8、“左移功能”。待桃状态下是“查看/删除闹钟”,在其他模式下是“右移功能”0K待机状态下是“切换显示”,在省电模式下是“退出功能”,在其他模式下是“确认功能”Esc待机状态下是“省电模式”,在查看/删除闹钟模式下是“删除功能”,在其他模式下是“退出功能”2、数码管显示:采用按位扫描的动态显示方式。3、其他设计:定时器使用stm8sl05c6屮的Tim2定时器,每lms产生一次溢出屮断。闹铃响的时间为15秒。查看/删除闹钟模式下,5s内键盘无动作则自动退出。每次按键按下后,会延时240ms,此时间内不会再对键盘进行扫描。在每天00:00会自动进入省电模式,8个数码管会自动关闭
9、,到5:00时会自动退出省电模式;也可以手动进入和退出省电模式。4、设计思路:开始初始化引脚和Tim2定时器5、以下是部分程序://木氺木氺本氺木木木木木木木木标志位木木木木氺氺氺木氺本氺本//Booloff;//省电模式Booltab;//切换显示模Boolrun;//控制秒表Boolleft;//左移BooIright;//右移Boolset;//设置闹钟Booladjust;//调整时间Boolok;//确定Boolesc;//取消或删除Boolduan@PE_ODR:7;//PE6作为段锁存Boolwei@PE_ODR:6;//PE7作为位锁存Boolset_c@
10、PE_ODR:3;Booladjust_t@PE_ODR:0;Boolcheck_clock@PD_ODR:6;Boolc_alarm@PD_ODR:7;//*本******本*本******#g%$i*本********本*木**本***//unsignedcharmonth_day[]={31,28,31,30,31,30,31,31,30,31,30,31};unsignedcharwei_ma[]={0xfe,0xfd'Oxfb'Oxf7,0xef,0xdf,0xbf,0x7f};//显示位码unsignedcharduan_ma[]={0x3f,0x06,0x5
11、b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};示段码//共阴极显unsignedcharsec_duan_ma[]={0xbf,0x86z0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,Oxef};unsignedcharhour_[5],minute_[5】,second_[5]={l,2,3A5};//用于秒表unsignedcharsec_time[8];//用于秒表unsignedchardocks[5][8];//可存5个闹钟信息unsignedchartimes[