1、要求:采用51单片机设计,程序实现1秒进1功能需采用定时器实现,不要使用延时(delay函数)。第一:用六个数码管或六位一体的数码管实现时间显示。显示的格式为12.05.30第二:按扭一实现按下后秒加一的功能。 按扭二实现按下后秒减一的功能。 按扭三实现按下后进行闹钟设定的实现,例如我在晚上22.10.30设我明天早上07.10.10让峰呜器响起。我按下按扭三后就能配合使用按扭一和按扭二设好07.10.10 这个时间,第二天时钟走到07.10.10,那么蜂呜器响起。按扭四实现一个实现一个复位(清零功能)即让数码管清零到 00.00.00第三:有两个LED,其中一个LED表示上午AM的显示,另一
2、个LED表示下面PM的显示。 例如,当时间是10.10.30时,那么是上午的时间即AM 这时LED1会亮LED2会灭。 当时间是13.10.40时,那么是下午的时间即PM 这时 LED1会灭而LED2会亮一、当前时间和闹钟时间间隔显示,时间显示约4S后,显示1S闹钟时间,循环显示二、按键功能按1:选择要调整的项目:闹钟时、闹钟分、闹钟秒;当前时间时、当前时间分、当前时间秒按2:闹钟的开、关按3:+按4:-按5:确定键按6:单片机复位键:闹钟和当前时间全部清零三、显示格式为12.05.30,四、指示灯:指示灯1:AM 指示灯2:PM指示灯3:闹钟开关状态指示灯4:调整闹钟时间指示灯(如果调节闹钟
3、时该指示灯就亮,否则该灯就灭)指示灯5:调整当前时间指示灯(如果当前时间该指示灯就亮,否则该灯就灭)五、蜂鸣器声音指示。闹钟打开的时候,当前时间时=闹钟时间蜂鸣器响,否则蜂鸣器关闭#include#include#define uchar unsigned char#define uint unsigned intsbit adjust=P30;sbit onoff= P31;sbit jia= P32;sbit jian= P33;sbit confirm=P34;sbit led_am=P10;sbit led_pm= P11;sbit led_onoff=P12;sbit led_ad_
4、alarmtime= P13;sbit led_ad_nowtime=P14;sbit buzzer=P15;unsigned char scankey();unsigned char code select=0X01,0X02,0X04,0X08,0X10,0X20;unsigned char code disp=0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x90,0xC6,0xC7,0x86,0x8E ;unsigned char dispbuf6=0,0,0,0,0,0;unsigned char hour=10,minute=30,second=0;unsigned char alarmsecond=11,alarmminute=10,alarmhour=0;bit alarm;