您的位置:

c语言电子时钟源代码,数字时钟c语言程序

本文目录一览:

用C语言做数字时钟每走一秒响一次,求大神告诉源代码

“响一次”需要牵涉到图形编程中的音乐播放问题,需要自己下载图形编程相关库文件,具体实现请自己在TODO里添加播放音乐的代码

数字时钟的实现很简单,运用time.h相关函数即可

#includestdio.h

#includestdlib.h

#includetime.h

time_t oldt=-1;

struct tm *p;

bool Printdate()

{

time_t t=time(NULL);

if(t!=oldt)

{

oldt=t;

p=localtime(t);

system("cls");

printf("%d/%d/%d 周",1900+p-tm_year,1+p-tm_mon,p-tm_mday,p-tm_hour,p-tm_min,p-tm_sec); 

switch(p-tm_wday)

{

       case 1:printf("一");break;

       case 2:printf("二");break;

       case 3:printf("三");break;

       case 4:printf("四");break;

       case 5:printf("五");break;

       case 6:printf("六");break;

       case 7:printf("日");break;

 }  

printf(" %d:%02d:%02d     ", p-tm_hour, p-tm_min,  p-tm_sec);

return 1;

}

return 0;

}

main()

{

while(1)

    if(Printdate())

    {

    /*************TODO*************/

    /**For example: printf("\a");**/

    }

return 0;

}

C语言 电子时钟源代码程序 带图 谢谢 最好有注释

#include stdio.h

#include time.h

#include"stdlib.h"

#include "windows.h"

void main ()

{

while(1)

{

time_t rawtime;

struct tm * timeinfo;

time ( rawtime );

timeinfo = localtime ( rawtime );

printf ( "\007The current date/time is:\n %s", asctime (timeinfo) );

Sleep(1000);

system("cls");

}

}

求一个关于用C语言编写的电子时钟的程序,内容要有闹钟,可以调整时间

#includereg52.h

#includeabsacc.h

#includeintrins.h

#define unit unsigned int

#define uchar unsigned char

//#define HZ 12

sbit key0=P0^0; // 分钟调整

sbit key1=P0^1; // 小时调整

sbit P2_0=P2^7; //秒 指示灯

sbit MN_RXD=P3^6;

sbit MN_TXD=P3^7;

uchar data CLOCK[4]={0,0,0,12};//存放时钟时间(百分秒,秒,分,和时位)

//数码管显示表0-f 灭

uchar code TABLE[]={0xBE,0x06,0xEA,0x6E,0x56,0x7C,0xFC,0x0E,0xFE,0x7E,0x00};

//**********************************

//模拟串口发送一个字节数据 函数

//**********************************

void SendData(unsigned char senddata)

{

unsigned char i;

for(i=0;i8;i++)

{

if((senddata0x01)==0)

MN_RXD=0;

else

MN_RXD=1;

_nop_();

MN_TXD=0;

_nop_();

MN_TXD=1;

senddata=senddata1;

}

}

//**********************************

//显示程序函数

//**********************************

void display(void)

{

// unsigned int n;

uchar temp;

temp=CLOCK[1]; temp=temp%10; SendData(TABLE[temp]);

temp=CLOCK[1]; temp=temp/10; SendData(TABLE[temp]);

temp=CLOCK[2]; temp=temp%10; SendData(TABLE[temp]);

temp=CLOCK[2]; temp=temp/10; SendData(TABLE[temp]);

temp=CLOCK[3]; temp=temp%10; SendData(TABLE[temp]);

temp=CLOCK[3]; temp=temp/10; SendData(TABLE[temp]);

/*

for(n=0;n5000;n++);

for(n=0;n6;n++)

{

SendData(TABLE[10]);

}

*/

}

//**********************************

//按键控制函数

//**********************************

void keycan()

{

unsigned int n;

EA=0;

if(key0==0) // 分钟调整

{

for(n=0;n10000;n++); //延时去抖动

while(key0==0);

CLOCK[2]=CLOCK[2]+1;

if(CLOCK[2]==60) //到一时

{

CLOCK[2]=0;

}

display();

}

if(key1==0) // 小时调整

{

for(n=0;n10000;n++); //延时去抖动

while(key1==0);

CLOCK[3]=CLOCK[3]+1;

if(CLOCK[3]==24)

{

CLOCK[3]=0;

}

display();

}

EA=1;

}

//**********************************

//T0中断服务函数

//**********************************

void time0() interrupt 1 //using 1

{

TH0=0xD8; TL0=0xF0; //重置初值

// TH0=0xB1; TL0=0xE0;

//时钟处理

CLOCK[0]=CLOCK[0]+1;

}

//**********************************

//主函数

//**********************************

void main()

{

EA=1;

ET0=1;

TMOD=0x01; //T0方式1定时

TH0=0xD8; TL0=0xF0; //D8F0 定时10ms

// TH0=0xB1; TL0=0xE0; //定时 20ms

TR0=1;

for(;;)

{

if(CLOCK[0]==100) //到一秒 10ms*100

{

CLOCK[0]=0;

P2_0=~P2_0;

CLOCK[1]=CLOCK[1]+1;

if(CLOCK[1]==60) //到一分

{

CLOCK[1]=0;

CLOCK[2]=CLOCK[2]+1;

if(CLOCK[2]==60) //到一时

{

CLOCK[2]=0;

CLOCK[3]=CLOCK[3]+1;

if(CLOCK[3]==24)

{

CLOCK[3]=0;

}

}

}

display();

}

keycan();

}

}

C语言电子时钟设计

#includegraphics.h #includemath.h #includedos.h #define PI 3.1415926 //屏幕中心的坐标(640X480模式下) #define mid_x 320 #define mid_y 240 int main() { int graphdriver=DETECT,graphmode; int end_x,end_y; struct time curtime; float th_hour,th_min,th_sec; initgraph(graphdriver,graphmode,"C:\\TC2"); //初始化VGA屏幕模式 setbkcolor(BLACK); //使用黑色的背景色 while(!kbhit(0)) //若有键盘输入,则跳出,即是结束程序 { setcolor(GREEN); //把画笔设为绿色 circle(mid_x,mid_y,180); //钟的外圆 circle(mid_x,mid_y,150); //钟的内圆 circle(mid_x,mid_y,1); //画出钟的圆心 gettime(curtime); //取得系统当前时间 th_sec=(float)curtime.ti_sec*0.1047197551; //把秒针的角度化为弧度,为以后绘制时方便,下同 th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0; //分针的弧度 th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0; //时度的弧度,注意整时是12等分的,所时乘的是3.14/180*5 //计算出时针的尾的坐标(时针长70) end_x=mid_x+70*sin(th_hour); end_y=mid_y-70*cos(th_hour); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //用红色线画出时针 //计算出分针坐标(分针长110) end_x=mid_x+110*sin(th_min); end_y=mid_y-110*cos(th_min); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //用红色画出分针 end_x=mid_x+140*sin(th_sec); end_y=mid_y-140*cos(th_sec); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //同上,画出秒针,长为140 //画出钟盘上的刻度,刻度长20 line(140,240,160,240); //9点对应的大刻度 line(320,60,320,80); //12点对应的大刻度 line(500,240,480,240); //3点的刻度 line(320,420,320,400); //6点的刻度 line(410,395.7,400,378.4); //5点 line(475.7,330,458.4,320); //4点 line(475.7,150,458.4,160); //2点 line(410,84.3,400,101.6); //1点 line(230,84.3,240,101.6); //11点 line(164.3,150,181.6,160); //10点 line(164.3,330,181.6,320); //8点 line(230,395.7,240,378.4); //7点 sleep(BLUE); //这里应该是打错,停止一秒,应为sleep(1000) cleardevice(); //清除屏幕上的显示 } closegraph(); //关闭VGA屏幕,即返回文本方式 return 0; }

c语言时钟代码

#includegraphics.h /* 引入graphic.h */

#includemath.h /* 引入math.h */

#includedos.h /* 引入dos.h */

#define pi 3.1415926 /*定义pi=3.14159*/

#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;

#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;

#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) /*定义……*/

void init() /*初始化程序*/

{int i,l,x1,x2,y1,y2; /*定义……*/

setbkcolor(1); /*设置颜色*/

circle(300,240,200); /*作园*/

circle(300,240,205);

circle(300,240,5);

for(i=0;i60;i++) /*循环(算时间)*/

{if(i%5==0) l=15;

else l=5;

x1=200*cos(i*6*pi/180)+300;

y1=200*sin(i*6*pi/180)+240;

x2=(200-l)*cos(i*6*pi/180)+300;

y2=(200-l)*sin(i*6*pi/180)+240;

line(x1,y1,x2,y2);

}

}

main()

{

int x,y;

int gd=VGA,gm=2;

unsigned char h,m,s; /*定义*/

struct time t[1];

initgraph(gd,gm,"d:\\tc");

init();

setwritemode(1);

gettime(t);

h=t[0].ti_hour;

m=t[0].ti_min;

s=t[0].ti_sec; /*定义时分秒*/

setcolor(7); /*设置颜色*/

d(150,h,30);

setcolor(14);

d(170,m,6);

setcolor(4);

d(190,s,6);

while(!kbhit()) /*获取键盘相应*/

{while(t[0].ti_sec==s)

gettime(t); /*C语言中得到时间的函数*/

sound(400); /*计算时间……*/

delay(70);

sound(200);

delay(30);

nosound();

setcolor(4);

d(190,s,6);

s=t[0].ti_sec;

d(190,s,6);

if (t[0].ti_min!=m)

{

setcolor(14);

d(170,m,6);

m=t[0].ti_min;

d(170,m,6);

}

if (t[0].ti_hour!=h)

{ setcolor(7);

d(150,h,30);

h=t[0].ti_hour;

d(150,h,30);

sound(1000);

delay(240);

nosound();

delay(140);

sound(2000);

delay(240);

nosound();

}

}

getch(); /*设置空格后退出*/

closegraph();

}

具体的。。就是套用用几个函数算时间。。

不要对这种很长的东西害怕,其实大部分都是在画这个钟~

加油哦~