时钟编程(时钟编程制作过程)

2023-12-20 08:38:51 数码极客 bianji01

 

单片机C语言实验电脑时钟编程

#include

#include

#include

#definePI3.1415926

//屏幕中心的坐标(640X480模式下)

#definemid_x320

#definemid_y240

intmain()

{intgraphdriver=DETECT,graphmode;

intend_x,end_y;

structtimecurtime;

floatth_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屏幕,即返回文本方式

return0;

求一个简单的单片机时钟程序

#include

#defineucharunsignedchar

ucharcodeledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9

unsignedcharsec=0,min=0,hour=0,scanled;

unsignedcharkey,time;

unsignedchardisdat[6];

sbitK=P1^0;

voiddischg()

disdat[0]=sec%10;

disdat[1]=sec/10;

disdat[2]=min%10;

disdat[3]=min/10;

disdat[4]=hour%10;

disdat[5]=hour/10;

voidt0isr()interrupt1//秒计时

TR0=0;

TH0=0x3c;

TL0=0xb0;

TR0=1;

time++;

if(time==20)

time=0;

sec++;

if(sec>59)

sec=0;

min++;

if(min>59)

min=0;

hour++;

if(hour>23)hour=0;

dischg();

voidt1isr()interrupt3//显示

TH1=0xec;

TL1=0x78;

switch(scanled)

case0:

P2=0x01;

P0=~ledtab[disdat[5]];

break;

case1:

P2=0x02;

P0=~ledtab[disdat[4]]&0x7f;

break;

case2:

P2=0x04;

P0=~ledtab[disdat[3]];

break;

case3:

P2=0x08;

P0=~ledtab[disdat[2]]&0x7f;

break;

case4:

P2=0x10;

P0=~ledtab[disdat[1]];

break;

case5:

P2=0x20;

P0=~ledtab[disdat[0]];

break;

default:break;

scanled++;

scanled%=6;

main()

TMOD=0x11;

TH0=0x3c;

TL0=0xb0;

TH1=0xec;

TL1=0x78;

EA=1;

TR1=1;

ET0=1;

ET1=1;

sec=0;

min=0;

hour=0;

scanled=0;

time=0;

key=0;

dischg();

while(1)

if(K==0)

while(K==0);

key++;

key%=2;

switch(key)

case0:

TR0=1;

break;

case1:

TR0=0;

break;

你可以把电路也给我吗?

C++\编写一个时钟程序,模拟数字时钟的显示。

用C++设计一个Clock时钟类程序

内容无所谓,,

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告