用 C语言 编写一个 整点声音报时时钟:

用 C语言 编写一个 整点声音报时时钟:,第1张

(1)用数字逻辑集成块实现;

(2)时间以24小时为一个周期,显示时、分、秒;

(3)计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;

(4)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。

c51单片机 晶振为110592MHz

#include<reg52h>

#define HOUR1 1

#define HOUR0 0

#define MIN1 2

#define MIN0 8

#define SEC1 2

#define SEC0 0

#define uint unsigned int

#define ulint unsigned long int

#define uchar unsigned char

sbit dula=P2^6;

sbit wela=P2^7;

sbit beep=P2^3;

int i;

ulint

sharp,second,count=0,sec0=SEC0,sec1=SEC1,min0=MIN0,min1=MIN1,hour0=HOUR0,hour1=HOUR1;//秒计数全局变量

uchar code segment[]=;

uchar code time[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f};

void delay(uint);//程序毫秒延时

void beeper(uchar);//开蜂鸣器毫秒

void init();//初始化函数

void display();//从数码管上显示

void counter();//计算进行过程中的时、分、秒值

void scan();//扫描键盘

void main()

{

init();

while(1)

{

scan();//扫描键盘看是否有键按下

for(i=6;i>0;i--)//动态扫描6位数码管

{

display();//显示时、分、秒

}

}

}

void init()

{

second=hour136000+hour03600+min1600+min060+sec110+sec0;

TMOD=0x01;

TH0=(65536-46080)/256;

TL0=(65536-46080)%256;

EA=1;

ET0=1;

TR0=1;

}

void delay(uint z)//程序毫秒延时

{

uint x=0,y=0;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void timer0() interrupt 1

{

TH0=(65536-46080)/256;

TL0=(65536-46080)%256;

count++;

if(count==20)//判断是否到1秒

{

counter();//计算进行过程中的时、分、秒值

if(sharp!=hour0) beeper(1000);//判断小时的值是否改变,变则启动蜂鸣器

}

}

void beeper(uchar tt)

{

uchar t=tt;

count=0;

beep=0;//开蜂鸣器

delay(t);

beep=1;//关蜂鸣器

}

void display()

{

P0=0xff;//位消影(低电平选择位)

//送位选信号

wela=1;

P0=segment[i-1];

wela=0;

P0=0x00;//段消影(高电平选择段)

//送段选信号

dula=1;

switch(i)

{

case 6 : P0=time[sec0]; break;

case 5 : P0=time[sec1]; break;

case 4 : P0=time[min0]; break;

case 3 : P0=time[min1]; break;

case 2 : P0=time[hour0]; break;

case 1 : P0=time[hour1]; break;

}

delay(1);

P0=0x00; //配合上面用于消隐

dula=0;

}

void counter()

{

second++;

if(second==86400) second=0;

count=0;

sharp=hour0;//设置报时检测KEY

sec0=second%10;

sec1=(second%60-sec0)/10;

min0=((second%3600-sec110-sec0)/60)%10;

min1=((second%3600-sec110-sec0)/60-min0)/10;

hour0=(second%36000-min1600-min060-sec110-sec0)/3600;

hour1=second/36000;

}

void scan()

{

}

另外,团IDC网上有许多产品团购,便宜有口碑

以苹果手机iphone4 为例整点报时设置如下:

1、设置小时提醒功能是在手机中设置提醒事项来设置完成了,首先,我们在电话屏幕上打开提醒图标。

2、然后点触右上角的小+号。

3、新建一个“整点提醒”。

4、列表,点完成。

5、在这个新建的列表中点小“+”号,新建一个提醒事项,输入“1点报时”。

6、再点开小感叹号。

7、划动“在指定日期提醒我”,使其生效,在提醒时间上选1点。

8、在重复项上选择“每天”,设置余额,然后单击“完成”。

9、这样,每小时便会设置一次提醒,在相同的步骤中,我们依次设置了0-24小时提醒,以完成每小时自动提醒。

以上就是关于用 C语言 编写一个 整点声音报时时钟:全部的内容,包括:用 C语言 编写一个 整点声音报时时钟:、整点报时怎么设置、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9858680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存