我是使用独立键盘控制,7位数码管显示来完成的数字时钟的显示部分,用蜂鸣器部分来完成声音的控制。
首先我是使用中断来完成该项目的时间调控和时间进位,并且在中断之中加入了声音调控的功能,与此同时,程序还一直保持着对于主屏幕界面的刷新,以此来确保数码管上时间的正确显示,在中断之中加入了对于时间的判断,如果时间到达了7点和17点的时候,蜂鸣器会响起并且持续5秒钟,我还设计了为了能够看的更加清除的标志位,用来查清现在在哪个数码管上,并且能够做出相应的修改动作。
在本次项目中使用了51单片机的独立按键,7位数码管以及蜂鸣器,使用了P0端口,P1端口,P2端口以及P3^0端口。
在这里插入代码片
/**********************************************************************************************
name: 钱家宝
class: 苏嵌170
project: 闹钟
description: 利用定时器0实现时钟功能,用数码管显示时、分、秒,可定位修改,用蜂鸣器控制声音
************************************************************************************************/
#include <reg51.h>
unsigned char code Seg_Code[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsigned char code Bit_Code[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf