- 用定时器中断写时钟加调节
1)关闭蜂鸣器、继电器等无关外设;
2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒。
A.时间显示格式
2 3 - 5 9 - 5 0
23 时 间隔 59 分 间隔 50 秒
B.按键功能
1) 按键 S7 定义为“时钟设置”按键,通过该按键可切换选择待调整的时、分、 秒,
当前选择的显示单元以 1 秒为间隔亮灭,时、分、秒的调整需注意数据边界
属性。
2) 按键 S6 定义为“闹钟设置”按键,通过该按键可进入闹钟时间设置功能,数码
管显示当前设定的闹钟时间。
3) 按键 S5 定义为“加”按键,在“时钟设置”或“闹钟设置”状态下,每次按下该按 键
当前选择的单元(时、分或秒)增加 1 个单位。 4) 按键 S4 定义为“减”按键,在“时钟设置”或“闹钟设置”状态下,每次按下该按
键当前选择的单元(时、分或秒)减少 1 个单位。
#include <stc15f2k60s2.h>
#include <intrins.h>
unsigned char code abile[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//¹²Ñô¼«Êý×é
unsigned char display[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char code nao[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char miao=50,fen=59,shi=23,m,n,p,a,nmiao=0,nfen=0,nshi=0;
void Delay1ms();
void duanxuan();
void weixuan();
void Timer0Init();
void Timer1Init();
void naolin();
void shizhongshezhi();
void naozhongshezhi();
void Timer1Init();
void jia();
void jian();
sbit S7=P3^0;
sbit S6=P3^1;
sbit S5=P3^2;
sbit S4=P3^3;
int qq;
void main()
{
P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;
while(1)
{
Timer0Init();