一、 功用描绘
本工程包含矩阵键盘和数码管显现模块,一起完成一个带有闹钟功用、可以设置时刻的数字时钟。详细功用如下:
1. 数码管可以显现时十位、时个位、分十位、分个位、秒十位、秒个位。
2. 上电后,数码管显现000000,并开端每秒计时。
3. 按下按键0进入时刻设置状况。再按下按键0退出时刻设置状况,持续计时。
4. 在时刻设置状况,经过按键1来挑选设置的时刻位,在0~5之间循环挑选。
5. 在时刻设置状况,经过按键2来对当时挑选的时刻位进行加1。
6. 在计时状况下,按下按键14,进入闹钟时刻点设置状况。再按下按健15,退出闹钟设置状况。
7. 在闹钟设置状况,按下按键13挑选设置的时刻位,此刻可以按下所需求的按键序号设置对应闹钟时刻。
8. 当时时刻与所设置的时刻点匹配上了,蜂鸣器呼应5秒。
二、 渠道作用图
三、 完成进程
首要依据所需求的功用,列出工程顶层的输入输出信号列表。
咱们把工程分红四个模块,分别是数码管显现模块,矩阵键盘扫描模块,时钟计数模块,闹钟设定模块。
1.数码管显现模块
本模块完成了将时钟数据或许闹钟数据显现到七段译码器上的功用。
七段译码器引脚图:
依据七段译码器的类型共阴极或许共阳极,给予信号0或1点亮对应的led灯,一个八段数码管称为一位,多个数码管并排在一起可构成多位数码管,它们的段选(a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显现时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以假如想让数码管显现数字0,那么共阴数码管的字符编码为00111111,即;共阳数码管的字符编码为11000000。
在轮番显现进程中,每位数码管的点亮时刻为1~2ms,因为人的视觉暂留现象及发光二极管的余辉效应,虽然实际上各位数码管并非一起点亮,但只需扫描的速度足够快,给人的形象便是一组安稳的显现数据,不会有闪耀感,动态显现的作用和静态显现是相同的,可以节约很多的I/O端口,并且功耗更低。
本模块选用6个七段译码器显现闹钟小时分钟秒位,运用一个计数器不断计数0-5,每个数字代表一个七段译码器,在对应的七段译码器给予对应的字符编码,以此抵达扫描数码管显现数据的功用。
信号列表如下:
2.矩阵键盘扫描模块
本次事例万年历运用的是4×4矩阵键盘,本模块便是完成了矩阵键盘的扫描并运用以及按键消抖功用。经过行扫描法得到按下的键的方位信息。
信号列表如下:
3.时钟计数模块
本模块完成了时钟计数功用,按键1按下则进入时钟数字调理界面,此刻使用按键2来位选,按键3来调理数字,按一次按键3则加1,再次按下按键1则康复计数。
信号列表如下:
4.闹钟设定模块
本模块完成了设定闹钟时刻功用,按下按键14则进入闹钟时刻设定界面,此刻使用按键13来位选,然后按下对应的按键则设定对应的数字,按下按键15则退出闹钟设定界面,当时钟数据和闹钟数据相一起,也便是抵达设定时刻时,蜂鸣器响5s。
信号列表如下:
四、代码规划